<#include "../../function.ftl"> <#include "../../variable.ftl"> <#if isBaseModule = 'true'> package com.${cAlias}.${cPlatform}.${sys}.service.impl; <#else> package com.${cAlias}.${cPlatform}.${sys}.${module}.service.impl; <#if (hasSub?exists && hasSub==true) || (sub?exists && sub)> import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.${scAlias}.${scPlatform}.base.core.util.BeanUtils; <#if hasSub?exists && hasSub==true> import com.${scAlias}.${scPlatform}.base.core.util.string.StringUtil; import com.${scAlias}.${scPlatform}.base.core.util.json.JsonUtil; import com.${scAlias}.${scPlatform}.bpmn.api.cmd.ActionCmd; <#if isBaseModule = 'true'> import com.${cAlias}.${cPlatform}.${sys}.domain.${class}; import com.${cAlias}.${cPlatform}.${sys}.repository.${class}Repository; import com.${cAlias}.${cPlatform}.${sys}.service.${class}Service; import com.${cAlias}.${cPlatform}.${sys}.persistence.entity.${class}Po; <#if hasSub?exists && hasSub==true><#list model.subTableList as subTable> import com.${cAlias}.${cPlatform}.${sys}.persistence.entity.${subTable.variables.class}Po; <#else> import com.${cAlias}.${cPlatform}.${sys}.${module}.domain.${class}; import com.${cAlias}.${cPlatform}.${sys}.${module}.repository.${class}Repository; import com.${cAlias}.${cPlatform}.${sys}.${module}.service.${class}Service; import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.entity.${class}Po; <#if hasSub?exists && hasSub==true><#list model.subTableList as subTable> import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.entity.${subTable.variables.class}Po; import net.sf.json.JSONObject; /** * ${model.tabComment} 服务的实现类 * *
 
 <#if vars.company?exists>
 * 开发公司:${vars.company}
 
 <#if vars.developer?exists>
 * 开发人员:${vars.developer}
 
 <#if vars.email?exists>
 * 邮箱地址:${vars.email}
 
 * 创建时间:${date?string("yyyy-MM-dd HH:mm:ss")}
 *
*/ @Service public class ${class}ServiceImpl implements ${class}Service{ @Resource private ${class}Repository ${classVar}Repository; @Override public void save(ActionCmd cmd) { ${class} ${classVar} = getDomain(cmd); if(BeanUtils.isEmpty(${classVar})){ return; } <#if hasSub?exists && hasSub==true> ${classVar}.saveCascade(); <#else> ${classVar}.save(); } /** * 获取领域对象 * * @param cmd * @return */ private ${class} getDomain(ActionCmd cmd){ String busData= cmd.getBusData(); if(BeanUtils.isEmpty(busData)){ return null; } ${class}Po po = getFromJson(busData); po.setId(cmd.getBusinessKey()); ${class} ${classVar} = ${classVar}Repository.newInstance(po); return ${classVar}; } /** * 获取表单数据 * * @param request */ private ${class}Po getFromJson(String busData){ JSONObject jsonObj = JSONObject.fromObject(busData); <#if hasSub?exists && hasSub==true> <#list model.subTableList as subTable> List<${subTable.variables.class}Po> ${subTable.variables.classVar}PoList = get${subTable.variables.class}PoList(jsonObj); ${class}Po ${classVar}Po = get${class}Po(jsonObj); <#if hasSub?exists && hasSub==true> <#list model.subTableList as subTable> ${classVar}Po.set${subTable.variables.class}PoList(${subTable.variables.classVar}PoList); return ${classVar}Po; } /** * 获取${comment}数据 * * @param jsonObj */ private ${class}Po get${class}Po(JSONObject jsonObj){ ${class}Po ${classVar}Po = (${class}Po) JsonUtil.getDTO(jsonObj.toString(), ${class}Po.class); return ${classVar}Po; } <#if hasSub?exists && hasSub==true> <#list model.subTableList as subTable> /** * 获取${subTable.tabComment}数据 * * @param jsonObj */ @SuppressWarnings("unchecked") private List<${subTable.variables.class}Po> get${subTable.variables.class}PoList(JSONObject jsonObj){ if(!jsonObj.containsKey("${subTable.variables.classVar}PoList")){ return null; } List<${subTable.variables.class}Po> rs = JsonUtil.getDTOList( jsonObj.getJSONArray("${subTable.variables.classVar}PoList").toString(), ${subTable.variables.class}Po.class); jsonObj.discard("${subTable.variables.classVar}PoList"); return rs; } }