serviceImpl.java.vm 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. package ${packageName}.service.impl;
  2. ##判断是否包含用户选择框的标志位
  3. #set( $hasUser = 0)
  4. ##判断是否包含用户选择框的标志位
  5. #set( $hasDept = 0)
  6. ##判断是否需要引入collectionUtil
  7. #set( $hasCollectionUtil = 0)
  8. #foreach($column in $columns)
  9. #if($column.htmlType == "user")
  10. #set( $hasUser = $hasUser + 1)
  11. #set( $hasCollectionUtil = $hasCollectionUtil + 1)
  12. #elseif($column.htmlType == "dept")
  13. #set( $hasDept = $hasDept + 1)
  14. #set( $hasCollectionUtil = $hasCollectionUtil + 1)
  15. #end
  16. #end
  17. import java.util.List;
  18. import org.springframework.stereotype.Service;
  19. import org.slf4j.Logger;
  20. import org.slf4j.LoggerFactory;
  21. import com.github.pagehelper.PageInfo;
  22. import com.aidex.common.core.domain.BaseEntity;
  23. import com.aidex.common.core.service.BaseServiceImpl;
  24. ##引入用户工具类和用户对象
  25. #if($hasUser >0 )
  26. import com.aidex.framework.cache.UserUtils;
  27. import com.aidex.common.core.domain.entity.SysUser;
  28. #end
  29. ##引入部门工具类和部门对象
  30. #if($hasDept >0 )
  31. import com.aidex.framework.cache.DeptUtils;
  32. import com.aidex.common.core.domain.entity.SysDept;
  33. #end
  34. #if($hasUser >0 || $hasDept >0 )
  35. import com.aidex.common.utils.StringUtils;
  36. #end
  37. import ${packageName}.mapper.${ClassName}Mapper;
  38. import ${packageName}.domain.${ClassName};
  39. import ${packageName}.service.${ClassName}Service;
  40. import org.springframework.transaction.annotation.Transactional;
  41. #if(${hasSubParam} == 'true')
  42. import ${packageName}.mapper.${subTableJavaNameCap}Mapper;
  43. import ${packageName}.domain.${subTableJavaNameCap};
  44. import org.springframework.beans.factory.annotation.Autowired;
  45. import com.aidex.common.exception.CustomException;
  46. #end
  47. ##是否有排序字段
  48. #foreach($column in $columns)
  49. #if($column.columnName == "sort")
  50. import com.aidex.common.utils.NumberUtils;
  51. #break;
  52. #end
  53. #end
  54. ##唯一性校验
  55. #foreach($column in $columns)
  56. #if($column.isUnique == "1")
  57. import com.aidex.common.exception.BizException;
  58. #set( $hasCollectionUtil = $hasCollectionUtil + 1)
  59. #break;
  60. #end
  61. #end
  62. ##判断是否需要引入collectionUtil
  63. #if($hasCollectionUtil >0 )
  64. import org.springframework.util.CollectionUtils;
  65. #end
  66. /**
  67. * ${functionName}Service业务层处理
  68. * @author ${functionAuthor}
  69. * @email ${functionAuthorEmail}
  70. * @date ${datetime}
  71. */
  72. @Service
  73. @Transactional(readOnly = true)
  74. public class ${ClassName}ServiceImpl extends BaseServiceImpl<${ClassName}Mapper, ${ClassName}> implements ${ClassName}Service {
  75. private static final Logger log = LoggerFactory.getLogger(${ClassName}ServiceImpl.class);
  76. #if(${hasSubParam} == 'true')
  77. @Autowired(required = false)
  78. private ${subTableJavaNameCap}Mapper ${subTableJavaNameUnCap}Mapper;
  79. #end
  80. /**
  81. * 获取单条数据
  82. * @param ${className} ${functionName}
  83. * @return ${functionName}
  84. */
  85. @Override
  86. public ${ClassName} get(${ClassName} ${className}) {
  87. ${ClassName} dto = super.get(${className});
  88. #foreach($column in $columns)
  89. #set($javaField=$column.javaField)
  90. #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  91. #if($column.htmlType == "user")
  92. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  93. SysUser sysUser = UserUtils.getSysUser(dto.get${AttrName}());
  94. if (null != sysUser){
  95. dto.set${AttrName}Name(sysUser.getName());
  96. }
  97. }
  98. #elseif($column.htmlType == "dept")
  99. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  100. SysDept sysDept = DeptUtils.getSysDept(dto.get${AttrName}());
  101. if (null != sysDept){
  102. dto.set${AttrName}Name(sysDept.getDeptName());
  103. }
  104. }
  105. #end
  106. #end
  107. return dto;
  108. }
  109. /**
  110. * 获取单条数据
  111. * @param id ${functionName}id
  112. * @return ${functionName}
  113. */
  114. @Override
  115. public ${ClassName} get(String id) {
  116. ${ClassName} dto = super.get(id);
  117. #foreach($column in $columns)
  118. #set($javaField=$column.javaField)
  119. #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  120. #if($column.htmlType == "user")
  121. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  122. SysUser sysUser = UserUtils.getSysUser(dto.get${AttrName}());
  123. if (null != sysUser){
  124. dto.set${AttrName}Name(sysUser.getName());
  125. }
  126. }
  127. #elseif($column.htmlType == "dept")
  128. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  129. SysDept sysDept = DeptUtils.getSysDept(dto.get${AttrName}());
  130. if (null != sysDept){
  131. dto.set${AttrName}Name(sysDept.getDeptName());
  132. }
  133. }
  134. #end
  135. #end
  136. return dto;
  137. }
  138. /**
  139. * 查询${functionName}列表
  140. * @param ${className} ${functionName}
  141. * @return ${functionName}
  142. */
  143. @Override
  144. public List<${ClassName}> findList(${ClassName} ${className}) {
  145. List<${ClassName}> ${className}List = super.findList(${className});
  146. if (!CollectionUtils.isEmpty(${className}List)) {
  147. ${className}List.stream().forEach(dto -> {
  148. #foreach($column in $columns)
  149. #set($javaField=$column.javaField)
  150. #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  151. #if($column.htmlType == "user")
  152. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  153. SysUser sysUser = UserUtils.getSysUser(dto.get${AttrName}());
  154. if (null != sysUser){
  155. dto.set${AttrName}Name(sysUser.getName());
  156. }
  157. }
  158. #elseif($column.htmlType == "dept")
  159. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  160. SysDept sysDept = DeptUtils.getSysDept(dto.get${AttrName}());
  161. if (null != sysDept){
  162. dto.set${AttrName}Name(sysDept.getDeptName());
  163. }
  164. }
  165. #end
  166. #end
  167. });
  168. }
  169. return super.findList(${className});
  170. }
  171. /**
  172. * 分页查询${functionName}列表
  173. * @param ${className} ${functionName}
  174. * @return ${functionName}
  175. */
  176. @Override
  177. public PageInfo<${ClassName}> findPage(${ClassName} ${className}) {
  178. PageInfo<${ClassName}> page = super.findPage(${className});
  179. if (!CollectionUtils.isEmpty(page.getList())) {
  180. page.getList().stream().forEach(dto -> {
  181. #foreach($column in $columns)
  182. #set($javaField=$column.javaField)
  183. #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  184. #if($column.htmlType == "user")
  185. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  186. SysUser sysUser = UserUtils.getSysUser(dto.get${AttrName}());
  187. if (null != sysUser){
  188. dto.set${AttrName}Name(sysUser.getName());
  189. }
  190. }
  191. #elseif($column.htmlType == "dept")
  192. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  193. SysDept sysDept = DeptUtils.getSysDept(dto.get${AttrName}());
  194. if (null != sysDept){
  195. dto.set${AttrName}Name(sysDept.getDeptName());
  196. }
  197. }
  198. #end
  199. #end
  200. });
  201. }
  202. return super.findPage(${className});
  203. }
  204. /**
  205. * 保存${functionName}
  206. * @param ${className}
  207. * @return 结果
  208. */
  209. @Override
  210. public boolean save(${ClassName} ${className}) {
  211. #foreach($column in $columns)
  212. #if($column.isUnique == "1")
  213. #set($attrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  214. check${attrName}Unique(${className});
  215. #end
  216. #end
  217. return super.save(${className});
  218. }
  219. #foreach($column in $columns)
  220. #if($column.isUnique == "1")
  221. #set($attrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  222. /**
  223. * 校验${column.columnComment}的唯一性
  224. * @param ${className}
  225. */
  226. @Override
  227. public void check${attrName}Unique(${ClassName} ${className}) {
  228. ${ClassName} ${className}Unique = new ${ClassName}();
  229. ${className}Unique.setNotEqualId(${className}.getId());
  230. ${className}Unique.set${attrName}(${className}.get${attrName}());
  231. if (!CollectionUtils.isEmpty(mapper.findListWithUnique(${className}Unique))) {
  232. throw new BizException("${column.columnComment}已存在,请重新输入!");
  233. }
  234. }
  235. #end
  236. #end
  237. #if($hasDisableEnable)
  238. /**
  239. * 更新${functionName}状态
  240. * @param ${className}
  241. * @return 结果
  242. */
  243. @Transactional(readOnly = false)
  244. @Override
  245. public int updateStatus(${ClassName} ${className}) {
  246. return mapper.updateStatus(${className});
  247. }
  248. #end
  249. /**
  250. * 删除${functionName}信息
  251. * @param ${className}
  252. * @return 结果
  253. */
  254. @Override
  255. public boolean remove(${ClassName} ${className}) {
  256. return super.remove(${className});
  257. }
  258. /**
  259. * 批量删除${functionName}
  260. * @param ids 需要删除的${functionName}ID
  261. * @return 结果
  262. */
  263. @Transactional(readOnly = false)
  264. @Override
  265. public int delete${ClassName}ByIds(String[] ids) {
  266. #if(${hasSubParam} == 'true')
  267. for (String id : ids)
  268. {
  269. ${subTableJavaNameCap} ${subTableJavaNameUnCap} = new ${subTableJavaNameCap}();
  270. ${subTableJavaNameUnCap}.set${subTableFkNameCap}(id);
  271. List<${subTableJavaNameCap}> ${subTableJavaNameUnCap}List = ${subTableJavaNameUnCap}Mapper.findList(${subTableJavaNameUnCap});
  272. if (${subTableJavaNameUnCap}List.size() > 0)
  273. {
  274. throw new CustomException("子表存在数据,不能删除");
  275. }
  276. }
  277. #end
  278. return mapper.delete${ClassName}ByIds(ids, BaseEntity.DEL_FLAG_DELETE);
  279. }
  280. #foreach($column in $columns)
  281. #if($column.columnName == "sort")
  282. /**
  283. * 获取最大编号
  284. * @param ${className} ${functionName}
  285. * @return 结果
  286. */
  287. @Override
  288. public int findMaxSort(${ClassName} ${className}) {
  289. return NumberUtils.nextOrder(mapper.findMaxSort(${className}));
  290. }
  291. #break
  292. #end
  293. #end
  294. }