import com.yinjie.printerAuthorize.business.dao.SystemDao import com.yinjie.printerAuthorize.common.api.BusinessExecutor import com.yinjie.printerAuthorize.common.api.ConfigService 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.dySweetFishPlugin.sql.dao.TunaService import com.sweetfish.convert.json.JsonConvert import com.sweetfish.service.RetResult import org.apache.commons.lang3.StringUtils import javax.annotation.Resource import static com.sweetfish.net.Server.RESNAME_SERVER_ROOT class BE_SiteContent_Delete implements BusinessExecutor { @Resource private JsonConvert jsonConvert @Resource private RedisService redisService @Resource private NoSqlKeysService keysService @Resource private ConfigService configService @Resource private TunaService tunaService private SystemDao systemDao @Resource(name = RESNAME_SERVER_ROOT) String webRootStr @Override String scriptName() { return "网站内容删除" } @Override ERPModule module() { return ERPModule.CONFIG } @Override OperatorWait getAWait(InvokeCallParams s) { return OperatorWait.ASNYC } @Override boolean needLogin(InvokeCallParams source) { return true } @Override void start(long supplierCode) { systemDao = tunaService.generate(SystemDao.class) } private T getRedisDocInfo(String redisKey, String field, Class clazz) { String docJson = redisService.hget(redisKey, field) if (StringUtils.isNotBlank(docJson)) { return jsonConvert.convertFrom(clazz, docJson) } else return null } RetResult execute(InvokeCallParams source) { SiteContent siteContent = jsonConvert.convertFrom(SiteContent.class, source.params) SiteContent redisInfo = getRedisDocInfo(keysService.getRedisKey(RedisKeys.KEY_SITE_CONTENT, source.supplierCode), String.valueOf(siteContent.id), SiteContent.class) if (redisInfo == null) { return RetResult. errorT().retinfo("无效的网站内容信息") } redisService.hdel(keysService.getRedisKey(RedisKeys.KEY_SITE_CONTENT, source.supplierCode), String.valueOf(redisInfo.getId())) configService.removeCacheSiteContentInfo(siteContent.id, source.supplierCode) systemDao.deleteSiteContent(redisInfo, source.dataSourceId, source.supplierCode) return RetResult. successT().result( InvokeCallResult.success().data("") ) } }