BE_MallUser_SetExpire.groovy 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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.api.mall.MallAdminService
  5. import com.sdtool.common.datas.ERPModule
  6. import com.sdtool.common.datas.RedisKeys
  7. import com.sdtool.common.entity.base.InvokeCallParams
  8. import com.sdtool.common.entity.base.InvokeCallResult
  9. import com.sdtool.common.entity.mall.MallUser
  10. import com.dySweetFishPlugin.redis.RedisService
  11. import com.dySweetFishPlugin.sql.dao.OperatorWait
  12. import com.dySweetFishPlugin.sql.dao.TunaService
  13. import com.dySweetFishPlugin.tool.lang.DateUtil
  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_SetExpire implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  24. @Resource
  25. TunaService tunaService
  26. @Resource
  27. JsonConvert jsonConvert
  28. @Resource
  29. RedisService redisService
  30. @Resource
  31. NoSqlKeysService keysService
  32. @Resource
  33. MallAdminService mallAdminService
  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. String expireDate = invokeData["expireDate"] as String
  61. if (StringUtils.isBlank(ids)) {
  62. return RetResult.<InvokeCallParams> errorT().retinfo("没有传入用户id")
  63. }
  64. if (StringUtils.isBlank(expireDate)) {
  65. return RetResult.<InvokeCallParams> errorT().retinfo("没有传入过期时间")
  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. String expireDate = invokeData["expireDate"] as String
  74. List<MallUser> updateList = mallAdminService.getRedisMallUserList(ids.split(","), source.supplierCode).findAll { it != null }
  75. updateList.each { mallUser ->
  76. Date newDate = DateUtil.getStartOfDay(DateUtil.asDate(expireDate, "yyyy-MM-dd"))
  77. mallUser.levelExpireDateLong = newDate.getTime()
  78. mallUser.levelExpireDate = newDate
  79. }
  80. int iData = mallDao.setMallUserExpire(updateList, source.dataSourceId, source.supplierCode)
  81. if (iData > 0) {
  82. Map<String, String> redisMap = updateList.collectEntries { [String.valueOf(it.id), jsonConvert.convertTo(it)] }
  83. redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_ERP_MALL_User, source.supplierCode), redisMap)
  84. return RetResult.<InvokeCallResult> successT()
  85. }
  86. return RetResult.<InvokeCallResult> errorT().retinfo("修改用户过期时间失败")
  87. }
  88. }