BE_MallUser_ChangePassword.groovy 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import com.sdtool.business.dao.LoginDao
  2. import com.sdtool.business.dao.MallDao
  3. import com.sdtool.common.api.BusinessExecutor
  4. import com.sdtool.common.datas.ERPModule
  5. import com.sdtool.common.entity.base.InvokeCallParams
  6. import com.sdtool.common.entity.base.InvokeCallResult
  7. import com.sdtool.common.entity.mall.MallUser
  8. import com.sdtool.common.entity.site.ERPTokenUser
  9. import com.dySweetFishPlugin.sql.dao.OperatorWait
  10. import com.dySweetFishPlugin.sql.dao.TunaService
  11. import com.dySweetFishPlugin.tool.crypto.EncryptUtil
  12. import com.sweetfish.service.RetResult
  13. import groovy.json.JsonSlurper
  14. import org.rex.RMap
  15. import javax.annotation.Resource
  16. /**
  17. * @Author: xl Created on 2024-03-27
  18. * @Content:
  19. */
  20. class BE_MallUser_ChangePassword implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  21. @Resource
  22. TunaService tunaService
  23. private MallDao mallDao
  24. private LoginDao loginDao
  25. /**
  26. * 密码盐
  27. */
  28. @Resource(name = "property.passwordSalt")
  29. private String passwordSalt
  30. @Override
  31. String scriptName() {
  32. return "购物商城-用户修改密码"
  33. }
  34. @Override
  35. ERPModule module() {
  36. return ERPModule.MALL_FRONT
  37. }
  38. @Override
  39. void start(long supplierCode) {
  40. mallDao = tunaService.generate(MallDao.class)
  41. loginDao = tunaService.generate(LoginDao.class)
  42. }
  43. @Override
  44. boolean needLogin(InvokeCallParams source) {
  45. return true
  46. }
  47. @Override
  48. OperatorWait getAWait(InvokeCallParams s) {
  49. return OperatorWait.SYNC
  50. }
  51. @Override
  52. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  53. String dataSourceId = source.dataSourceId
  54. long supplierCode = source.supplierCode
  55. ERPTokenUser currentUser = source.currentUser
  56. def jsonSlurper = new JsonSlurper()
  57. def invokeData = jsonSlurper.parseText(source.params)
  58. String newPassword = invokeData["newPassword"]
  59. String oldPassword = invokeData["oldPassword"]
  60. if (currentUser == null) {
  61. return RetResult.<InvokeCallResult> errorT().retinfo("未登录")
  62. }
  63. RMap paramMap = new RMap()
  64. String md5Password = EncryptUtil.md5Digest(oldPassword + passwordSalt)
  65. paramMap.put("id", currentUser.id)
  66. paramMap.put("loginName", currentUser.getAccount())
  67. paramMap.put("password", md5Password)
  68. MallUser destUser = loginDao.mallLogin(paramMap, dataSourceId, supplierCode)
  69. if (destUser == null) {
  70. return RetResult.<InvokeCallResult> errorT().retinfo("账号或原密码错误")
  71. }
  72. paramMap.put("newPassword", EncryptUtil.md5Digest(newPassword + passwordSalt))
  73. mallDao.editMallLoginUserPassword(paramMap, dataSourceId, supplierCode)
  74. return RetResult.<InvokeCallResult> successT().result(InvokeCallResult.success())
  75. }
  76. }