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.RedisKeys import com.yinjie.printerAuthorize.common.entity.base.InvokeCallParams import com.yinjie.printerAuthorize.common.entity.base.InvokeCallResult import com.yinjie.printerAuthorize.common.entity.site.SiteContent import com.dySweetFishPlugin.redis.RedisService import com.dySweetFishPlugin.sql.dao.OperatorWait import com.google.common.collect.Lists import com.sweetfish.convert.json.JsonConvert import com.sweetfish.service.RetResult import javax.annotation.Resource class BE_SiteContent_List implements BusinessExecutor { @Resource private JsonConvert jsonConvert @Resource private RedisService redisService @Resource private NoSqlKeysService keysService @Override String scriptName() { return "网站内容列表获取" } @Override ERPModule module() { return ERPModule.CONFIG } @Override OperatorWait getAWait(InvokeCallParams s) { return OperatorWait.AWAIT } private List getRedisDocInfos(String redisKey, Class resultClazz) { Map docMap = redisService.hgetAll(redisKey) List result = Lists.newLinkedList() docMap.forEach((key, value) -> result.add(jsonConvert.convertFrom(resultClazz, value))) return result } RetResult execute(InvokeCallParams source) { List redisInfoList = getRedisDocInfos(keysService.getRedisKey(RedisKeys.KEY_SITE_CONTENT, source.supplierCode), SiteContent.class) redisInfoList.sort { v1, v2 -> v1.sortIndex <=> v2.sortIndex ?: v1.id <=> v2.id } return RetResult. successT().result( InvokeCallResult.success().data(jsonConvert.convertTo(redisInfoList)) ) } }