serviceImpl.java.vm 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  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($hasUser >0 || $hasDept >0)
  147. if (!CollectionUtils.isEmpty(${className}List)) {
  148. ${className}List.stream().forEach(dto -> {
  149. #foreach($column in $columns)
  150. #set($javaField=$column.javaField)
  151. #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  152. #if($column.htmlType == "user")
  153. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  154. SysUser sysUser = UserUtils.getSysUser(dto.get${AttrName}());
  155. if (null != sysUser){
  156. dto.set${AttrName}Name(sysUser.getName());
  157. }
  158. }
  159. #elseif($column.htmlType == "dept")
  160. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  161. SysDept sysDept = DeptUtils.getSysDept(dto.get${AttrName}());
  162. if (null != sysDept){
  163. dto.set${AttrName}Name(sysDept.getDeptName());
  164. }
  165. }
  166. #end
  167. #end
  168. });
  169. }
  170. #end
  171. return ${className}List;
  172. }
  173. /**
  174. * 分页查询${functionName}列表
  175. * @param ${className} ${functionName}
  176. * @return ${functionName}
  177. */
  178. @Override
  179. public PageInfo<${ClassName}> findPage(${ClassName} ${className}) {
  180. PageInfo<${ClassName}> page = super.findPage(${className});
  181. #if($hasUser >0 || $hasDept >0)
  182. if (!CollectionUtils.isEmpty(page.getList())) {
  183. page.getList().stream().forEach(dto -> {
  184. #foreach($column in $columns)
  185. #set($javaField=$column.javaField)
  186. #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  187. #if($column.htmlType == "user")
  188. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  189. SysUser sysUser = UserUtils.getSysUser(dto.get${AttrName}());
  190. if (null != sysUser){
  191. dto.set${AttrName}Name(sysUser.getName());
  192. }
  193. }
  194. #elseif($column.htmlType == "dept")
  195. if (StringUtils.isNotEmpty(dto.get${AttrName}())){
  196. SysDept sysDept = DeptUtils.getSysDept(dto.get${AttrName}());
  197. if (null != sysDept){
  198. dto.set${AttrName}Name(sysDept.getDeptName());
  199. }
  200. }
  201. #end
  202. #end
  203. });
  204. }
  205. #end
  206. return page;
  207. }
  208. /**
  209. * 保存${functionName}
  210. * @param ${className}
  211. * @return 结果
  212. */
  213. @Override
  214. public boolean save(${ClassName} ${className}) {
  215. #foreach($column in $columns)
  216. #if($column.isUnique == "1")
  217. #set($attrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  218. check${attrName}Unique(${className});
  219. #end
  220. #end
  221. return super.save(${className});
  222. }
  223. #foreach($column in $columns)
  224. #if($column.isUnique == "1")
  225. #set($attrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  226. /**
  227. * 校验${column.columnComment}的唯一性
  228. * @param ${className}
  229. */
  230. @Override
  231. public void check${attrName}Unique(${ClassName} ${className}) {
  232. ${ClassName} ${className}Unique = new ${ClassName}();
  233. ${className}Unique.setNotEqualId(${className}.getId());
  234. ${className}Unique.set${attrName}(${className}.get${attrName}());
  235. if (!CollectionUtils.isEmpty(mapper.findListWithUnique(${className}Unique))) {
  236. throw new BizException("${column.columnComment}已存在,请重新输入!");
  237. }
  238. }
  239. #end
  240. #end
  241. #if($hasDisableEnable)
  242. /**
  243. * 更新${functionName}状态
  244. * @param ${className}
  245. * @return 结果
  246. */
  247. @Transactional(readOnly = false)
  248. @Override
  249. public int updateStatus(${ClassName} ${className}) {
  250. return mapper.updateStatus(${className});
  251. }
  252. #end
  253. /**
  254. * 删除${functionName}信息
  255. * @param ${className}
  256. * @return 结果
  257. */
  258. @Override
  259. public boolean remove(${ClassName} ${className}) {
  260. return super.remove(${className});
  261. }
  262. /**
  263. * 批量删除${functionName}
  264. * @param ids 需要删除的${functionName}ID
  265. * @return 结果
  266. */
  267. @Transactional(readOnly = false)
  268. @Override
  269. public int delete${ClassName}ByIds(String[] ids) {
  270. #if(${hasSubParam} == 'true')
  271. for (String id : ids)
  272. {
  273. ${subTableJavaNameCap} ${subTableJavaNameUnCap} = new ${subTableJavaNameCap}();
  274. ${subTableJavaNameUnCap}.set${subTableFkNameCap}(id);
  275. List<${subTableJavaNameCap}> ${subTableJavaNameUnCap}List = ${subTableJavaNameUnCap}Mapper.findList(${subTableJavaNameUnCap});
  276. if (${subTableJavaNameUnCap}List.size() > 0)
  277. {
  278. throw new CustomException("子表存在数据,不能删除");
  279. }
  280. }
  281. #end
  282. return mapper.delete${ClassName}ByIds(ids, BaseEntity.DEL_FLAG_DELETE);
  283. }
  284. #foreach($column in $columns)
  285. #if($column.columnName == "sort")
  286. /**
  287. * 获取最大编号
  288. * @param ${className} ${functionName}
  289. * @return 结果
  290. */
  291. @Override
  292. public int findMaxSort(${ClassName} ${className}) {
  293. return NumberUtils.nextOrder(mapper.findMaxSort(${className}));
  294. }
  295. #break
  296. #end
  297. #end
  298. }