import com.dySweetFishPlugin.redis.RedisService import com.dySweetFishPlugin.sql.TableIdService import com.dySweetFishPlugin.sql.dao.TunaService import com.sweetfish.convert.json.JsonConvert import com.sweetfish.service.RetResult import com.yinjie.printerAuthorize.business.dao.PrintersDao import com.yinjie.printerAuthorize.common.api.BusinessExecutor import com.yinjie.printerAuthorize.common.api.NoSqlKeysService import com.yinjie.printerAuthorize.common.api.printersAuthorize.AuthorizationService import com.yinjie.printerAuthorize.common.datas.ERPModule import com.yinjie.printerAuthorize.common.datas.RedisKeys import com.yinjie.printerAuthorize.common.entity.base.InvokeCallParams import com.yinjie.printerAuthorize.common.entity.base.InvokeCallResult import com.yinjie.printerAuthorize.common.entity.printers.PrinterClient import org.apache.commons.lang3.StringUtils import org.apache.logging.log4j.LogManager import org.apache.logging.log4j.Logger import javax.annotation.Resource class BE_VoidPrinterClient implements BusinessExecutor { private final Logger logger = LogManager.getLogger(this.getClass().getSimpleName()) @Resource private JsonConvert jsonConvert @Resource private RedisService redisService @Resource private NoSqlKeysService keysService @Resource private TunaService tunaService @Resource private TableIdService tableIdService @Resource private AuthorizationService authorizationService private PrintersDao printersDao @Override String scriptName() { return "禁用/启用数码机客户" } @Override ERPModule module() { return ERPModule.PRINTERS } @Override void start(long supplierCode) { printersDao = tunaService.generate(PrintersDao.class) } @Override RetResult checkExecute(InvokeCallParams source) { PrinterClient srcPrinter = jsonConvert.convertFrom(PrinterClient.class, source.params) String redisJson = redisService.hget(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_ID, source.supplierCode), srcPrinter.id as String) if (StringUtils.isBlank(redisJson)) { return RetResult. errorT().retinfo("目标机台不存在") } return RetResult. successT().result(source) } RetResult execute(InvokeCallParams source) { PrinterClient srcPrinter = jsonConvert.convertFrom(PrinterClient.class, source.params) String redisJson = redisService.hget(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_ID, source.supplierCode), srcPrinter.id as String) PrinterClient redisPrinter = jsonConvert.convertFrom(PrinterClient.class, redisJson) redisPrinter.setVoidFlag(srcPrinter.voidFlag) PrinterClient.update(redisPrinter, source.currentUser.id) redisService.hset(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_ID, source.supplierCode), redisPrinter.id as String, jsonConvert.convertTo(redisPrinter)) redisService.hset(keysService.getRedisKey(RedisKeys.KEY_PRINTER_CLIENT_CODE, source.supplierCode), redisPrinter.printerUniqueCode, jsonConvert.convertTo(redisPrinter)) printersDao.voidPrinterClient(redisPrinter, source.dataSourceId, source.supplierCode) return RetResult. successT().result(InvokeCallResult.success()) } }