BE_UpdatePrinterClient.groovy 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import com.dySweetFishPlugin.redis.RedisService
  2. import com.dySweetFishPlugin.sql.TableIdService
  3. import com.dySweetFishPlugin.sql.dao.TunaService
  4. import com.sweetfish.convert.json.JsonConvert
  5. import com.sweetfish.service.RetResult
  6. import com.yinjie.printerAuthorize.business.dao.PrintersDao
  7. import com.yinjie.printerAuthorize.common.api.BusinessExecutor
  8. import com.yinjie.printerAuthorize.common.api.NoSqlKeysService
  9. import com.yinjie.printerAuthorize.common.api.printersAuthorize.AuthorizationService
  10. import com.yinjie.printerAuthorize.common.datas.ERPModule
  11. import com.yinjie.printerAuthorize.common.datas.RedisKeys
  12. import com.yinjie.printerAuthorize.common.entity.base.InvokeCallParams
  13. import com.yinjie.printerAuthorize.common.entity.base.InvokeCallResult
  14. import com.yinjie.printerAuthorize.common.entity.printers.PrinterClient
  15. import org.apache.commons.lang3.StringUtils
  16. import org.apache.logging.log4j.LogManager
  17. import org.apache.logging.log4j.Logger
  18. import javax.annotation.Resource
  19. class BE_UpdatePrinterClient implements BusinessExecutor<InvokeCallParams, InvokeCallResult> {
  20. private final Logger logger = LogManager.getLogger(this.getClass().getSimpleName())
  21. @Resource
  22. private JsonConvert jsonConvert
  23. @Resource
  24. private RedisService redisService
  25. @Resource
  26. private NoSqlKeysService keysService
  27. @Resource
  28. private TunaService tunaService
  29. @Resource
  30. private TableIdService tableIdService
  31. @Resource
  32. private AuthorizationService authorizationService
  33. private PrintersDao printersDao
  34. @Override
  35. String scriptName() {
  36. return "编辑数码机客户基础信息"
  37. }
  38. @Override
  39. ERPModule module() {
  40. return ERPModule.PRINTERS
  41. }
  42. @Override
  43. void start(long supplierCode) {
  44. printersDao = tunaService.generate(PrintersDao.class)
  45. }
  46. @Override
  47. RetResult<InvokeCallParams> checkExecute(InvokeCallParams source) {
  48. PrinterClient srcPrinter = jsonConvert.convertFrom(PrinterClient.class, source.params)
  49. String redisJson = redisService.hget(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_ID, source.supplierCode), srcPrinter.id as String)
  50. if (StringUtils.isBlank(redisJson)) {
  51. return RetResult.<InvokeCallParams> errorT().retinfo("目标机台不存在")
  52. }
  53. return RetResult.<InvokeCallParams> successT().result(source)
  54. }
  55. RetResult<InvokeCallResult> execute(InvokeCallParams source) {
  56. PrinterClient srcPrinter = jsonConvert.convertFrom(PrinterClient.class, source.params)
  57. String redisJson = redisService.hget(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_ID, source.supplierCode), srcPrinter.id as String)
  58. PrinterClient redisPrinter = jsonConvert.convertFrom(PrinterClient.class, redisJson)
  59. redisPrinter.setPrinterName(srcPrinter.printerName)
  60. redisPrinter.setProvince(srcPrinter.province)
  61. redisPrinter.setCity(srcPrinter.city)
  62. redisPrinter.setDistrict(srcPrinter.district)
  63. redisPrinter.setAddress(srcPrinter.address)
  64. PrinterClient.update(redisPrinter, source.currentUser.id)
  65. redisService.hset(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_ID, source.supplierCode), redisPrinter.id as String, jsonConvert.convertTo(redisPrinter))
  66. redisService.hset(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_CODE, source.supplierCode), redisPrinter.printerUniqueCode, jsonConvert.convertTo(redisPrinter))
  67. printersDao.updatePrinterClient(redisPrinter, source.dataSourceId, source.supplierCode)
  68. return RetResult.<InvokeCallResult> successT().result(InvokeCallResult.success())
  69. }
  70. }