import com.yinjie.printerAuthorize.business.dao.SystemDao 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.TableIdService 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 java.nio.charset.StandardCharsets import java.nio.file.Files import java.nio.file.Paths import java.nio.file.StandardOpenOption import static com.sweetfish.net.Server.RESNAME_SERVER_ROOT class BE_SiteContent_Add implements BusinessExecutor { @Resource private JsonConvert jsonConvert @Resource private TableIdService tableIdService @Resource private RedisService redisService @Resource private NoSqlKeysService keysService @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) } RetResult execute(InvokeCallParams source) { SiteContent siteContent = jsonConvert.convertFrom(SiteContent.class, source.params) siteContent.id = tableIdService.getTableIdMulti("tbSiteContent.id", 1, source.dataSourceId, String.valueOf(source.supplierCode)) SiteContent.create(siteContent, source.currentUser.id) //内容存文件 String fileName = webRootStr + File.separator + "siteContent" + File.separator + source.supplierCode + File.separator + siteContent.id + ".txt" String writeContent = "" if (StringUtils.isNotEmpty(siteContent.content)) { writeContent = siteContent.content } Files.write(Paths.get(fileName), Collections.singleton(new StringBuilder(writeContent)), StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING) siteContent.content = "" redisService.hset(keysService.getRedisKey(RedisKeys.KEY_SITE_CONTENT, source.supplierCode), String.valueOf(siteContent.getId()), siteContent) systemDao.addSiteContent(siteContent, source.dataSourceId, source.supplierCode) return RetResult. successT().result( InvokeCallResult.success().data("") ) } }