import com.alibaba.fastjson2.JSON import com.dderp.common.api.BusinessExecutor import com.dderp.common.datas.ERPModule import com.dderp.common.entity.base.InvokeCallParams import com.dderp.common.entity.base.InvokeCallResult import com.sweetfish.service.RetResult import groovy.json.JsonSlurper import org.apache.logging.log4j.LogManager import org.apache.logging.log4j.Logger import javax.annotation.Resource @SuppressWarnings("unused") class BE_PlateForm_CodeList implements BusinessExecutor { protected final Logger logger = LogManager.getLogger(this.getClass().getSimpleName()) @Resource(name = "APP_HOME") private String appHome private def platformCodeArray = [] @Override String scriptName() { return "获取平台编号大全" } @Override ERPModule module() { return ERPModule.DOC } void start(long supplierCode) { def jsonSlurper = new JsonSlurper() def platformCodeJsonFile = new File(appHome + File.separator + "conf" + File.separator + "script" + File.separator + supplierCode + File.separator + "scriptFiles" + File.separator + "platformCode.json") platformCodeArray = jsonSlurper.parse(platformCodeJsonFile) } @Override RetResult execute(InvokeCallParams source) { //JsonOutput不知道怎么改编码。。。中文用unicode编码输出了,虽然也能用,但log不方便。。。 //查了一下 // https://stackoverflow.com/questions/38569874/how-to-use-groovy-jsonoutput-tojson-with-data-encoded-with-utf-8 // https://docs.groovy-lang.org/latest/html/api/groovy/json/JsonGenerator.Options.html // new JsonGenerator.Options() // .disableUnicodeEscaping() // .build() // .toJson(platformCodeArray) String codeJson = JSON.toJSONString(platformCodeArray)// JsonOutput.toJson(platformCodeArray) logger.info(codeJson) return RetResult. successT().result( InvokeCallResult.success().data(codeJson) ) } }