BE_MallUser_SetLevelExclude.groovy 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. import com.sdtool.business.dao.MallDao
  2. import com.sdtool.common.api.BusinessExecutor
  3. import com.sdtool.common.api.NoSqlKeysService
  4. import com.sdtool.common.datas.ERPModule
  5. import com.sdtool.common.datas.RedisKeys
  6. import com.sdtool.common.entity.base.InvokeCallParams
  7. import com.sdtool.common.entity.base.InvokeCallResult
  8. import com.sdtool.common.entity.mall.MallUser
  9. import com.sdtool.common.entity.mall.MallUserLevel
  10. import com.dySweetFishPlugin.redis.RedisService
  11. import com.dySweetFishPlugin.sql.TableIdService
  12. import com.dySweetFishPlugin.sql.dao.OperatorWait
  13. import com.dySweetFishPlugin.sql.dao.TunaService
  14. import com.sweetfish.convert.json.JsonConvert
  15. import com.sweetfish.service.RetResult
  16. import groovy.json.JsonSlurper
  17. import org.apache.commons.lang3.StringUtils
  18. import javax.annotation.Resource
  19. /**
  20. * @Author: xl Created on 2024-05-11
  21. * @Content:
  22. */
  23. class BE_MallUser_SetLevelExclude implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  24. @Resource
  25. TunaService tunaService
  26. @Resource
  27. JsonConvert jsonConvert
  28. @Resource
  29. TableIdService tableIdService
  30. @Resource
  31. RedisService redisService
  32. @Resource
  33. NoSqlKeysService keysService
  34. private MallDao mallDao
  35. @Override
  36. String scriptName() {
  37. return "商城客户-修改除此以外所有客户级别"
  38. }
  39. @Override
  40. ERPModule module() {
  41. return ERPModule.MALL_ADMIN
  42. }
  43. @Override
  44. OperatorWait getAWait(InvokeCallParams s) {
  45. return OperatorWait.ASNYC
  46. }
  47. @Override
  48. boolean needLogin(InvokeCallParams source) {
  49. return true
  50. }
  51. @Override
  52. void start(long supplierCode) {
  53. mallDao = tunaService.generate(MallDao.class)
  54. }
  55. @Override
  56. RetResult<InvokeCallParams> checkExecute(InvokeCallParams source) {
  57. JsonSlurper jsonSlurper = new JsonSlurper()
  58. def invokeData = jsonSlurper.parseText(source.params)
  59. String ids = invokeData["ids"]
  60. long idLevel = invokeData["idLevel"] as long
  61. if (StringUtils.isBlank(ids)) {
  62. return RetResult.<InvokeCallParams>errorT().retinfo("没有传入用户id")
  63. }
  64. if (idLevel <= 0) {
  65. return RetResult.<InvokeCallParams>errorT().retinfo("没有传入级别id")
  66. }
  67. return RetResult.<InvokeCallParams>successT().result(source)
  68. }
  69. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  70. JsonSlurper jsonSlurper = new JsonSlurper()
  71. def invokeData = jsonSlurper.parseText(source.params)
  72. String ids = invokeData["ids"]
  73. long idLevel = invokeData["idLevel"] as long
  74. Map<String, String> docMap = redisService.hgetAll(keysService.getRedisKey(RedisKeys.KEY_ERP_MALL_User, source.supplierCode))
  75. List<MallUser> userList = new ArrayList<>()
  76. docMap.forEach((key, value) -> userList.add(jsonConvert.convertFrom(MallUser.class, value)))
  77. List<MallUser> updateList = new ArrayList<>()
  78. userList.each {
  79. if (!("," + ids + ",").contains("," + it.id + ",")) {
  80. it.idLevel = idLevel
  81. updateList.add(it)
  82. }
  83. }
  84. int iData = mallDao.setMallUserIdLevel(userList,source.dataSourceId,source.supplierCode)
  85. if (iData > 0) {
  86. // updateList.each {
  87. // redisService.hset(keysService.getRedisKey(RedisKeys.KEY_ERP_MALL_User,source.supplierCode),
  88. // String.valueOf(it.id),jsonConvert.convertTo(it))
  89. // }
  90. Map<String, String> redisMap = updateList.collectEntries { [String.valueOf(it.id), jsonConvert.convertTo(it)] }
  91. redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_ERP_MALL_User, source.supplierCode), redisMap)
  92. return RetResult.<InvokeCallResult>successT()
  93. }
  94. return RetResult.<InvokeCallResult>errorT().retinfo("修改用户级别失败")
  95. }
  96. }