BusinessVarietiesServiceImpl.java 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  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.springframework.beans.BeanUtils;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import com.goafanti.business.bo.BusinessVarietiesBo;
  11. import com.goafanti.business.bo.VarietiesBo;
  12. import com.goafanti.business.service.BusinessVarietiesService;
  13. import com.goafanti.common.dao.BusinessVarietiesMapper;
  14. import com.goafanti.common.dao.ProjectInterestMapper;
  15. import com.goafanti.common.enums.InterestType;
  16. import com.goafanti.common.model.BusinessVarieties;
  17. import com.goafanti.common.model.ProjectInterest;
  18. import com.goafanti.common.utils.StringUtils;
  19. import com.goafanti.core.mybatis.BaseMybatisDao;
  20. import com.goafanti.core.mybatis.page.Pagination;
  21. import com.goafanti.core.shiro.token.TokenManager;
  22. @Service
  23. public class BusinessVarietiesServiceImpl extends BaseMybatisDao<BusinessVarietiesMapper> implements BusinessVarietiesService {
  24. @Autowired
  25. private BusinessVarietiesMapper businessVarietiesMapper;
  26. @Autowired
  27. private ProjectInterestMapper projectInterestMapper;
  28. public int insert(String cname, String superId) {
  29. BusinessVarietiesBo buv=new BusinessVarietiesBo();
  30. buv.setId(UUID.randomUUID().toString());
  31. buv.setCreateTime(new Date());
  32. buv.setCname(cname);
  33. buv.setSuperId(superId);
  34. buv.setDeleteSign(0);
  35. if (null!=businessVarietiesMapper.getSortMax()) {
  36. Integer x=Integer.valueOf(businessVarietiesMapper.getSortMax());
  37. x+=1;
  38. buv.setSort(x);
  39. }else {
  40. buv.setSort(1);
  41. }
  42. String str=businessVarietiesMapper.getCidMax(superId);
  43. String scid=businessVarietiesMapper.getCid(superId);
  44. if (null==str) {
  45. buv.setCid(scid+"01");
  46. }else {
  47. int i=Integer.valueOf(str.substring(str.length()-2, str.length()));
  48. i=(i%99)+1;
  49. String s;
  50. if (i<10) {
  51. s=str.substring(0,str.length()-2)+"0"+i;
  52. }else {
  53. s=str.substring(0,str.length()-2)+i;
  54. }
  55. buv.setCid(s);
  56. }
  57. //判断是否数据库这个ID已经存在
  58. String n=businessVarietiesMapper.ThanCid(buv.getCid());
  59. while(StringUtils.isNotBlank(n)) {
  60. String s1=buv.getCid().substring(0, buv.getCid().length()-2);
  61. String s2=buv.getCid().substring(buv.getCid().length()-2, buv.getCid().length());
  62. int i1=Integer.valueOf(s2)+1;
  63. if(i1<10){
  64. buv.setCid(s1+"0"+i1);
  65. }else {
  66. buv.setCid(s1+i1);
  67. }
  68. n=businessVarietiesMapper.ThanCid(buv.getCid());
  69. }
  70. buv.setLayer(buv.getCid().length()/2-1);
  71. //buv.setCreateId("f31c0d1a-05bc-4f5c-b4a8-95f983d24131");
  72. if (StringUtils.isNotBlank(TokenManager.getAdminId())) {
  73. buv.setCreateId(TokenManager.getAdminId());
  74. }
  75. buv.setStatus("0");
  76. BusinessVarieties bv=new BusinessVarieties();
  77. BeanUtils.copyProperties(buv,bv);
  78. bv.getSort();
  79. return businessVarietiesMapper.insert(bv);
  80. }
  81. @SuppressWarnings("unchecked")
  82. @Override
  83. public Pagination<BusinessVarieties> listVarieties(String cname, String superId, Integer layer, String status,
  84. Integer pNo, Integer pSize) {
  85. if (pNo == null || pNo < 0) {
  86. pNo = 1;
  87. }
  88. if (pSize == null || pSize < 0 || pSize > 10) {
  89. pSize = 10;
  90. }
  91. return (Pagination<BusinessVarieties>)findPage("findVarietiesListByPage", "findVarietiesListCount",
  92. disposeParams(cname,superId,layer,status),pNo,pSize);
  93. }
  94. private Map<String, Object> disposeParams(String cname, String superId, Integer layer, String status) {
  95. Map<String, Object> params = new HashMap<>();
  96. if (StringUtils.isNotBlank(cname)) {
  97. params.put("cname", cname);
  98. }
  99. if (StringUtils.isNotBlank(superId)) {
  100. params.put("superId", superId);
  101. }
  102. if (null != layer) {
  103. params.put("layer", layer);
  104. }
  105. if (StringUtils.isNotBlank(status)) {
  106. params.put("status", status);
  107. }
  108. return params;
  109. }
  110. public List<BusinessVarietiesBo> getSuperList() {
  111. return businessVarietiesMapper.getSuperList();
  112. }
  113. @Override
  114. public BusinessVarietiesBo editVarieties(String id) {
  115. return businessVarietiesMapper.editVarieties(id);
  116. }
  117. @Override
  118. public int updateVarietoes(String id, String cname, String superId, String status,String varietiesLogo) {
  119. BusinessVarieties bs=new BusinessVarieties();
  120. bs=businessVarietiesMapper.selectByPrimaryKey(id);
  121. bs.setCname(cname);
  122. String str=businessVarietiesMapper.getCidMax(superId);
  123. String scid=businessVarietiesMapper.getCid(superId);
  124. if (null==str) {
  125. bs.setCid(scid+"01");
  126. }else {
  127. int i=Integer.valueOf(str.substring(str.length()-2, str.length()));
  128. i=(i%99)+1;
  129. String s;
  130. if (i<10) {
  131. s=str.substring(0,str.length()-2)+"0"+i;
  132. }else {
  133. s=str.substring(0,str.length()-2)+i;
  134. }
  135. bs.setCid(s);
  136. }
  137. //判断是否数据库这个ID已经存在
  138. checkCid(bs);
  139. //将子品类名称编号做修改
  140. String c1=bs.getCid();
  141. List<BusinessVarietiesBo> list=businessVarietiesMapper.selectSuperid(id);
  142. for (BusinessVarietiesBo bv : list) {
  143. String n=bv.getId();
  144. String w=bv.getCid();
  145. BusinessVarieties bvs=businessVarietiesMapper.selectByPrimaryKey(n);
  146. String s2=bvs.getCid().substring(w.length()-2, w.length());
  147. bvs.setCid(c1+s2);
  148. bvs.setLayer(bvs.getCid().length()/2-1);
  149. checkCid(bvs);
  150. businessVarietiesMapper.updateByPrimaryKey(bvs);
  151. }
  152. bs.setSuperId(superId);
  153. bs.setLayer(bs.getCid().length()/2-1);
  154. bs.setUpdateTime(new Date());
  155. bs.setStatus(status);
  156. bs.setVarietiesLogo(varietiesLogo);
  157. return businessVarietiesMapper.updateByPrimaryKey(bs);
  158. }
  159. /**
  160. * 检查用户是否存在
  161. * @param bs
  162. */
  163. private void checkCid(BusinessVarieties bs) {
  164. String n=businessVarietiesMapper.ThanCid(bs.getCid());
  165. while(null!=n) {
  166. String s1=bs.getCid().substring(0, bs.getCid().length()-2);
  167. String s2=bs.getCid().substring(bs.getCid().length()-2, bs.getCid().length());
  168. int i1=Integer.valueOf(s2)+1;
  169. if(i1<10){
  170. bs.setCid(s1+"0"+i1);
  171. }else {
  172. bs.setCid(s1+i1);
  173. }
  174. n=businessVarietiesMapper.ThanCid(bs.getCid());
  175. }
  176. }
  177. @Override
  178. public int deleteState(String id) {
  179. BusinessVarieties bs=new BusinessVarieties();
  180. bs=businessVarietiesMapper.selectByPrimaryKey(id);
  181. if (0 ==bs.getDeleteSign()) {
  182. bs.setDeleteSign(1);
  183. }else {
  184. bs.setDeleteSign(0);
  185. }
  186. if (null!=bs.getSort()) {
  187. businessVarietiesMapper.updateFollowSort(bs.getSort());
  188. }
  189. return businessVarietiesMapper.updateByPrimaryKey(bs);
  190. }
  191. @Override
  192. public int updateStatus(String id) {
  193. BusinessVarieties bs=new BusinessVarieties();
  194. bs=businessVarietiesMapper.selectByPrimaryKey(id);
  195. if (0==Integer.valueOf(bs.getStatus())) {
  196. bs.setStatus("1");
  197. }else {
  198. bs.setStatus("0");
  199. }
  200. return businessVarietiesMapper.updateByPrimaryKey(bs);
  201. }
  202. @Override
  203. public int isBeing(String cname) {
  204. return businessVarietiesMapper.getcname(cname);
  205. }
  206. @Override
  207. public int getCountSon(String id) {
  208. return Integer.valueOf(businessVarietiesMapper.getCount(id));
  209. }
  210. @Override
  211. public int getLayer(String superId) {
  212. return businessVarietiesMapper.getLayer(superId);
  213. }
  214. @Override
  215. public boolean ifLayer(String superId,String id) {
  216. if(businessVarietiesMapper.getLayer(superId)>2){
  217. return true;
  218. }
  219. if (businessVarietiesMapper.getLayer(superId)>1&&Integer.valueOf(businessVarietiesMapper.getCount(id))>0) {
  220. return true;
  221. }
  222. return false;
  223. }
  224. @Override
  225. public List<VarietiesBo> getVarieties() {
  226. return businessVarietiesMapper.getVarieties();
  227. }
  228. @Override
  229. public int updateLocation(String id, Integer sort, Integer flag) {
  230. if (flag==0) {
  231. Integer x=sort+1;
  232. BusinessVarieties bv=businessVarietiesMapper.selectByPrimaryKey(id);
  233. BusinessVarieties bv2=businessVarietiesMapper.selectBySort(x);
  234. bv.setSort(bv.getSort()+1);
  235. businessVarietiesMapper.updateByPrimaryKey(bv);
  236. bv2.setSort(sort);
  237. return businessVarietiesMapper.updateByPrimaryKey(bv2);
  238. }else {
  239. Integer x=sort-1;
  240. BusinessVarieties bv=businessVarietiesMapper.selectByPrimaryKey(id);
  241. BusinessVarieties bv2=businessVarietiesMapper.selectBySort(x);
  242. bv.setSort(bv.getSort()-1);
  243. businessVarietiesMapper.updateByPrimaryKey(bv);
  244. bv2.setSort(sort);
  245. return businessVarietiesMapper.updateByPrimaryKey(bv2);
  246. }
  247. }
  248. @Override
  249. public List<VarietiesBo> portalVarieties() {
  250. return businessVarietiesMapper.getVarieties();
  251. }
  252. @Override
  253. public int saveInterest(String uid, String objectId, String interest) {
  254. if (Integer.valueOf(interest)==0) {
  255. ProjectInterest p=new ProjectInterest();
  256. p.setId(UUID.randomUUID().toString());
  257. p.setUid(uid);
  258. p.setProjectId(objectId);
  259. p.setCreateTime(new Date());
  260. return projectInterestMapper.insert(p);
  261. }else {
  262. return projectInterestMapper.deleteInterest(uid,objectId);
  263. }
  264. }
  265. }