JtBusinessServiceImpl.java 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. package com.goafanti.business.service.impl;
  2. import java.util.Date;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import java.util.UUID;
  7. import org.apache.poi.poifs.property.Child;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import com.goafanti.business.bo.JtBusinessCategoryBo;
  11. import com.goafanti.business.bo.JtBusinessCategoryTree;
  12. import com.goafanti.business.service.JtBusinessService;
  13. import com.goafanti.common.dao.JtBusinessCategoryMapper;
  14. import com.goafanti.common.dao.JtBusinessProjectMapper;
  15. import com.goafanti.common.model.JtBusinessCategory;
  16. import com.goafanti.common.model.JtBusinessProject;
  17. import com.goafanti.common.utils.StringUtils;
  18. import com.goafanti.core.mybatis.BaseMybatisDao;
  19. import com.goafanti.core.mybatis.page.Pagination;
  20. import com.goafanti.core.shiro.token.TokenManager;
  21. @Service
  22. public class JtBusinessServiceImpl extends BaseMybatisDao<JtBusinessProjectMapper> implements JtBusinessService{
  23. @Autowired
  24. JtBusinessCategoryMapper jtBusinessCategoryMapper;
  25. @Autowired
  26. JtBusinessProjectMapper jtBusinessProjectMapper;
  27. @Override
  28. public JtBusinessCategory getBusinessCategoryByLayerAndName(Integer layer, String name) {
  29. // TODO Auto-generated method stub
  30. return jtBusinessCategoryMapper.getBusinessCategoryByLayerAndName(layer, name);
  31. }
  32. @Override
  33. public List<JtBusinessCategory> getBusinessCategoryBySuperId(String id,Integer size) {
  34. // TODO Auto-generated method stub
  35. return jtBusinessCategoryMapper.getBusinessCategoryBySuperId(id,size);
  36. }
  37. @Override
  38. public List<JtBusinessProject> getBusinessProjectByCategoryId(String id,Integer size) {
  39. // TODO Auto-generated method stub
  40. return jtBusinessProjectMapper.getBusinessProjectByCategoryId(id,size);
  41. }
  42. @Override
  43. public JtBusinessProject getBusinessProjectDetail(String id) {
  44. // TODO Auto-generated method stub
  45. return jtBusinessProjectMapper.selectByPrimaryKey(id);
  46. }
  47. @Override
  48. public JtBusinessCategoryTree getCategoryTree(String id) {
  49. // TODO Auto-generated method stub
  50. return jtBusinessCategoryMapper.getCategoryTree(id);
  51. }
  52. public List<JtBusinessCategoryBo>getCategoryBoList(){
  53. return jtBusinessCategoryMapper.getCategoryBoList();
  54. }
  55. @SuppressWarnings("unchecked")
  56. @Override
  57. public Pagination<JtBusinessProject> getProjects(String topId, String secondId, String name, Integer pageSize,
  58. Integer pageNo,Integer privateProject) {
  59. // TODO Auto-generated method stub
  60. if (pageNo == null || pageNo < 0) {
  61. pageNo = 1;
  62. }
  63. if (pageSize == null || pageSize < 0 ) {
  64. pageSize = 10;
  65. }
  66. Map<String, Object> params=disposeParams(topId, secondId, name);
  67. if(privateProject!=null && privateProject ==0)
  68. params.put("ownerId", TokenManager.getUserId());
  69. return (Pagination<JtBusinessProject>)findPage("findJtBusinessProjectByPage","findJtBusinessCountByPage",params,pageNo,pageSize);
  70. }
  71. private Map<String, Object> disposeParams(String topId, String secondId, String name) {
  72. Map<String, Object> params = new HashMap<>();
  73. if (StringUtils.isNotBlank(topId)) {
  74. params.put("topId", topId);
  75. }
  76. if (StringUtils.isNotBlank(secondId)) {
  77. params.put("secondId", secondId);
  78. }
  79. if (StringUtils.isNotBlank(name)) {
  80. params.put("name", name);
  81. }
  82. return params;
  83. }
  84. @Override
  85. public int insertCategory(JtBusinessCategory jtBusinessCategory) {
  86. // TODO Auto-generated method stub
  87. // jtBusinessCategoryMapper.autoIncreaseSort(jtBusinessCategory.getLayer(),jtBusinessCategory.getSort());
  88. if(jtBusinessCategory.getSuperId()!=null && jtBusinessCategory.getLayer().intValue()==1 && jtBusinessCategory.getSuperId().length()>0)return -2;
  89. String number="BC";
  90. if(jtBusinessCategory.getLayer().intValue()==2) {
  91. //2层,先加第一层
  92. //找到当前品类父级品类
  93. JtBusinessCategory sp=jtBusinessCategoryMapper.selectByPrimaryKey(jtBusinessCategory.getSuperId());
  94. if(sp==null || sp.getLayer()!=1) {
  95. //找到的父级品类层数不是1 或者未找到
  96. return -2;
  97. }
  98. //加前层
  99. //父级品类层数为1的情况下 第一层编号为父级sort序号
  100. int size1=sp.getSort();
  101. if(size1>99)return -1;
  102. if(size1<10)number+="0";
  103. number+=size1;
  104. }
  105. //加层
  106. int size2;
  107. //通过父级id获取当前层列表
  108. List<JtBusinessCategory>businessCategories =jtBusinessCategoryMapper.getBusinessCategoryBySuperId(jtBusinessCategory.getSuperId(), null);
  109. //列表为0,当前层编号size2设置为1,大于0 设置为当前最大sort+1
  110. if(businessCategories.size()>0)
  111. size2=businessCategories.get(businessCategories.size()-1).getSort()+1;
  112. else size2=1;
  113. //每层最多99个
  114. if(size2>99)return -1;
  115. //增加0
  116. if(size2<10)number+="0";
  117. //完成编号
  118. number+=size2;
  119. jtBusinessCategory.setNumber(number);
  120. //设置sort序号
  121. jtBusinessCategory.setSort(size2);
  122. jtBusinessCategory.setCreateTime(new Date());
  123. jtBusinessCategory.setId(UUID.randomUUID().toString());
  124. return jtBusinessCategoryMapper.insertSelective(jtBusinessCategory);
  125. }
  126. @Override
  127. public int deleteCategoryById(String id) {
  128. // TODO Auto-generated method stub
  129. //查找品类
  130. JtBusinessCategory sp=jtBusinessCategoryMapper.selectByPrimaryKey(id);
  131. //查找子品类 存在子品类不允许删除
  132. List<JtBusinessCategory> chidren=jtBusinessCategoryMapper.getBusinessCategoryBySuperId(sp.getId(), null);
  133. if(chidren.size()>0) {
  134. return -1;
  135. }
  136. List<JtBusinessProject> childrenProject=jtBusinessProjectMapper.getBusinessProjectByCategoryId(id, 100);
  137. if(childrenProject!= null && childrenProject.size()>0) {
  138. return -1;
  139. }
  140. return jtBusinessCategoryMapper.deleteByPrimaryKey(id);
  141. }
  142. @Override
  143. public JtBusinessCategory getCategoryById(String id) {
  144. // TODO Auto-generated method stub
  145. return jtBusinessCategoryMapper.selectByPrimaryKey(id);
  146. }
  147. @Override
  148. public int updateCategory(JtBusinessCategory jtBusinessCategory) {
  149. // TODO Auto-generated method stub
  150. return jtBusinessCategoryMapper.updateByPrimaryKeySelective(jtBusinessCategory);
  151. }
  152. private Map<String, Object> disposeCategoryParams(String name,Integer layer ) {
  153. Map<String, Object> params = new HashMap<>();
  154. if (layer!=null) {
  155. params.put("layer", layer);
  156. }
  157. if (StringUtils.isNotBlank(name)) {
  158. params.put("name", name);
  159. }
  160. return params;
  161. }
  162. @Override
  163. public int insertProject(JtBusinessProject jtBusinessProject) {
  164. // TODO Auto-generated method stub
  165. jtBusinessProject.setCreateTime(new Date());
  166. jtBusinessProject.setId(UUID.randomUUID().toString());
  167. jtBusinessProject.setOwnerId(TokenManager.getUserId());
  168. List<JtBusinessProject>projects=jtBusinessProjectMapper.findProjectOrderByNumber();
  169. int cSize = 1;
  170. if(projects!=null && projects.size()>0)
  171. {
  172. String number=projects.get(projects.size()-1).getNumber();
  173. if(number!=null && number.length()==6)
  174. {
  175. String nbString=number.substring(2);
  176. try {
  177. cSize=Integer.parseInt(nbString)+1;}catch (Exception e) {
  178. // TODO: handle exception
  179. return -1;
  180. }
  181. }
  182. else cSize=1;
  183. }
  184. else cSize=1;
  185. String nbString="BP";
  186. String sizeString="000"+cSize;
  187. sizeString=sizeString.substring(sizeString.length()-4);
  188. nbString+=sizeString;
  189. jtBusinessProject.setNumber(nbString);
  190. jtBusinessProjectMapper.insertSelective(jtBusinessProject);
  191. return 1;
  192. }
  193. @Override
  194. public int deleteProjectById(String id) {
  195. // TODO Auto-generated method stub
  196. return jtBusinessProjectMapper.deleteByPrimaryKey(id);
  197. }
  198. @Override
  199. public int updateProject(JtBusinessProject jtBusinessProject) {
  200. // TODO Auto-generated method stub
  201. return jtBusinessProjectMapper.updateByPrimaryKeySelective(jtBusinessProject);
  202. }
  203. @Override
  204. public List<JtBusinessProject> getProjectsLimit(Integer size) {
  205. // TODO Auto-generated method stub
  206. return jtBusinessProjectMapper.findProjectOrderByNumber();
  207. }
  208. }