BusinessProjectServiceImpl.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  1. package com.goafanti.admin.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.Date;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.UUID;
  8. import org.springframework.beans.BeanUtils;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import com.goafanti.admin.bo.BusinessProjectBo;
  12. import com.goafanti.admin.bo.ProjectSizeBo;
  13. import com.goafanti.admin.service.BusinessProjectService;
  14. import com.goafanti.common.dao.BusinessProjectMapper;
  15. import com.goafanti.common.dao.BusinessVarietiesMapper;
  16. import com.goafanti.common.dao.ProjectSizeMapper;
  17. import com.goafanti.common.model.BusinessProject;
  18. import com.goafanti.common.model.BusinessVarieties;
  19. import com.goafanti.common.model.ProjectSize;
  20. import com.goafanti.common.utils.StringUtils;
  21. import com.goafanti.core.mybatis.BaseMybatisDao;
  22. import com.goafanti.core.mybatis.page.Pagination;
  23. import com.goafanti.core.shiro.token.TokenManager;
  24. @Service
  25. public class BusinessProjectServiceImpl extends BaseMybatisDao<BusinessProjectMapper> implements BusinessProjectService {
  26. @Autowired
  27. BusinessProjectMapper businessProjectMapper;
  28. @Autowired
  29. BusinessVarietiesMapper businessVarietiesMapper;
  30. @Autowired
  31. ProjectSizeMapper projectSizeMapper;
  32. @Override
  33. public int insert(String bname, String cid, String country, String province, String city, String district) {
  34. BusinessProject bp=new BusinessProject();
  35. bp.setId(UUID.randomUUID().toString());
  36. bp.setBname(bname);
  37. bp.setCid(cid);
  38. bp.setCountry(country);
  39. if (1!=Integer.valueOf(country)) {
  40. bp.setProvince(province);
  41. bp.setCity(city);
  42. bp.setDistrict(district);
  43. }
  44. bp.setDeleteSign(0);
  45. //bp.setCreateId("f31c0d1a-05bc-4f5c-b4a8-95f983d24131");
  46. if (StringUtils.isNotBlank(TokenManager.getAdminId())) {
  47. bp.setCreateId(TokenManager.getAdminId());
  48. }
  49. bp.setCreateTime(new Date());
  50. bp.setStatus("0");
  51. return businessProjectMapper.insert(bp);
  52. }
  53. @SuppressWarnings("unchecked")
  54. @Override
  55. public Pagination<BusinessProjectBo> listProject(String bname, String cid, String country,String province,String city,String district, String activityFlag,
  56. String status, Integer pNo, Integer pSize) {
  57. if (pNo == null || pNo < 0) {
  58. pNo = 1;
  59. }
  60. if (pSize == null || pSize < 0 || pSize > 10) {
  61. pSize = 10;
  62. }
  63. Pagination<BusinessProjectBo> pt=(Pagination<BusinessProjectBo>)findPage("findProjectListByPage", "findProjectListCount",
  64. disposeParams(bname, cid, country, province, city, district, activityFlag,
  65. status),pNo,pSize);
  66. List<BusinessProjectBo> list=(List<BusinessProjectBo>) pt.getList();
  67. for (BusinessProjectBo o : list) {
  68. o.setCname(getAllCname(o.getCid()));
  69. }
  70. return pt;
  71. }
  72. private Map<String, Object> disposeParams(String bname, String cid, String country,String province,String city,String district, String activityFlag,
  73. String status) {
  74. Map<String, Object> params = new HashMap<>();
  75. if (StringUtils.isNotBlank(bname)) {
  76. params.put("bname", bname);
  77. }
  78. if (StringUtils.isNotBlank(cid)) {
  79. params.put("cid", cid);
  80. }
  81. if (StringUtils.isNotBlank(country)) {
  82. params.put("country", country);
  83. }
  84. if (StringUtils.isNotBlank(province)) {
  85. params.put("province", province);
  86. }
  87. if (StringUtils.isNotBlank(city)) {
  88. params.put("city", city);
  89. }
  90. if (StringUtils.isNotBlank(district)) {
  91. params.put("district", district);
  92. }
  93. if (StringUtils.isNotBlank(activityFlag)) {
  94. params.put("activityFlag", activityFlag);
  95. }
  96. if (StringUtils.isNotBlank(status)) {
  97. params.put("status", status);
  98. }
  99. return params;
  100. }
  101. @Override
  102. public int getBnamecount(String bname) {
  103. return businessProjectMapper.getBnamecount(bname);
  104. }
  105. @Override
  106. public int deleteProject(String id) {
  107. BusinessProject bp=businessProjectMapper.selectByPrimaryKey(id);
  108. if (bp.getDeleteSign()==0) {
  109. bp.setDeleteSign(1);
  110. }else {
  111. bp.setDeleteSign(0);
  112. }
  113. return businessProjectMapper.updateByPrimaryKey(bp);
  114. }
  115. @Override
  116. public int updateStopProject(String id) {
  117. BusinessProject bp=businessProjectMapper.selectByPrimaryKey(id);
  118. if (Integer.valueOf(bp.getStatus())==0) {
  119. bp.setStatus("1");
  120. }else {
  121. bp.setStatus("0");
  122. }
  123. return businessProjectMapper.updateByPrimaryKey(bp);
  124. }
  125. @Override
  126. public BusinessProjectBo orgProject(String id) {
  127. BusinessProject bp=businessProjectMapper.selectByPrimaryKey(id);
  128. BusinessProjectBo bpo=new BusinessProjectBo();
  129. BeanUtils.copyProperties(bp,bpo);
  130. String cname=getAllCname(bpo.getCid());
  131. String createId=bpo.getCreateId();
  132. bpo.setCreateName(businessProjectMapper.getCreateName(createId));
  133. bpo.setCname(cname);
  134. return bpo;
  135. }
  136. @Override
  137. public List<Map<String, String>> getAllCnames(Integer flag) {
  138. List<Map<String, String>> list=new ArrayList<Map<String, String>>();
  139. List<String> listcid=businessVarietiesMapper.getListId();
  140. for (String s : listcid) {
  141. Map<String, String> map=new HashMap<>();
  142. String cname=getAllCname(s);
  143. map.put("id", s);
  144. map.put("cname", cname);
  145. if (flag==1) {
  146. if (StringUtils.isBlank(cname)) {
  147. map.put("cname", "平台超级业务品类");
  148. }
  149. list.add(map);
  150. }else {
  151. if (StringUtils.isNotBlank(cname)) {
  152. list.add(map);
  153. }
  154. }
  155. }
  156. return list;
  157. }
  158. /**
  159. * 递归获取上级来获取全路径
  160. * @param s ID
  161. * @return 路径
  162. */
  163. private String getAllCname(String s) {
  164. String cid=businessVarietiesMapper.getThisCid(s);
  165. String cname=businessVarietiesMapper.getThisCname(cid);
  166. BusinessVarieties bv=businessVarietiesMapper.selectByPrimaryKey(s);
  167. String sid=bv.getSuperId();
  168. if (cid.length()>4) {
  169. String w=getAllCname(sid)+"-"+cname;
  170. return w;
  171. }else{
  172. return cid.length()>3?cname:"";
  173. }
  174. }
  175. @Override
  176. public int updateProject(BusinessProject s) {
  177. BusinessProject bp=businessProjectMapper.selectByPrimaryKey(s.getId());
  178. TheGinseng(s, bp);
  179. return businessProjectMapper.updateByPrimaryKey(bp);
  180. }
  181. private void TheGinseng(BusinessProject s, BusinessProject bp) {
  182. if (StringUtils.isNotBlank(s.getBname())) {
  183. bp.setBname(s.getBname());
  184. }
  185. if (StringUtils.isNotBlank(s.getCid())) {
  186. bp.setCid(s.getCid());
  187. }
  188. if (StringUtils.isNotBlank(s.getCountry())) {
  189. bp.setCountry(s.getCountry());
  190. }
  191. if (StringUtils.isNotBlank(s.getProvince())) {
  192. bp.setProvince(s.getProvince());
  193. bp.setCity(s.getCity());
  194. bp.setDistrict(s.getDistrict());
  195. }
  196. if (StringUtils.isNotBlank(s.getCity())) {
  197. bp.setCity(s.getCity());
  198. bp.setDistrict(s.getDistrict());
  199. }
  200. if (StringUtils.isNotBlank(s.getDistrict())) {
  201. bp.setDistrict(s.getDistrict());
  202. }
  203. if (null!=s.getPrice()) {
  204. bp.setPrice(s.getPrice());
  205. }
  206. if (null!=(s.getOffset())) {
  207. bp.setOffset(s.getOffset());
  208. }
  209. if (null!=(s.getActivityFlag())) {
  210. bp.setActivityFlag(s.getActivityFlag());
  211. }
  212. if (null!=(s.getMemberPrice())) {
  213. bp.setMemberPrice(s.getMemberPrice());
  214. }
  215. if (null!=(s.getActivityPrice())) {
  216. bp.setActivityPrice(s.getActivityPrice());
  217. }
  218. if (StringUtils.isNotBlank(s.getIntroduce())) {
  219. bp.setIntroduce(s.getIntroduce());
  220. }
  221. if (StringUtils.isNotBlank(s.getValueEffect())) {
  222. bp.setValueEffect(s.getValueEffect());
  223. }
  224. if (StringUtils.isNotBlank(s.getClientSize())) {
  225. bp.setClientSize(s.getClientSize());
  226. }
  227. bp.setMinLogo(s.getMinLogo());
  228. bp.setMaxLogo(s.getMaxLogo());
  229. if (null!=(s.getStatus())) {
  230. bp.setStatus(s.getStatus());
  231. }
  232. bp.setUpdateTime(new Date());
  233. }
  234. @Override
  235. public int addProjectSize(ProjectSize ps) {
  236. ps.setId(UUID.randomUUID().toString());
  237. if (StringUtils.isNotBlank(TokenManager.getAdminId())) {
  238. ps.setCreateId(TokenManager.getAdminId());
  239. }
  240. //ps.setCreateId("f31c0d1a-05bc-4f5c-b4a8-95f983d24131");
  241. ps.setCreateTime(new Date());
  242. ps.setStatus(0);
  243. return projectSizeMapper.insert(ps);
  244. }
  245. @Override
  246. public int updateOrgProjectSize(ProjectSize ps) {
  247. ProjectSize psz=projectSizeMapper.selectByPrimaryKey(ps.getId());
  248. projectSizeConfiguration(ps, psz);
  249. System.out.println(psz);
  250. return projectSizeMapper.updateByPrimaryKeySelective(psz);
  251. }
  252. private void projectSizeConfiguration(ProjectSize ps, ProjectSize psz) {
  253. if (StringUtils.isNotBlank(ps.getPid())) {
  254. psz.setId(ps.getPid());
  255. }
  256. if (StringUtils.isNotBlank(ps.getPname())) {
  257. psz.setPname(ps.getPname());
  258. }
  259. if (null!=ps.getPrice()) {
  260. psz.setPrice(ps.getPrice());
  261. }
  262. if (null!=(ps.getOffset())) {
  263. psz.setOffset(ps.getOffset());
  264. }
  265. if (null!=(ps.getActivityFlag())) {
  266. psz.setActivityFlag(ps.getActivityFlag());
  267. }
  268. if (null!=(ps.getMemberPrice())) {
  269. psz.setMemberPrice(ps.getMemberPrice());
  270. }
  271. if (null!=(ps.getActivityPrice())) {
  272. psz.setActivityPrice(ps.getActivityPrice());
  273. }
  274. if (null!=(ps.getStatus())) {
  275. psz.setStatus(ps.getStatus());
  276. }
  277. psz.setUpdateTime(new Date());
  278. }
  279. @SuppressWarnings("unchecked")
  280. @Override
  281. public Pagination<ProjectSizeBo> listProjectSize(String pid,Integer pNo,Integer pSize) {
  282. if (pNo == null || pNo < 0) {
  283. pNo = 1;
  284. }
  285. if (pSize == null || pSize < 0 || pSize > 10) {
  286. pSize = 10;
  287. }
  288. Map<String, Object>map=new HashMap<>();
  289. map.put("pid", pid);
  290. Pagination<ProjectSizeBo> pt=(Pagination<ProjectSizeBo>)findPage("findProjectSizeListByPage", "findProjectSizeListCount",
  291. map,pNo,pSize);
  292. return pt;
  293. }
  294. @Override
  295. public ProjectSizeBo getProjectSize(String id) {
  296. return projectSizeMapper.selectByBusinessId(id);
  297. }
  298. @Override
  299. public int deleteProjectSize(String id) {
  300. return projectSizeMapper.deleteByPrimaryKey(id);
  301. }
  302. @Override
  303. public int updateSotpProjectSize(String id) {
  304. ProjectSize ps=projectSizeMapper.selectByPrimaryKey(id);
  305. int i=ps.getStatus();
  306. if (i==0) {
  307. ps.setStatus(1);
  308. }else {
  309. ps.setStatus(0);
  310. }
  311. return projectSizeMapper.updateByPrimaryKey(ps);
  312. }
  313. @Override
  314. public boolean WhetherRepeat(ProjectSize ps) {
  315. List<ProjectSizeBo> list=projectSizeMapper.getgetPnamecount(ps.getPname());
  316. for (ProjectSizeBo p : list) {
  317. if (p.getPid().equals(ps.getPid())) {
  318. return true;
  319. }
  320. }
  321. return false;
  322. }
  323. @Override
  324. public boolean judgeStatus(ProjectSize ps) {
  325. BusinessProject bp=businessProjectMapper.selectByPrimaryKey(ps.getPid());
  326. if (Integer.valueOf(bp.getStatus())==1) {
  327. return true;
  328. }else {
  329. return false;
  330. }
  331. }
  332. @Override
  333. public boolean judgeBeing(BusinessProject s) {
  334. BusinessProject bp=businessProjectMapper.selectByPrimaryKey(s.getId());
  335. BusinessProject bp1=businessProjectMapper.selectByPrimaryBname(s.getBname());
  336. if (bp.getId().equals(bp1.getId())) {
  337. return false;
  338. }else {
  339. return true;
  340. }
  341. }
  342. }