ClubTemporaryService.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. package com.caimei.modules.user.service;
  2. import com.caimei.modules.hehe.util.UploadPicUtils;
  3. import com.caimei.modules.user.dao.ClubTemporaryDao;
  4. import com.caimei.modules.user.dao.CmSpDao;
  5. import com.caimei.modules.user.dao.CmUserDao;
  6. import com.caimei.modules.user.dao.NewCmClubDao;
  7. import com.caimei.modules.user.entity.*;
  8. import com.thinkgem.jeesite.common.persistence.Page;
  9. import com.thinkgem.jeesite.common.service.CrudService;
  10. import com.thinkgem.jeesite.common.utils.StringUtils;
  11. import com.thinkgem.jeesite.modules.sys.entity.User;
  12. import com.thinkgem.jeesite.modules.sys.utils.UserUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.transaction.annotation.Transactional;
  16. import javax.annotation.Resource;
  17. import java.text.SimpleDateFormat;
  18. import java.util.Date;
  19. import java.util.List;
  20. /**
  21. * 未确认机构Service
  22. *
  23. * @author plf
  24. * @version 2021-07-13
  25. */
  26. @Service
  27. @Transactional(readOnly = true)
  28. public class ClubTemporaryService extends CrudService<ClubTemporaryDao, ClubTemporary> {
  29. @Resource
  30. private ClubTemporaryDao clubTemporaryDao;
  31. @Resource
  32. private CmUserDao cmUserDao;
  33. @Resource
  34. private CmSpDao cmSpDao;
  35. @Resource
  36. private NewCmClubDao newCmClubDao;
  37. public ClubTemporary get(String id) {
  38. return super.get(id);
  39. }
  40. public List<ClubTemporary> findList(ClubTemporary clubTemporary) {
  41. return super.findList(clubTemporary);
  42. }
  43. public Page<ClubTemporary> findPage(Page<ClubTemporary> page, ClubTemporary clubTemporary) {
  44. return super.findPage(page, clubTemporary);
  45. }
  46. @Transactional(readOnly = false)
  47. public void save(ClubTemporary clubTemporary) {
  48. super.save(clubTemporary);
  49. }
  50. @Transactional(readOnly = false)
  51. public void delete(ClubTemporary clubTemporary) {
  52. super.delete(clubTemporary);
  53. }
  54. @Transactional(readOnly = false)
  55. public void registerSave(ClubTemporary clubTemporary) throws Exception {
  56. Date date = new Date();
  57. String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
  58. if (clubTemporary.getConfirmUserId() == null) {
  59. List<CmUser> userList = cmUserDao.selectByMobileOrEmail(clubTemporary.getBindMobile(), "crm");
  60. if (userList != null && userList.size() > 0) {
  61. throw new Exception("机构手机号已存在");
  62. }
  63. NewCmSp cmSp = cmSpDao.findByUserId(clubTemporary.getUserId());
  64. CmUser user = new CmUser();
  65. user.setRegisterTime(time);
  66. // 机构拉上线统称为此IP方便后面直接标记为协销代注册
  67. user.setRegisterIP("192.168.1.10");
  68. // 注册来源: 0网站 1小程序(拉机构上线小程序注册)
  69. user.setSource(1);
  70. // 采美默认组织机构0
  71. user.setUserOrganizeID(0);
  72. // 组织名称
  73. user.setName(clubTemporary.getLinkMan());
  74. // 用户名
  75. user.setUserName(clubTemporary.getLinkMan());
  76. // 绑定手机号
  77. user.setBindMobile(clubTemporary.getBindMobile());
  78. // 默认密码
  79. user.setPassword("12345678");
  80. // 同意协议
  81. user.setAgreeFlag(clubTemporary.getIsAgreed());
  82. // 用户状态,1正常,0冻结
  83. user.setValidFlag("1");
  84. // 协销Id
  85. user.setServiceProviderID(cmSp.getServiceProviderID().toString());
  86. // 协销状态
  87. user.setServiceProviderStatus(cmSp.getStatus().toString());
  88. // 会员机构,填写升级资料
  89. if (StringUtils.isNotBlank(clubTemporary.getBusinessLicense())) {
  90. // 用户类型,供应商1,会员机构3,普通机构4
  91. user.setRegisterUserTypeID("3");
  92. // 用户身份: 1协销 2会员机构 3供应商 4普通机构
  93. user.setUserIdentity(2);
  94. // 组织名称
  95. user.setName(clubTemporary.getName());
  96. // 邮箱
  97. user.setEmail(clubTemporary.getContractEmail());
  98. // 是否已经引导过(机构升级:0否,1是)
  99. user.setGuideFlag("1");
  100. //后台客服确认注册默认审核通过
  101. user.setAuditTime(time);
  102. user.setAuditStatus("1");
  103. user.setAuditNote("后台客服确认注册默认审核通过");
  104. } else {
  105. // 用户类型,供应商1,会员机构3,普通机构4
  106. user.setRegisterUserTypeID("4");
  107. // 用户身份: 1协销 2会员机构 3供应商 4普通机构
  108. user.setUserIdentity(4);
  109. // 是否已经引导过(机构升级:0否,1是)
  110. user.setGuideFlag("0");
  111. }
  112. cmUserDao.insert(user);
  113. NewCmClub club = new NewCmClub();
  114. // 联系手机
  115. club.setContractMobile(clubTemporary.getBindMobile());
  116. // 联系人
  117. club.setLinkMan(clubTemporary.getLinkMan());
  118. // 联系人身份
  119. if (StringUtils.isNotBlank(clubTemporary.getLinkManIdentity())) {
  120. club.setLinkManIdentity(Integer.parseInt(clubTemporary.getLinkManIdentity()));
  121. }
  122. // 用户Id
  123. club.setUserID(user.getUserID());
  124. // 设置协销ID
  125. club.setSpID(cmSp.getServiceProviderID());
  126. // 待扫描
  127. club.setScanFlag("0");
  128. // 设置已确认(客服确认机构)
  129. club.setStatus(93);
  130. // 会员机构,填写升级资料
  131. if (StringUtils.isNotBlank(clubTemporary.getBusinessLicense())) {
  132. // 机构名称
  133. club.setName(clubTemporary.getName());
  134. // 机构简称
  135. club.setSname(clubTemporary.getShortName());
  136. // 邮箱
  137. club.setContractEmail(clubTemporary.getContractEmail());
  138. // 地址
  139. club.setProvinceID(clubTemporary.getProvinceId());
  140. club.setCityID(clubTemporary.getCityId());
  141. club.setTownID(clubTemporary.getTownId());
  142. club.setAddress(clubTemporary.getAddress());
  143. // 门头照
  144. club.setHeadpic(clubTemporary.getShopPhoto());
  145. // 营业执照
  146. club.setBusinessLicenseImage(clubTemporary.getBusinessLicense());
  147. // 统一社会信用代码
  148. club.setSocialCreditCode(clubTemporary.getSocialCreditCode());
  149. // 分类: 1医美, 2生美
  150. club.setFirstClubType(clubTemporary.getFirstClubType());
  151. if ("1".equals(clubTemporary.getFirstClubType())) {
  152. // 医美二级分类: 1诊所、2门诊、3医院
  153. club.setSecondClubType(clubTemporary.getSecondClubType());
  154. // 门诊和医院则需要填写科室
  155. club.setDepartment(clubTemporary.getDepartment());
  156. // 医美分类必须上传医疗执业许可证
  157. club.setMedicalPracticeLicenseImg(clubTemporary.getMedicalPracticeLicense());
  158. }
  159. // 主打项目(mainpro)
  160. club.setMainpro(clubTemporary.getMainProduct());
  161. //后台客服确认注册默认审核通过
  162. club.setAuditTime(time);
  163. club.setAuditNote("后台客服确认注册默认审核通过");
  164. } else {
  165. // 机构名称
  166. club.setName(clubTemporary.getLinkMan());
  167. // 机构简称
  168. club.setSname(clubTemporary.getLinkMan());
  169. }
  170. newCmClubDao.insert(club);
  171. // user更新clubId
  172. user.setClubID(club.getClubID().toString());
  173. cmUserDao.update(user);
  174. clubTemporary.setConfirmUserId(user.getUserID());
  175. clubTemporaryDao.update(clubTemporary);
  176. }
  177. User user = UserUtils.getUser();
  178. ClubConfirmRecord confirmRecord = new ClubConfirmRecord();
  179. confirmRecord.setSystemUserId(Integer.valueOf(user.getId()));
  180. confirmRecord.setUserId(clubTemporary.getConfirmUserId());
  181. //备注图片
  182. String[] images = clubTemporary.getImages();
  183. if (images != null && images.length > 0) {
  184. StringBuilder remarkImage = new StringBuilder();
  185. for (String image : images) {
  186. if (StringUtils.isNotBlank(image)) {
  187. String url = UploadPicUtils.saveImageToServer(image);
  188. remarkImage.append(url).append(",");
  189. }
  190. }
  191. confirmRecord.setImages(String.valueOf(remarkImage));
  192. }
  193. confirmRecord.setRemarks(clubTemporary.getRemarks());
  194. confirmRecord.setConfirmTime(date);
  195. // 未确认机构确认注册时,给予初始机构信息,活跃状态、客户价值为null
  196. CmOrganValueSystem insUser = cmUserDao.selOrgan(clubTemporary.getConfirmUserId());
  197. if (insUser == null) {
  198. cmUserDao.insertOrgan(clubTemporary.getConfirmUserId());
  199. }
  200. clubTemporaryDao.insertClubConfirmRecord(confirmRecord);
  201. }
  202. public List<ClubConfirmRecord> confirmRecord(ClubTemporary clubTemporary) {
  203. List<ClubConfirmRecord> recordList = null;
  204. Integer userId = clubTemporary.getConfirmUserId();
  205. if (userId != null) {
  206. recordList = clubTemporaryDao.findConfirmRecord(userId);
  207. if (recordList != null && recordList.size() > 0) {
  208. recordList.forEach(record -> {
  209. User user = UserUtils.get(record.getSystemUserId().toString());
  210. if (user != null) {
  211. record.setSystemName(user.getName());
  212. }
  213. if (StringUtils.isNotBlank(record.getImages())) {
  214. String[] split = record.getImages().split(",");
  215. record.setRemarkImages(split);
  216. }
  217. });
  218. }
  219. }
  220. return recordList;
  221. }
  222. public ClubTemporary findByConfirmUserId(Integer userId) {
  223. return clubTemporaryDao.findByConfirmUserId(userId);
  224. }
  225. }