import com.yinjie.printerAuthorize.common.api.BusinessExecutor import com.yinjie.printerAuthorize.common.api.ERPService import com.yinjie.printerAuthorize.common.api.NoSqlKeysService import com.yinjie.printerAuthorize.common.datas.ERPModule import com.yinjie.printerAuthorize.common.datas.RedisKeys import com.yinjie.printerAuthorize.common.entity.base.DataBaseMultiItemEx import com.yinjie.printerAuthorize.common.entity.base.ProcessERPClientItem import com.yinjie.printerAuthorize.common.entity.base.ProcessStringItem import com.dySweetFishPlugin.redis.RedisService import com.dySweetFishPlugin.sql.DBService import com.sweetfish.service.RetResult import org.apache.logging.log4j.LogManager import org.apache.logging.log4j.Logger import org.rex.DB import org.rex.RMap import javax.annotation.Resource @SuppressWarnings("unused") class BE_System_Void_ERPClient implements BusinessExecutor { protected final Logger logger = LogManager.getLogger(this.getClass().getSimpleName()) @Resource private ERPService erpService @Resource private DBService dbService @Resource private RedisService redisService @Resource private NoSqlKeysService keysService @Override String scriptName() { return "启用禁用SAAS商户" } @Override ERPModule module() { return ERPModule.SYSTEM } RetResult execute(ProcessERPClientItem source) { //源头只需要传递itemCode和voidFlag即可 DataBaseMultiItemEx dataItem = source.dataItem DataBaseMultiItemEx srcItem = erpService.getERPSupplierInfoByCode(dataItem.getItemCode()) if (srcItem == null) { return RetResult. errorT().retinfo("无效的商户信息") } //禁用后需要通过BaseServlet之类的去判断最好,下次启动会删掉注入的脚本之类的,数据暂时保留 srcItem.voidFlag = dataItem.voidFlag RMap dataParams = new RMap() dataParams.put("id", srcItem.id) dataParams.put("voidFlag", srcItem.voidFlag) DB.update("update sys_DataBaseMultiItem set voidFlag = #{voidFlag} where id = #{id}", dataParams) redisService.hset(keysService.getRedisKey(RedisKeys.KEY_SUPPLIER_PLATFORM), String.valueOf(srcItem.id), srcItem) redisService.hset(keysService.getRedisKey(RedisKeys.KEY_SUPPLIER_SHARDING_KEY_PLATFORM), srcItem.shardingKey, srcItem) redisService.hset(keysService.getRedisKey(RedisKeys.KEY_SUPPLIER_ITEM_CODE_PLATFORM), srcItem.itemCode, srcItem) return RetResult. successT() } }