BusinessServiceImpl.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package com.goafanti.customer.service.impl;
  2. import java.lang.reflect.InvocationTargetException;
  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.apache.commons.beanutils.BeanUtils;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import org.springframework.transaction.annotation.Transactional;
  12. import com.goafanti.common.dao.UserBusinessMapper;
  13. import com.goafanti.common.dao.UserFollowBusinessMapper;
  14. import com.goafanti.common.dao.UserFollowMapper;
  15. import com.goafanti.common.model.UserBusiness;
  16. import com.goafanti.common.model.UserFollow;
  17. import com.goafanti.common.model.UserFollowBusiness;
  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. import com.goafanti.customer.bo.BusinessListBo;
  23. import com.goafanti.customer.bo.BussinessFollowBo;
  24. import com.goafanti.customer.service.BusinessService;
  25. @Service
  26. public class BusinessServiceImpl extends BaseMybatisDao<UserBusinessMapper> implements BusinessService {
  27. @Autowired
  28. private UserBusinessMapper userBusinessMapper;
  29. @Autowired
  30. private UserFollowMapper userFollowMapper;
  31. @Autowired
  32. private UserFollowBusinessMapper userFollowBusinessMapper;
  33. @SuppressWarnings("unchecked")
  34. @Override
  35. public Pagination<BusinessListBo> listBusiness(BusinessListBo blo,Integer pageNo,Integer pageSize) {
  36. return (Pagination<BusinessListBo>) findPage("selectBusinessList", "selectBusinessCount", disposeParams(blo), pageNo, pageSize);
  37. }
  38. private Map<String,Object> disposeParams(BusinessListBo blo){
  39. Map<String, Object> params = new HashMap<String, Object>();
  40. if(StringUtils.isNotBlank(blo.getAdminName())) params.put("adminName", blo.getAdminName());
  41. if(StringUtils.isNotBlank(blo.getBusinessId())) params.put("businessId", blo.getBusinessId());
  42. if(StringUtils.isNotBlank(blo.getStartDate())) params.put("startDate", blo.getStartDate()+" 00:00:00");
  43. if(StringUtils.isNotBlank(blo.getEndDate())) params.put("endDate", blo.getEndDate()+ " 23:59:59");
  44. if(StringUtils.isNotBlank(blo.getIdentifyName())) params.put("identity", blo.getIdentifyName());
  45. if(StringUtils.isNoneBlank(blo.getFollowSituation())) params.put("followSituation", blo.getFollowSituation());
  46. if(StringUtils.isNotBlank(blo.getCustomerStatus())) params.put("customerStatus", blo.getCustomerStatus());
  47. return params;
  48. }
  49. @Override
  50. public List<BusinessListBo> findBusinessGlossory() {
  51. return userBusinessMapper.findBusinessGlossory();
  52. }
  53. @Override
  54. public int judgeBusiness(String uid, Integer businessGlossoryId) {
  55. return userBusinessMapper.judgeBusiness(uid,businessGlossoryId,"");
  56. }
  57. @Override
  58. @Transactional
  59. public void addBusinessAndFollow(BussinessFollowBo bfb) {
  60. UserBusiness ub = new UserBusiness();
  61. String ubId = UUID.randomUUID().toString();
  62. Date date = new Date();
  63. ub.setCustomerStatus(Integer.parseInt(bfb.getCustomerStatus()));
  64. ub.setFollowSituation(Integer.parseInt(bfb.getFollowSituation()));
  65. ub.setId(ubId);
  66. ub.setUid(bfb.getUid());
  67. ub.setAid(TokenManager.getAdminId());
  68. ub.setRemarks(bfb.getRemarks());
  69. ub.setUpdateTime(date);
  70. ub.setCreateTime(date);
  71. userBusinessMapper.insert(ub);
  72. if (StringUtils.isNotBlank(bfb.getOcbId())) { // 跟进联系人不为空则添加跟进记录
  73. UserFollow uf = new UserFollow();
  74. String ufId = UUID.randomUUID().toString();
  75. uf.setId(ufId);
  76. uf.setUid(bfb.getUid());
  77. uf.setCreateTime(date);
  78. uf.setOcbId(bfb.getOcbId());
  79. uf.setResult(bfb.getResult());
  80. uf.setContactType(Integer.parseInt(bfb.getContactType()));
  81. uf.setAid(TokenManager.getAdminId());
  82. uf.setEffective(0);
  83. int followCount = userBusinessMapper.judgeBusiness(bfb.getUid(), null, TokenManager.getAdminId()) + 1;
  84. uf.setFollowCount(followCount);
  85. userFollowMapper.insert(uf);
  86. UserFollowBusiness ufb = new UserFollowBusiness();
  87. ufb.setId(UUID.randomUUID().toString());
  88. ufb.setBusinessId(ubId);
  89. ufb.setFollowId(ufId);
  90. ufb.setCustomerStatus(ub.getCustomerStatus());
  91. ufb.setFollowSituation(ub.getFollowSituation());
  92. userFollowBusinessMapper.insert(ufb);
  93. }
  94. }
  95. @Override
  96. public List<UserBusiness> findBusinessByUAid(String uid, String aid) {
  97. return userBusinessMapper.findBusinessByUAid(uid,aid);
  98. }
  99. }