serviceImpl.ftl 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <#include "../../function.ftl">
  2. <#include "../../variable.ftl">
  3. <#if isBaseModule = 'true'>
  4. package com.${cAlias}.${cPlatform}.${sys}.service.impl;
  5. <#else>
  6. package com.${cAlias}.${cPlatform}.${sys}.${module}.service.impl;
  7. </#if>
  8. <#if (hasSub?exists && hasSub==true) || (sub?exists && sub)>
  9. import java.util.List;
  10. </#if>
  11. import javax.annotation.Resource;
  12. import org.springframework.stereotype.Service;
  13. import com.${scAlias}.${scPlatform}.base.core.util.BeanUtils;
  14. <#if hasSub?exists && hasSub==true>
  15. import com.${scAlias}.${scPlatform}.base.core.util.string.StringUtil;
  16. </#if>
  17. import com.${scAlias}.${scPlatform}.base.core.util.json.JsonUtil;
  18. import com.${scAlias}.${scPlatform}.bpmn.api.cmd.ActionCmd;
  19. <#if isBaseModule = 'true'>
  20. import com.${cAlias}.${cPlatform}.${sys}.domain.${class};
  21. import com.${cAlias}.${cPlatform}.${sys}.repository.${class}Repository;
  22. import com.${cAlias}.${cPlatform}.${sys}.service.${class}Service;
  23. import com.${cAlias}.${cPlatform}.${sys}.persistence.entity.${class}Po;
  24. <#if hasSub?exists && hasSub==true><#list model.subTableList as subTable>
  25. import com.${cAlias}.${cPlatform}.${sys}.persistence.entity.${subTable.variables.class}Po;
  26. </#list></#if>
  27. <#else>
  28. import com.${cAlias}.${cPlatform}.${sys}.${module}.domain.${class};
  29. import com.${cAlias}.${cPlatform}.${sys}.${module}.repository.${class}Repository;
  30. import com.${cAlias}.${cPlatform}.${sys}.${module}.service.${class}Service;
  31. import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.entity.${class}Po;
  32. <#if hasSub?exists && hasSub==true><#list model.subTableList as subTable>
  33. import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.entity.${subTable.variables.class}Po;
  34. </#list></#if>
  35. </#if>
  36. import net.sf.json.JSONObject;
  37. /**
  38. * ${model.tabComment} 服务的实现类
  39. *
  40. *<pre>
  41. <#if vars.company?exists>
  42. * 开发公司:${vars.company}
  43. </#if>
  44. <#if vars.developer?exists>
  45. * 开发人员:${vars.developer}
  46. </#if>
  47. <#if vars.email?exists>
  48. * 邮箱地址:${vars.email}
  49. </#if>
  50. * 创建时间:${date?string("yyyy-MM-dd HH:mm:ss")}
  51. *</pre>
  52. */
  53. @Service
  54. public class ${class}ServiceImpl implements ${class}Service{
  55. @Resource
  56. private ${class}Repository ${classVar}Repository;
  57. @Override
  58. public void save(ActionCmd cmd) {
  59. ${class} ${classVar} = getDomain(cmd);
  60. if(BeanUtils.isEmpty(${classVar})){
  61. return;
  62. }
  63. <#if hasSub?exists && hasSub==true>
  64. ${classVar}.saveCascade();
  65. <#else>
  66. ${classVar}.save();
  67. </#if>
  68. }
  69. /**
  70. * 获取领域对象
  71. *
  72. * @param cmd
  73. * @return
  74. */
  75. private ${class} getDomain(ActionCmd cmd){
  76. String busData= cmd.getBusData();
  77. if(BeanUtils.isEmpty(busData)){
  78. return null;
  79. }
  80. ${class}Po po = getFromJson(busData);
  81. po.setId(cmd.getBusinessKey());
  82. ${class} ${classVar} = ${classVar}Repository.newInstance(po);
  83. return ${classVar};
  84. }
  85. /**
  86. * 获取表单数据
  87. *
  88. * @param request
  89. */
  90. private ${class}Po getFromJson(String busData){
  91. JSONObject jsonObj = JSONObject.fromObject(busData);
  92. <#if hasSub?exists && hasSub==true>
  93. <#list model.subTableList as subTable>
  94. List<${subTable.variables.class}Po> ${subTable.variables.classVar}PoList = get${subTable.variables.class}PoList(jsonObj);
  95. </#list>
  96. </#if>
  97. ${class}Po ${classVar}Po = get${class}Po(jsonObj);
  98. <#if hasSub?exists && hasSub==true>
  99. <#list model.subTableList as subTable>
  100. ${classVar}Po.set${subTable.variables.class}PoList(${subTable.variables.classVar}PoList);
  101. </#list>
  102. </#if>
  103. return ${classVar}Po;
  104. }
  105. /**
  106. * 获取${comment}数据
  107. *
  108. * @param jsonObj
  109. */
  110. private ${class}Po get${class}Po(JSONObject jsonObj){
  111. ${class}Po ${classVar}Po = (${class}Po) JsonUtil.getDTO(jsonObj.toString(), ${class}Po.class);
  112. return ${classVar}Po;
  113. }
  114. <#if hasSub?exists && hasSub==true>
  115. <#list model.subTableList as subTable>
  116. /**
  117. * 获取${subTable.tabComment}数据
  118. *
  119. * @param jsonObj
  120. */
  121. @SuppressWarnings("unchecked")
  122. private List<${subTable.variables.class}Po> get${subTable.variables.class}PoList(JSONObject jsonObj){
  123. if(!jsonObj.containsKey("${subTable.variables.classVar}PoList")){
  124. return null;
  125. }
  126. List<${subTable.variables.class}Po> rs = JsonUtil.getDTOList(
  127. jsonObj.getJSONArray("${subTable.variables.classVar}PoList").toString(),
  128. ${subTable.variables.class}Po.class);
  129. jsonObj.discard("${subTable.variables.classVar}PoList");
  130. return rs;
  131. }
  132. </#list>
  133. </#if>
  134. }