#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> <#if (hasSub?exists && hasSub==true) || (sub?exists && sub)> import java.util.List; #if> 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; #if> 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; #list>#if> <#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; #list>#if> #if> import net.sf.json.JSONObject; /** * ${model.tabComment} 服务的实现类 * *
<#if vars.company?exists>
* 开发公司:${vars.company}
#if>
<#if vars.developer?exists>
* 开发人员:${vars.developer}
#if>
<#if vars.email?exists>
* 邮箱地址:${vars.email}
#if>
* 创建时间:${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();
#if>
}
/**
* 获取领域对象
*
* @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);
#list>
#if>
${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);
#list>
#if>
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;
}
#list>
#if>
}