domain.ftl 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <#include "../function.ftl">
  2. <#include "../variable.ftl">
  3. <#if isBaseModule = 'true'>
  4. package com.${cAlias}.${cPlatform}.${sys}.domain;
  5. <#else>
  6. package com.${cAlias}.${cPlatform}.${sys}.${module}.domain;
  7. </#if>
  8. import org.springframework.context.annotation.Scope;
  9. import org.springframework.stereotype.Service;
  10. <#if hasSub?exists && hasSub==true>
  11. import com.${scAlias}.${scPlatform}.base.core.util.string.StringUtil;
  12. </#if>
  13. import com.${scAlias}.${scPlatform}.base.core.util.AppUtil;
  14. import com.${scAlias}.${scPlatform}.base.framework.domain.AbstractDomain;
  15. <#if isBaseModule = 'true'>
  16. import com.${cAlias}.${cPlatform}.${sys}.persistence.dao.${class}Dao;
  17. import com.${cAlias}.${cPlatform}.${sys}.persistence.entity.${class}Po;
  18. <#if hasSub?exists && hasSub==true>
  19. <#list model.subTableList as subTable>
  20. import com.${cAlias}.${cPlatform}.${sys}.persistence.dao.${subTable.variables.class}Dao;
  21. import com.${cAlias}.${cPlatform}.${sys}.persistence.entity.${subTable.variables.class}Po;
  22. </#list>
  23. </#if>
  24. <#else>
  25. import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.dao.${class}Dao;
  26. import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.entity.${class}Po;
  27. <#if hasSub?exists && hasSub==true>
  28. <#list model.subTableList as subTable>
  29. import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.dao.${subTable.variables.class}Dao;
  30. import com.${cAlias}.${cPlatform}.${sys}.${module}.persistence.entity.${subTable.variables.class}Po;
  31. </#list>
  32. </#if>
  33. </#if>
  34. /**
  35. * ${model.tabComment} 领域对象实体
  36. *
  37. *<pre>
  38. <#if vars.company?exists>
  39. * 开发公司:${vars.company}
  40. </#if>
  41. <#if vars.developer?exists>
  42. * 开发人员:${vars.developer}
  43. </#if>
  44. <#if vars.email?exists>
  45. * 邮箱地址:${vars.email}
  46. </#if>
  47. * 创建时间:${date?string("yyyy-MM-dd HH:mm:ss")}
  48. *</pre>
  49. */
  50. @SuppressWarnings("serial")
  51. @Service
  52. @Scope("prototype")
  53. public class ${class} extends AbstractDomain<String, ${class}Po>{
  54. private ${class}Dao ${classVar}Dao = null;
  55. <#if hasSub?exists && hasSub==true>
  56. <#list model.subTableList as subTable>
  57. private ${subTable.variables.class}Dao ${subTable.variables.classVar}Dao = null;
  58. </#list>
  59. </#if>
  60. protected void init(){
  61. ${classVar}Dao = AppUtil.getBean(${class}Dao.class);
  62. <#if hasSub?exists && hasSub==true><#list model.subTableList as subTable>
  63. ${subTable.variables.classVar}Dao = AppUtil.getBean(${subTable.variables.class}Dao.class);
  64. </#list></#if>
  65. this.setDao(${classVar}Dao);
  66. }
  67. <#if hasSub?exists && hasSub==true>
  68. /**
  69. * 主从表一并保存
  70. * void
  71. * @exception
  72. * @since 1.0.0
  73. */
  74. public void saveCascade(){
  75. save();
  76. if(getData().isDelBeforeSave()){
  77. <#list model.subTableList as subTable>
  78. ${subTable.variables.classVar}Dao.deleteByMainId(getId());
  79. </#list>
  80. }
  81. <#list model.subTableList as subTable>
  82. for(${subTable.variables.class}Po ${subTable.variables.classVar}Po:getData().get${subTable.variables.class}PoList()){
  83. //设置外键
  84. <#assign foreignKey=convertUnderLine(subTable.foreignKey)>
  85. ${subTable.variables.classVar}Po.set${foreignKey?cap_first}(getId());
  86. //判断是新增还是更新
  87. if(StringUtil.isEmpty(${subTable.variables.classVar}Po.getId())){
  88. ${subTable.variables.classVar}Po.setId(getIdGenerator().getId());
  89. }
  90. ${subTable.variables.classVar}Dao.create(${subTable.variables.classVar}Po);
  91. }
  92. </#list>
  93. }
  94. /**
  95. * 主从表一并删除
  96. * void
  97. * @exception
  98. * @since 1.0.0
  99. */
  100. public void deleteByIdsCascade(String[] ids){
  101. for(String id : ids){
  102. <#list model.subTableList as subTable>
  103. ${subTable.variables.classVar}Dao.deleteByMainId(id);
  104. </#list>
  105. }
  106. deleteByIds(ids);
  107. }
  108. </#if>
  109. }