import com.dySweetFishPlugin.redis.RedisService 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.datas.ERPModule import com.yinjie.printerAuthorize.common.datas.LocalTypeToken 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.AuthorizationItem import org.apache.logging.log4j.LogManager import org.apache.logging.log4j.Logger import javax.annotation.Resource class BE_DefineAuthorizationItems 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 private PrintersDao printersDao @Override String scriptName() { return "设置权限位数定义" } @Override ERPModule module() { return ERPModule.AUTHORIZATION } @Override void start(long supplierCode) { printersDao = tunaService.generate(PrintersDao.class) } RetResult execute(InvokeCallParams source) { List itemList = jsonConvert.convertFrom(LocalTypeToken.listAuthorizationItem, source.params) Map redisMap = itemList.collectEntries { [String.valueOf(it.permissionIndex), jsonConvert.convertTo(it)] } redisService.hmset(keysService.getRedisKey(RedisKeys.KEY_AUTHORIZATION_ITEM, source.supplierCode), redisMap) printersDao.defineAuthorizationItems(itemList, source.dataSourceId, source.supplierCode) return RetResult. successT().result(InvokeCallResult.success()) } }