package com.caimei.modules.user.service; import com.caimei.modules.hehe.util.UploadPicUtils; import com.caimei.modules.user.dao.ClubTemporaryDao; import com.caimei.modules.user.dao.CmSpDao; import com.caimei.modules.user.dao.CmUserDao; import com.caimei.modules.user.dao.NewCmClubDao; import com.caimei.modules.user.entity.*; import com.thinkgem.jeesite.common.persistence.Page; import com.thinkgem.jeesite.common.service.CrudService; import com.thinkgem.jeesite.common.utils.StringUtils; import com.thinkgem.jeesite.modules.sys.entity.User; import com.thinkgem.jeesite.modules.sys.utils.UserUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; /** * 未确认机构Service * * @author plf * @version 2021-07-13 */ @Service @Transactional(readOnly = true) public class ClubTemporaryService extends CrudService { @Resource private ClubTemporaryDao clubTemporaryDao; @Resource private CmUserDao cmUserDao; @Resource private CmSpDao cmSpDao; @Resource private NewCmClubDao newCmClubDao; public ClubTemporary get(String id) { return super.get(id); } public List findList(ClubTemporary clubTemporary) { return super.findList(clubTemporary); } public Page findPage(Page page, ClubTemporary clubTemporary) { return super.findPage(page, clubTemporary); } @Transactional(readOnly = false) public void save(ClubTemporary clubTemporary) { super.save(clubTemporary); } @Transactional(readOnly = false) public void delete(ClubTemporary clubTemporary) { super.delete(clubTemporary); } @Transactional(readOnly = false) public void registerSave(ClubTemporary clubTemporary) throws Exception { Date date = new Date(); String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); if (clubTemporary.getConfirmUserId() == null) { List userList = cmUserDao.selectByMobileOrEmail(clubTemporary.getBindMobile(), "crm"); if (userList != null && userList.size() > 0) { throw new Exception("机构手机号已存在"); } NewCmSp cmSp = cmSpDao.findByUserId(clubTemporary.getUserId()); CmUser user = new CmUser(); user.setRegisterTime(time); // 机构拉上线统称为此IP方便后面直接标记为协销代注册 user.setRegisterIP("192.168.1.10"); // 注册来源: 0网站 1小程序(拉机构上线小程序注册) user.setSource(1); // 采美默认组织机构0 user.setUserOrganizeID(0); // 组织名称 user.setName(clubTemporary.getLinkMan()); // 用户名 user.setUserName(clubTemporary.getLinkMan()); // 绑定手机号 user.setBindMobile(clubTemporary.getBindMobile()); // 默认密码 user.setPassword("12345678"); // 同意协议 user.setAgreeFlag(clubTemporary.getIsAgreed()); // 用户状态,1正常,0冻结 user.setValidFlag("1"); // 协销Id user.setServiceProviderID(cmSp.getServiceProviderID().toString()); // 协销状态 user.setServiceProviderStatus(cmSp.getStatus().toString()); // 会员机构,填写升级资料 if (StringUtils.isNotBlank(clubTemporary.getBusinessLicense())) { // 用户类型,供应商1,会员机构3,普通机构4 user.setRegisterUserTypeID("3"); // 用户身份: 1协销 2会员机构 3供应商 4普通机构 user.setUserIdentity(2); // 组织名称 user.setName(clubTemporary.getName()); // 邮箱 user.setEmail(clubTemporary.getContractEmail()); // 是否已经引导过(机构升级:0否,1是) user.setGuideFlag("1"); //后台客服确认注册默认审核通过 user.setAuditTime(time); user.setAuditStatus("1"); user.setAuditNote("后台客服确认注册默认审核通过"); } else { // 用户类型,供应商1,会员机构3,普通机构4 user.setRegisterUserTypeID("4"); // 用户身份: 1协销 2会员机构 3供应商 4普通机构 user.setUserIdentity(4); // 是否已经引导过(机构升级:0否,1是) user.setGuideFlag("0"); } cmUserDao.insert(user); NewCmClub club = new NewCmClub(); // 联系手机 club.setContractMobile(clubTemporary.getBindMobile()); // 联系人 club.setLinkMan(clubTemporary.getLinkMan()); // 联系人身份 if (StringUtils.isNotBlank(clubTemporary.getLinkManIdentity())) { club.setLinkManIdentity(Integer.parseInt(clubTemporary.getLinkManIdentity())); } // 用户Id club.setUserID(user.getUserID()); // 设置协销ID club.setSpID(cmSp.getServiceProviderID()); // 待扫描 club.setScanFlag("0"); // 设置已确认(客服确认机构) club.setStatus(93); // 会员机构,填写升级资料 if (StringUtils.isNotBlank(clubTemporary.getBusinessLicense())) { // 机构名称 club.setName(clubTemporary.getName()); // 机构简称 club.setSname(clubTemporary.getShortName()); // 邮箱 club.setContractEmail(clubTemporary.getContractEmail()); // 地址 club.setProvinceID(clubTemporary.getProvinceId()); club.setCityID(clubTemporary.getCityId()); club.setTownID(clubTemporary.getTownId()); club.setAddress(clubTemporary.getAddress()); // 门头照 club.setHeadpic(clubTemporary.getShopPhoto()); // 营业执照 club.setBusinessLicenseImage(clubTemporary.getBusinessLicense()); // 统一社会信用代码 club.setSocialCreditCode(clubTemporary.getSocialCreditCode()); // 分类: 1医美, 2生美 club.setFirstClubType(clubTemporary.getFirstClubType()); if ("1".equals(clubTemporary.getFirstClubType())) { // 医美二级分类: 1诊所、2门诊、3医院 club.setSecondClubType(clubTemporary.getSecondClubType()); // 门诊和医院则需要填写科室 club.setDepartment(clubTemporary.getDepartment()); // 医美分类必须上传医疗执业许可证 club.setMedicalPracticeLicenseImg(clubTemporary.getMedicalPracticeLicense()); } // 主打项目(mainpro) club.setMainpro(clubTemporary.getMainProduct()); //后台客服确认注册默认审核通过 club.setAuditTime(time); club.setAuditNote("后台客服确认注册默认审核通过"); } else { // 机构名称 club.setName(clubTemporary.getLinkMan()); // 机构简称 club.setSname(clubTemporary.getLinkMan()); } newCmClubDao.insert(club); // user更新clubId user.setClubID(club.getClubID().toString()); cmUserDao.update(user); clubTemporary.setConfirmUserId(user.getUserID()); clubTemporaryDao.update(clubTemporary); } User user = UserUtils.getUser(); ClubConfirmRecord confirmRecord = new ClubConfirmRecord(); confirmRecord.setSystemUserId(Integer.valueOf(user.getId())); confirmRecord.setUserId(clubTemporary.getConfirmUserId()); //备注图片 String[] images = clubTemporary.getImages(); if (images != null && images.length > 0) { StringBuilder remarkImage = new StringBuilder(); for (String image : images) { if (StringUtils.isNotBlank(image)) { String url = UploadPicUtils.saveImageToServer(image); remarkImage.append(url).append(","); } } confirmRecord.setImages(String.valueOf(remarkImage)); } confirmRecord.setRemarks(clubTemporary.getRemarks()); confirmRecord.setConfirmTime(date); // 未确认机构确认注册时,给予初始机构信息,活跃状态、客户价值为null CmOrganValueSystem insUser = cmUserDao.selOrgan(clubTemporary.getConfirmUserId()); if (insUser == null) { cmUserDao.insertOrgan(clubTemporary.getConfirmUserId()); } clubTemporaryDao.insertClubConfirmRecord(confirmRecord); } public List confirmRecord(ClubTemporary clubTemporary) { List recordList = null; Integer userId = clubTemporary.getConfirmUserId(); if (userId != null) { recordList = clubTemporaryDao.findConfirmRecord(userId); if (recordList != null && recordList.size() > 0) { recordList.forEach(record -> { User user = UserUtils.get(record.getSystemUserId().toString()); if (user != null) { record.setSystemName(user.getName()); } if (StringUtils.isNotBlank(record.getImages())) { String[] split = record.getImages().split(","); record.setRemarkImages(split); } }); } } return recordList; } public ClubTemporary findByConfirmUserId(Integer userId) { return clubTemporaryDao.findByConfirmUserId(userId); } }