package com.caimei.modules.user.web.newUser; import com.caimei.constants.ClubStatus; import com.caimei.dfs.image.beens.ImageUploadInfo; import com.caimei.modules.common.utils.UploadUtils; import com.caimei.modules.product.service.CmShoporderService; import com.caimei.modules.project.model.ServiceProviderModel; import com.caimei.modules.sys.utils.CmMsgUtils; import com.caimei.modules.sys.utils.SMSUtils; import com.caimei.modules.sys.utils.UploadImageUtils; import com.caimei.modules.user.aop.OperationLogAnnotation; import com.caimei.modules.user.entity.*; import com.caimei.modules.user.service.*; import com.caimei.utils.AppKeys; import com.caimei.utils.AppUtils; import com.caimei.utils.DateUtils; import com.caimei.utils.MD5Util; import com.caimei.vo.JsonModel; import com.google.common.collect.Maps; import com.thinkgem.jeesite.common.config.Global; import com.thinkgem.jeesite.common.persistence.Page; import com.thinkgem.jeesite.common.utils.Encodes; import com.thinkgem.jeesite.common.utils.StringUtils; import com.thinkgem.jeesite.common.web.BaseController; import com.thinkgem.jeesite.modules.sys.security.SystemAuthorizingRealm; import com.thinkgem.jeesite.modules.sys.utils.UserUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; /** * 用户模块重构--机构管理Controller * * @author zcp * @version 2018-05-21 */ @Controller @RequestMapping(value = "${adminPath}/new/user/agency") public class AgencyController extends BaseController { @Autowired private NewCmClubService newCmClubService; @Autowired private CmUserOrganizeService cmUserOrganizeService; @Autowired private CmUserService cmUserService; @Autowired CmClubinfoService cmClubinfoService; @Autowired CmMessageService cmMessageService; @Autowired CmShoporderService cmShoporderService; @Autowired CmBindService cmBindService; @Autowired CmUserbeanshistoryService cmUserbeanshistoryService; @Autowired private ClubChangeSpReviewService clubChangeSpReviewService; @Autowired CmSpService cmSpService; @Autowired private CmOperationUserService cmOperationUserService; @Autowired private SysLogService sysLogService; public static NewCmClub newCm; public static CmClubinfo cmClu; public static CmUser cmUs; public static String types; public static NewCmSp newCms; @ModelAttribute public NewCmClub get(@RequestParam(required = false) String id) { NewCmClub entity = null; if (StringUtils.isNotBlank(id)) { entity = newCmClubService.get(id); } if (entity == null) { entity = new NewCmClub(); } return entity; } /** * 列表展示 * * @param newCmClub * @param request * @param response * @param model * @return */ @RequestMapping(value = {"list", ""}) @RequiresPermissions("user:newCmClub:view") public String list(NewCmClub newCmClub, HttpServletRequest request, HttpServletResponse response, Model model) { if (null != newCmClub.getSearchStartTime() && !"".equals(newCmClub.getSearchStartTime()) && !newCmClub.getSearchStartTime().endsWith("00:00:00")) { newCmClub.setStartTime(newCmClub.getSearchStartTime() + " 00:00:00"); } if (null != newCmClub.getSearchEndTime() && !"".equals(newCmClub.getSearchEndTime()) && !newCmClub.getSearchEndTime().endsWith("23:59:59")) { newCmClub.setEndTime(newCmClub.getSearchEndTime() + " 23:59:59"); } String searchName = newCmClub.getSearchName(); String searchUserName = newCmClub.getSearchUserName(); String searchBindMobile = newCmClub.getSearchBindMobile(); String searchEmail = newCmClub.getSearchEmail(); Integer searchUserOrganizeID = newCmClub.getSearchUserOrganizeID(); Integer searchStatus = newCmClub.getSearchStatus(); String searchUserIdentity = newCmClub.getSearchUserIdentity(); if (StringUtils.isNotEmpty(searchName)) { newCmClub.setName(searchName); } if (StringUtils.isNotEmpty(searchUserName)) { newCmClub.setUserName(searchUserName); } if (StringUtils.isNotEmpty(searchBindMobile)) { newCmClub.setBindMobile(searchBindMobile); } if (StringUtils.isNotEmpty(searchEmail)) { newCmClub.setEmail(searchEmail); } if (null != searchUserOrganizeID) { newCmClub.setUserOrganizeID(searchUserOrganizeID); } if (null != searchStatus) { newCmClub.setStatus(searchStatus); } if (StringUtils.isNotEmpty(searchUserIdentity)) { newCmClub.setUserIdentity(searchUserIdentity); } Page page = newCmClubService.findPage(new Page(request, response, 20), newCmClub); model.addAttribute("newCmClub", newCmClub); newCm = newCmClub; model.addAttribute("page", page); return "modules/userNew/cmAgencyList"; } /** * 查看运营人员 * * @param cmOperationUser * @param request * @param response * @param model * @return */ @RequestMapping(value = {"operation"}) @RequiresPermissions("user:newCmClub:view") public String list(CmOperationUser cmOperationUser, HttpServletRequest request, HttpServletResponse response, Model model) { Page page = cmOperationUserService.findPage(new Page(request, response), cmOperationUser); if (null != page) { List list = page.getList(); for (CmOperationUser user : list) {//判断邀请码是否有效 String status = user.getStatus();//1未绑定,2已绑定 if (StringUtils.equals("2", status)) { user.setEffectiveFlag("2");//邀请码是否有效 1有效,2已使用,3已失效 } else { Date invitationCodeTime = user.getInvitationCodeTime(); if (null != invitationCodeTime) { Calendar calendar = new GregorianCalendar(); calendar.setTime(invitationCodeTime); calendar.add(Calendar.DATE, 7);// num为增加的天数,可以改变的 invitationCodeTime = calendar.getTime(); boolean before = invitationCodeTime.before(new Date()); if (before) {//如果验证码时间加上168小时小于当前时间则已过期 user.setEffectiveFlag("3"); } else { user.setEffectiveFlag("1"); } } } } } model.addAttribute("cmOperationUser", cmOperationUser);//把用户ID等参数带入 model.addAttribute("page", page); return "modules/userNew/cmAgencyOperation"; } /** * * 机构上线 * * @param newCmClub * @param model * @param redirectAttributes * @return */ @RequestMapping(value = "online") // @OperationLogAnnotation(operType = "更改状态", operModul = "设置为已上线") @RequiresPermissions("user:newCmClub:edit") public String onLine(NewCmClub newCmClub, Model model, RedirectAttributes redirectAttributes) { OperationalLogs sysLog = new OperationalLogs(); sysLog.setOperationtime(new Date()); sysLog.setContact(newCmClub.getLinkMan()); sysLog.setInstitutionName(newCmClub.getName()); SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal(); System.out.println("操作员" + principal.getName()); String username = principal.getName(); sysLog.setOperator(username); sysLog.setOperationtype("更改状态"); sysLog.setActioncontent("设置为已上线"); //调用service保存SysLog实体类到数据库 if (!"".equals(sysLog.getActioncontent())) { if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) { int i = sysLogService.insert(sysLog); } } Integer companyUserID = newCmClub.getUserID(); CmUser cmUser = cmUserService.get(companyUserID + ""); if (null != cmUser) { cmUser.setClubStatus(ClubStatus.ONLINE.getCode() + ""); cmUser.setValidFlag(AppKeys.FLAG_YES);//解除冻结 cmUser.setUserPermission(2); //更新所有企业员工状态 cmUserService.updateEmployeeStatus(null, ClubStatus.ONLINE.getCode() + "", null, "1", companyUserID); //更新所有审核过的企业员工权限 cmUserService.updateEmployeePermission(2, companyUserID); cmUserService.update(cmUser); } else { addMessage(redirectAttributes, "上线失败,用户信息异常"); return "redirect:" + Global.getAdminPath() + "/new/user/agency/?repage"; } newCmClub.setStatus(ClubStatus.ONLINE.getCode()); newCmClubService.update(newCmClub); addMessage(redirectAttributes, "机构上线成功"); redirectAttributes.addAttribute("searchName", newCmClub.getSearchName()); redirectAttributes.addAttribute("searchUserName", newCmClub.getSearchUserName()); redirectAttributes.addAttribute("searchBindMobile", newCmClub.getSearchBindMobile()); redirectAttributes.addAttribute("searchEmail", newCmClub.getSearchEmail()); redirectAttributes.addAttribute("searchUserOrganizeID", newCmClub.getSearchUserOrganizeID()); redirectAttributes.addAttribute("searchStatus", newCmClub.getSearchStatus()); redirectAttributes.addAttribute("searchUserIdentity", newCmClub.getSearchUserIdentity()); redirectAttributes.addAttribute("searchStartTime", newCmClub.getSearchStartTime()); redirectAttributes.addAttribute("searchEndTime", newCmClub.getSearchEndTime()); return "redirect:" + Global.getAdminPath() + "/new/user/agency/?repage"; } /** * 机构下线 冻结 * * @param newCmClub * @param model * @param redirectAttributes * @return */ @RequestMapping(value = "offline") @RequiresPermissions("user:newCmClub:edit") public String offLine(NewCmClub newCmClub, Model model, RedirectAttributes redirectAttributes) { Integer companyUserID = newCmClub.getUserID(); CmUser cmUser = cmUserService.get(companyUserID + ""); if (null != cmUser) { cmUser.setClubStatus(ClubStatus.FREEZE.getCode() + ""); cmUser.setValidFlag(AppKeys.FLAG_NO);//冻结 cmUser.setUserPermission(0); OperationalLogs sysLog = new OperationalLogs(); sysLog.setOperationtime(new Date()); sysLog.setContact(newCmClub.getLinkMan()); sysLog.setInstitutionName(newCmClub.getName()); SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal(); System.out.println("操作员" + principal.getName()); String username = principal.getName(); sysLog.setOperator(username); sysLog.setOperationtype("更改状态"); sysLog.setActioncontent("设置为已下线"); //调用service保存SysLog实体类到数据库 if (!"".equals(sysLog.getActioncontent())) { if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) { int i = sysLogService.insert(sysLog); } } //更新所有企业员工状态 设置未提示 cmUserService.updateEmployeeStatus(1, ClubStatus.ONLINE.getCode() + "", null, "0", companyUserID); cmUserService.update(cmUser); } else { addMessage(redirectAttributes, "下线失败,用户信息异常"); return "redirect:" + Global.getAdminPath() + "/new/user/agency/?repage"; } newCmClub.setStatus(ClubStatus.FREEZE.getCode()); newCmClubService.update(newCmClub); addMessage(redirectAttributes, "机构下线成功"); redirectAttributes.addAttribute("searchName", newCmClub.getSearchName()); redirectAttributes.addAttribute("searchUserName", newCmClub.getSearchUserName()); redirectAttributes.addAttribute("searchBindMobile", newCmClub.getSearchBindMobile()); redirectAttributes.addAttribute("searchEmail", newCmClub.getSearchEmail()); redirectAttributes.addAttribute("searchUserOrganizeID", newCmClub.getSearchUserOrganizeID()); redirectAttributes.addAttribute("searchStatus", newCmClub.getSearchStatus()); redirectAttributes.addAttribute("searchUserIdentity", newCmClub.getSearchUserIdentity()); redirectAttributes.addAttribute("searchStartTime", newCmClub.getSearchStartTime()); redirectAttributes.addAttribute("searchEndTime", newCmClub.getSearchEndTime()); return "redirect:" + Global.getAdminPath() + "/new/user/agency/?repage"; } /** * 查看机构 * * @param newCmClub * @param model * @param source 1,查看 2,审核 * @return */ @RequestMapping(value = "form") @RequiresPermissions("user:newCmClub:edit") public String form(NewCmClub newCmClub, Integer source, Model model) { model.addAttribute("source", source); model.addAttribute("newCmClub", newCmClub); CmClubinfo cmClubinfo = new CmClubinfo(); cmClubinfo.setClubID(Integer.parseInt(newCmClub.getId())); List cmClubinfos = cmClubinfoService.findList(cmClubinfo); if (null != cmClubinfos && cmClubinfos.size() > 0) { cmClubinfo = cmClubinfos.get(0); } cmClubinfo.setClubID(Integer.parseInt(newCmClub.getId())); cmClubinfo.setUserID(newCmClub.getUserID()); cmClubinfo.setContractPhone(newCmClub.getContractPhone()); cmClubinfo.setFax(newCmClub.getFax()); cmClubinfo.setInfo(newCmClub.getInfo()); cmClubinfo.setBusinessLicenseImage(newCmClub.getBusinessLicenseImage()); cmClubinfo.setHeadpic(newCmClub.getHeadpic()); cmClubinfo.setSocialCreditCode(newCmClub.getSocialCreditCode()); cmClubinfo.setProvinceID(newCmClub.getProvinceID()); cmClubinfo.setCityID(newCmClub.getCityID()); cmClubinfo.setTownID(newCmClub.getTownID()); cmClubinfo.setAddress(newCmClub.getAddress()); cmClubinfo.setFirstClubType(newCmClub.getFirstClubType()); cmClubinfo.setSecondClubType(newCmClub.getSecondClubType()); cmClubinfo.setDepartment(newCmClub.getDepartment()); cmClubinfo.setMainpro(newCmClub.getMainpro()); cmClubinfo.setMedicalPracticeLicenseImg(newCmClub.getMedicalPracticeLicenseImg()); cmClubinfo.setContractEmail(newCmClub.getContractEmail()); cmClubinfo.setLinkManIdentity(newCmClub.getLinkManIdentity()); model.addAttribute("cmClubinfo", cmClubinfo); model.addAttribute("newCmClub", newCmClub); String wwwServer = Global.getConfig("wwwServer"); //营业执照 newCmClub.setBusinessLicenseImage(AppUtils.getImageURL("clubBusinessLicenseImage", newCmClub.getBusinessLicenseImage(), 0, wwwServer)); //门头照 newCmClub.setHeadpic(AppUtils.getImageURL("club", newCmClub.getHeadpic(), AppKeys.CLUB_LOGO_SIZE, wwwServer)); return "modules/userNew/cmAgencyForm"; } /** * 保存机构 * * @param newCmClub * @param cmClubinfo * @param model * @param redirectAttributes * @return */ @RequestMapping(value = "save") @RequiresPermissions("user:newCmClub:edit") public String save(NewCmClub newCmClub, CmClubinfo cmClubinfo, Model model, RedirectAttributes redirectAttributes) { ArrayList list = new ArrayList(); OperationalLogs sysLog = new OperationalLogs(); NewCmClub newCmClubs = sysLogService.newCmClub(newCmClub.getClubID()); System.out.println("id>>>>>>>>>>"+ newCmClub.getClubID()+"<<<<<"+cmClubinfo.getUserID()); CmClubinfo cmClubinfos = sysLogService.cmclubinfo(cmClubinfo.getClubInfoID()); logger.info("newCmClub页面数据"+newCmClub); logger.info("newCmClub数据库数据"+newCmClubs); logger.info("cmClubinfo页面数据"+cmClubinfo); logger.info("cmClubinfo数据库数据"+cmClubinfos); //编辑时添加操作日志 if(cmClubinfos!=null) { if (null == (cmClubinfos.getHighestAchievement()) || null == cmClubinfos.getReachPepole() || null == cmClubinfos.getClinchPepole()) { if (!"".equals(cmClubinfo.getHighestAchievement()) || cmClubinfo.getReachPepole() != null || cmClubinfo.getClinchPepole() != null) { list.add("新增了活动业绩信息"); } } else { if (!cmClubinfo.getHighestAchievement().equals(cmClubinfos.getHighestAchievement())) { list.add("修改了活动业绩的最高业绩信息"); } if (!cmClubinfo.getReachPepole().equals(cmClubinfos.getReachPepole())) { list.add("修改了活动业绩的到店人数信息"); } if (!cmClubinfo.getClinchPepole().equals(cmClubinfos.getClinchPepole())) { list.add("修改了活动业绩的成交人数信息"); } } if (cmClubinfos.getConsumeA() == null || cmClubinfos.getConsumeB() == null || cmClubinfos.getConsumeC() == null) { if (cmClubinfo.getConsumeA() != null || cmClubinfo.getConsumeB() != null || cmClubinfo.getConsumeC() != null) { list.add("新增了会员消费金额信息"); } } else { if (!cmClubinfo.getConsumeA().equals(cmClubinfos.getConsumeA())) { list.add("修改了A类会员消费金额"); } if (!cmClubinfo.getConsumeB().equals(cmClubinfos.getConsumeB())) { list.add("修改了B类会员消费金额"); } if (!cmClubinfo.getConsumeC().equals(cmClubinfos.getConsumeC())) { list.add("修改了C类会员消费金额"); } } if (cmClubinfos.getCateA() == null || cmClubinfos.getCateB() == null || cmClubinfos.getCateC() == null) { if (null != cmClubinfo.getCateA() || null != cmClubinfo.getCateB() || null != cmClubinfo.getCateC()) { list.add("新增了会员信息"); } } else { if (!cmClubinfo.getCateA().equals(cmClubinfos.getCateA())) { list.add("修改了A会员信息"); } if (!cmClubinfo.getCateB().equals(cmClubinfos.getCateB())) { list.add("修改了B会员信息"); } if (!cmClubinfo.getCateC().equals(cmClubinfos.getCateC())) { list.add("修改了C会员信息"); } } if ("".equals(cmClubinfos.getMonthAchievement()) || "".equals(cmClubinfos.getPromotionAchievement()) || "".equals(cmClubinfos.getYearAchievement())) { if (!"".equals(cmClubinfos.getMonthAchievement()) || !"".equals(cmClubinfos.getPromotionAchievement()) || !"".equals(cmClubinfos.getYearAchievement())) { list.add("新增了业绩信息"); } } else { if (!cmClubinfo.getMonthAchievement().equals(cmClubinfos.getMonthAchievement())) { list.add("修改了月业绩信息"); } if (!cmClubinfo.getPromotionAchievement().equals(cmClubinfos.getPromotionAchievement())) { list.add("修改了促销业绩信息"); } if (!cmClubinfo.getYearAchievement().equals(cmClubinfos.getYearAchievement())) { list.add("修改了年业绩信息"); } } if (cmClubinfos.getArea() == null || cmClubinfos.getBedNums() == null || cmClubinfos.getBeauticians() == null) { if (null != cmClubinfo.getArea() || null != cmClubinfo.getBedNums() || null != cmClubinfo.getBeauticians()) { list.add("更新了基本信息"); } } else { if (!cmClubinfo.getArea().equals(cmClubinfos.getArea())) { list.add("修改了机构面积"); } if (!cmClubinfo.getBedNums().equals(cmClubinfos.getBedNums())) { list.add("修改了美容床数"); } if (!cmClubinfo.getBeauticians().equals(cmClubinfos.getBeauticians())) { list.add("修改了美容师数"); } } if (null == (newCmClubs.getInfo())) { if (!"".equals(newCmClub.getInfo())) { list.add("新增了公司简介"); } } else if (!newCmClub.getInfo().equals(newCmClubs.getInfo())) { list.add("修改了公司简介"); } if (cmClubinfo.getEmpnum() != null) { if (!cmClubinfo.getEmpnum().equals(cmClubinfos.getEmpnum())) { list.add("更新了公司人数"); } } if (null == (newCmClubs.getFax())) { if (!"".equals(newCmClub.getFax())) { list.add("新增了传真"); } } else if (!newCmClub.getFax().equals(newCmClubs.getFax())) { list.add("修改了传真"); } if (null == (newCmClubs.getContractPhone())) { if (!"".equals(newCmClub.getContractPhone())) { list.add("新增了固定电话"); } } else if (!newCmClub.getContractPhone().equals(newCmClubs.getContractPhone())) { list.add("修改了固定电话"); } if (!newCmClub.getAddress().equals(newCmClubs.getAddress())) { list.add("修改了详细地址"); } if (newCmClub.getLinkManIdentity() != null) { if (!newCmClub.getLinkManIdentity().equals(newCmClubs.getLinkManIdentity())) { list.add("修改了联系人身份"); } } if (newCmClubs.getLinkMan() == null) { if (newCmClub.getUserName() != null) { list.add("新增了联系人"); } } if (!newCmClub.getUserName().equals(newCmClubs.getLinkMan())) { list.add("修改了联系人"); } if (newCmClubs.getMainpro() != null) { if (!newCmClub.getMainpro().equals(newCmClubs.getMainpro())) { list.add("修改了主营内容"); } } if (newCmClubs.getFirstClubType() == null) { if (newCmClub.getFirstClubType() != null) { list.add("新增了机构类型"); } } else if (!newCmClub.getFirstClubType().equals(newCmClubs.getFirstClubType())) { list.add("修改了机构类型"); } if (newCmClubs.getBusinessLicenseImage() == null) { if (newCmClub.getBusinessLicenseImage() != null) { list.add("新增了营业执照"); } } else { if (!newCmClub.getBusinessLicenseImage().equals(newCmClubs.getBusinessLicenseImage())) { list.add("修改了营业执照"); } } if (newCmClubs.getHeadpic() == null) { if (newCmClub.getHeadpic() != null) { list.add("新增了门头照"); } if (!newCmClub.getHeadpic().equals(newCmClubs.getHeadpic())) { list.add("修改了门头照"); } } if (newCmClubs.getSocialCreditCode() == null) { if (newCmClub.getSocialCreditCode() != null) { list.add("新增了营业执照编号"); } } if (!newCmClub.getSocialCreditCode().equals(newCmClubs.getSocialCreditCode())) { list.add("修改了营业执照编号"); } if (newCmClubs.getAddress() == null) { if (newCmClub.getAddress() != null) { list.add("新增了详细地址"); } } if (newCmClubs.getSname() == null) { if (newCmClub.getSname() != null) { list.add("新增了机构简称"); } } if (!newCmClub.getSname().equals(newCmClubs.getSname())) { list.add("修改了机构简称"); } if (newCmClubs.getName() == null) { if (newCmClub.getName() != null) { list.add("新增了机构名称"); } } if (!newCmClub.getName().equals(newCmClubs.getName())) { list.add("修改了机构名称"); } if ("".equals(newCmClubs.getContractMobile())) { if (!newCmClub.getBindMobile().equals(null)) { list.add("新增了手机号"); } } if (!newCmClub.getBindMobile().equals(newCmClubs.getContractMobile())) { list.add("修改了手机号"); } if ("".equals(newCmClubs.getContractEmail())) { if (!newCmClub.getContractEmail().equals(null)) { list.add("新增了注册邮箱"); } } if (!"".equals(newCmClub.getContractEmail())) { if (!newCmClub.getContractEmail().equals(newCmClubs.getContractEmail())) { list.add("修改了邮箱"); } } }else { list.add("新机构添加了信息"); } sysLog.setActioncontent(StringUtils.strip(list.toString(), "[]")); //获取操作时间 sysLog.setOperationtime(new Date()); //获取操作员 SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal(); System.out.println("操作员" + principal.getName()); String username = principal.getName(); sysLog.setOperator(username); sysLog.setContact(newCmClub.getLinkMan()); sysLog.setInstitutionName(newCmClub.getName()); sysLog.setOperationtype("编辑"); if (!"".equals(sysLog.getActioncontent())) { if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) { int i = sysLogService.insert(sysLog); list.removeAll(list); } } String name = cmClubinfo.getName(); String userName = cmClubinfo.getUserName(); String bindMobile = cmClubinfo.getBindMobile(); cmClubinfo.setClubID(Integer.parseInt(newCmClub.getId())); cmClubinfo.setUserID(newCmClub.getUserID()); if (!beanValidator(model, cmClubinfo)) { return form(newCmClub, 1, model); } if ("".equals(cmClubinfo.getBedNums())) { cmClubinfo.setBedNums(null); } if (null == cmClubinfo.getClubInfoID()) { //新增 cmClubinfo.setIsNewRecord(true); } //修改图片全路径 ImageUploadInfo saveImageSerivce = new ImageUploadInfo(); String photoServer = Global.getConfig("photoServer"); String businessLicenseImage = cmClubinfo.getBusinessLicenseImage(); String headpic = cmClubinfo.getHeadpic(); String medicalPracticeLicenseImg = cmClubinfo.getMedicalPracticeLicenseImg(); if (StringUtils.isNotBlank(businessLicenseImage) && !businessLicenseImage.startsWith("http:") && !businessLicenseImage.startsWith("https:")) { businessLicenseImage = Encodes.urlDecode(businessLicenseImage); String realPath = UploadImageUtils.getAbsolutePath(businessLicenseImage); int pointerIndex = realPath.lastIndexOf("."); try { saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath); newCmClub.setBusinessLicenseImage(photoServer + saveImageSerivce.getSource()); } catch (Exception e) { logger.error("图片上传错误:" + e.toString(), e); } } if (StringUtils.isNotBlank(headpic) && !headpic.startsWith("http:") && !headpic.startsWith("https:")) { headpic = Encodes.urlDecode(headpic); String realPath = UploadImageUtils.getAbsolutePath(headpic); int pointerIndex = realPath.lastIndexOf("."); try { saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath); newCmClub.setHeadpic(photoServer + saveImageSerivce.getSource()); } catch (Exception e) { logger.error("图片上传错误:" + e.toString(), e); } } if (StringUtils.isNotBlank(medicalPracticeLicenseImg) && !medicalPracticeLicenseImg.startsWith("http:") && !medicalPracticeLicenseImg.startsWith("https:")) { medicalPracticeLicenseImg = Encodes.urlDecode(medicalPracticeLicenseImg); String realPath = UploadImageUtils.getAbsolutePath(medicalPracticeLicenseImg); int pointerIndex = realPath.lastIndexOf("."); try { saveImageSerivce = UploadUtils.saveImageSerivce(realPath, pointerIndex, realPath); newCmClub.setMedicalPracticeLicenseImg(photoServer + saveImageSerivce.getSource()); } catch (Exception e) { logger.error("图片上传错误:" + e.toString(), e); } } //添加机构表信息 newCmClub.setSocialCreditCode(cmClubinfo.getSocialCreditCode()); newCmClub.setProvinceID(cmClubinfo.getProvinceID()); newCmClub.setCityID(cmClubinfo.getCityID()); newCmClub.setTownID(cmClubinfo.getTownID()); newCmClub.setAddress(cmClubinfo.getAddress()); newCmClub.setContractPhone(cmClubinfo.getContractPhone()); newCmClub.setFax(cmClubinfo.getFax()); newCmClub.setInfo(cmClubinfo.getInfo()); newCmClub.setFirstClubType(cmClubinfo.getFirstClubType()); newCmClub.setSecondClubType(cmClubinfo.getSecondClubType()); newCmClub.setDepartment(cmClubinfo.getDepartment()); newCmClub.setMainpro(cmClubinfo.getMainpro()); newCmClub.setContractEmail(cmClubinfo.getContractEmail()); newCmClub.setContractMobile(bindMobile); newCmClub.setLinkMan(userName); newCmClub.setLinkManIdentity(cmClubinfo.getLinkManIdentity()); newCmClub.setName(name); newCmClub.setSname(cmClubinfo.getSname()); CmUser user = new CmUser(); user.setUserID(newCmClub.getUserID()); user.setEmail(cmClubinfo.getContractEmail()); user.setName(name); user.setUserName(userName); user.setBindMobile(bindMobile); cmUserService.update(user); newCmClubService.update(newCmClub);//更新机构表数据 System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+cmClubinfo); cmClubinfoService.save(cmClubinfo); addMessage(redirectAttributes, "保存机构资料成功"); redirectAttributes.addAttribute("searchName", newCmClub.getSearchName()); redirectAttributes.addAttribute("searchUserName", newCmClub.getSearchUserName()); redirectAttributes.addAttribute("searchBindMobile", newCmClub.getSearchBindMobile()); redirectAttributes.addAttribute("searchEmail", newCmClub.getSearchEmail()); redirectAttributes.addAttribute("searchUserOrganizeID", newCmClub.getSearchUserOrganizeID()); redirectAttributes.addAttribute("searchStatus", newCmClub.getSearchStatus()); redirectAttributes.addAttribute("searchUserIdentity", newCmClub.getSearchUserIdentity()); redirectAttributes.addAttribute("searchStartTime", newCmClub.getSearchStartTime()); redirectAttributes.addAttribute("searchEndTime", newCmClub.getSearchEndTime()); return "redirect:" + Global.getAdminPath() + "/new/user/agency/"; } /** * 机构更换协销管理 * 向机构更换协销表添加一条记录 */ @RequiresPermissions("user:newCmClub:edit") @ResponseBody @RequestMapping(value = "changeSp") @OperationLogAnnotation() public Map changeSp(String spID, String clubID, HttpServletRequest request, HttpServletResponse response) { Map map = Maps.newLinkedHashMap(); try { logger.info(spID + "-======-" + clubID); if (StringUtils.isNotBlank(spID) && StringUtils.isNotBlank(clubID)) { //不是直接更换 只是添加一条记录 NewCmClub newCmClub = newCmClubService.get(clubID); NewCmSp newCmSp = cmSpService.get(spID); ClubChangeSp clubChangeSp = new ClubChangeSp(); clubChangeSp.setClubID(newCmClub.getClubID()); if (null != newCmClub.getSpID()) { clubChangeSp.setOldSpID(newCmClub.getSpID()); } clubChangeSp.setNewSpID(newCmSp.getServiceProviderID()); clubChangeSp.setApplyTime(new Date()); clubChangeSp.setCheckStatus("0"); clubChangeSpReviewService.save(clubChangeSp); newCm=newCmClub; newCms=newCmSp; map.put("success", true); map.put("msg", "操作成功"); } else { map.put("success", false); map.put("msg", "操作失败"); } } catch (Exception e) { logger.error(clubID + "--------" + spID + e.getMessage(), e); map.put("success", false); map.put("msg", "操作异常"); } return map; } /** * 修改密码 * * @param password * @param id * @param request * @param response * @return */ @RequiresPermissions("user:newCmClub:edit") @ResponseBody @OperationLogAnnotation(operType = "修改密码", operModul = "修改密码") @RequestMapping(value = "updatePwd") public Map updatePwd(String password, String id, HttpServletRequest request, HttpServletResponse response) { Map map = Maps.newLinkedHashMap(); try { CmUser cmUser = cmUserService.get(id); cmUser.setPassword(MD5Util.MD5(password)); cmUserService.update(cmUser); map.put("success", true); map.put("msg", "修改成功"); } catch (Exception e) { logger.debug(e.toString(), e); map.put("success", false); map.put("msg", "修改失败"); } return map; } /** * 机构审核 * * @param auditStatus * @param auditNote * @param id * @param request * @param response * @return */ @RequiresPermissions("user:newCmClub:edit") @ResponseBody // @OperationLogAnnotation(operType = "审核") @RequestMapping(value = "auditClub") public Map auditClub(String auditStatus, String auditNote, String id, HttpServletRequest request, HttpServletResponse response) { Map map = Maps.newLinkedHashMap(); String status = ""; String smsMessage = ""; String currTime = DateUtils.getDateTime(); Integer userPermission; try { NewCmClub newCmClub = newCmClubService.get(id); Integer companyUserID = newCmClub.getUserID(); CmUser companyUser = cmUserService.get(companyUserID + ""); String mobile = companyUser.getBindMobile(); //机构审核 -- //获取企业机构下级用户 List cmUsers = cmUserService.findByCompanyUserID(companyUserID); /**审核处理*/ //审核通过 if (StringUtils.equals("1", auditStatus)) { OperationalLogs sysLog = new OperationalLogs(); if ("1".equals(auditStatus)){ sysLog.setActioncontent("审核通过"); } else { sysLog.setActioncontent("审核不通过"); } String Contact = sysLogService.auditlinkMan(Integer.parseInt(id)); String ionName = sysLogService.auditName(Integer.parseInt(id)); sysLog.setContact(Contact); sysLog.setInstitutionName(ionName); SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal(); System.out.println("操作员" + principal.getName()); String username = principal.getName(); sysLog.setOperator(username); sysLog.setOperationtype("审核"); sysLog.setOperationtime(new Date()); //调用service保存SysLog实体类到数据库 if (!"".equals(sysLog.getActioncontent())) { if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) { int i = sysLogService.insert(sysLog); } } userPermission = 2; status = "90"; auditStatus = "1"; companyUser.setRegisterUserTypeID("3"); companyUser.setUserPermission(userPermission); //审核通过升级为会员机构 companyUser.setUserIdentity(2); smsMessage = "恭喜您成功升级为资质机构用户!快戳采美网站链接www.caimei365.com或微信搜索“采美采购商城”小程序登录采美平台享受更多更好的服务吧。" + "关注公众号“采美365网”可获取更多优惠和精彩资讯。"; int userBeans = companyUser.getUserBeans() == null ? 0 : companyUser.getUserBeans(); companyUser.setUserBeans(userBeans + 500); } else { //审核未通过,普通机构权限 userPermission = 5; companyUser.setUserPermission(userPermission); status = "92"; auditStatus = "2"; smsMessage = "您的机构升级资质机构失败!快戳采美网站链接www.caimei365.com或微信搜索“采美采购商城”小程序登录采美平台修改升级信息重新提交审核。" + "关注公众号“采美365网”可获取更多优惠和精彩资讯。"; } //机构表修改 newCmClub.setStatus(Integer.parseInt(status)); newCmClub.setAuditTime(currTime); newCmClub.setAuditNote(auditNote); newCmClub.setCheckMan(UserUtils.getUser().getName()); //企业用户表修改 companyUser.setValidFlag(AppKeys.FLAG_YES);//正常 companyUser.setClubStatus(status); companyUser.setAuditStatus(auditStatus);//同步到用户表的审核信息中 companyUser.setAuditNote(auditNote); companyUser.setAuditTime(currTime); newCmClubService.update(newCmClub); cmUserService.update(companyUser); cmUs=companyUser; //直接注册成为企业机构 或 升级成为机构 if (CollectionUtils.isNotEmpty(cmUsers)) { //个人用户升级成为企业机构 cmUserService.updateEmployeeStatus(userPermission, status, null, null, companyUserID); } // 发送系统消息给对应的userID用户 String title = "机构资格认证审核结果"; String messageContent = ""; if (auditStatus.equals("1")) { messageContent = "恭喜您," + title + "【已通过】,恭喜您成功加入采美,祝您开启愉快的采购之旅。"; //升级为机构成功,送500采美豆 UserBeansHistory beansHistory = new UserBeansHistory(); beansHistory.setUserId(companyUser.getUserID()); beansHistory.setBeansType(2); beansHistory.setType(1); beansHistory.setNum(500); beansHistory.setPushStatus(0); beansHistory.setAddTime(new Date()); newCmClubService.insertBeansHistory(beansHistory); } else { messageContent = title + "【未通过】,原因:" + auditNote; } /**发送采美消息*/ sendMessage("1", companyUser.getUserID(), title, messageContent); /**发送短信*/ if (StringUtils.isNotEmpty(mobile)) { SMSUtils.sendSms(mobile, smsMessage); } map.put("success", true); map.put("msg", "操作成功"); } catch (Exception e) { logger.debug(e.toString(), e); map.put("success", false); map.put("msg", "操作失败"); } return map; } /** * @param cmClub * @param redirectAttributes * @return */ @RequestMapping(value = "editClubType") @RequiresPermissions("user:newCmClub:edit") @ResponseBody public JsonModel editClubType(NewCmClub cmClub, RedirectAttributes redirectAttributes) { JsonModel jsonModel = JsonModel.newInstance(); if (cmClub.getClubID() == null) { return jsonModel.error("请求参数异常"); } NewCmClub dbClub = newCmClubService.get(cmClub.getClubID().toString()); if ("1".equals(cmClub.getFirstClubType())) { dbClub.setMedicalPracticeLicenseImg(cmClub.getMedicalPracticeLicenseImg()); dbClub.setSecondClubType(cmClub.getSecondClubType()); dbClub.setDepartment(cmClub.getDepartment()); } if ("2".equals(cmClub.getFirstClubType())) { dbClub.setMedicalPracticeLicenseImg(""); dbClub.setSecondClubType(""); dbClub.setDepartment(""); } dbClub.setFirstClubType(cmClub.getFirstClubType()); dbClub.setMainpro(cmClub.getMainpro()); newCmClubService.update(dbClub); addMessage(redirectAttributes, "操作成功"); return jsonModel.success(Global.getAdminPath() + "/new/user/agency/?repage"); } /** * 发送采美信息 * * @param messageTypeID * @param toUserID * @param title * @param content * @throws Exception */ public void sendMessage(String messageTypeID, Integer toUserID, String title, String content) throws Exception { CmMessage cmMessage = CmMsgUtils.getCmMsg(messageTypeID, toUserID, title, content); cmMessageService.save(cmMessage); } /** * 升级为会员机构 * * @param type 1,设置为会员机构; 2,设置为普通机构 * @return */ @ResponseBody // @OperationLogAnnotation(operType = "设置机构类别") @RequestMapping("/upgradeClub") public Map upgradeClub(NewCmClub cmClub, String type, RedirectAttributes redirectAttributes) { OperationalLogs sysLog = new OperationalLogs(); sysLog.setOperationtime(new Date()); if ("1".equals(type)){ sysLog.setActioncontent("设置为资质机构"); }else { sysLog.setActioncontent("设置为个人机构"); } sysLog.setContact(cmClub.getLinkMan()); sysLog.setInstitutionName(cmClub.getName()); SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal(); System.out.println("操作员" + principal.getName()); String username = principal.getName(); sysLog.setOperator(username); sysLog.setOperationtype("设置机构类别"); //调用service保存SysLog实体类到数据库 if (!"".equals(sysLog.getActioncontent())) { if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) { int i = sysLogService.insert(sysLog); } } Map map = new HashMap<>(); if (cmClub != null) { CmUser cmUser = cmUserService.get(cmClub.getUserID().toString()); //设置为会员机构 if ("1".equals(type)) { if (null == cmUser.getName()) { cmUser.setName(cmUser.getUserName()); cmClub.setName(cmUser.getUserName()); cmClub.setSname(cmUser.getUserName()); } //用户身份 1、协销 2、会员机构 3、供应商 4.普通机构 cmUser.setUserIdentity(2); //用户权限 2 会员机构 3 供应商 4 协销 5 普通机构 cmUser.setUserPermission(2); //见枚举UserType(1供应商,2协销经理,32协销,3会员机构,4普通机构) cmUser.setRegisterUserTypeID("3"); cmUser.setClubStatus("90"); } else { //用户身份 1、协销 2、会员机构 3、供应商 4.普通机构 cmUser.setUserIdentity(4); //用户权限 2 会员机构 3 供应商 4 协销 5 普通机构 cmUser.setUserPermission(5); //见枚举UserType(1供应商,2协销经理,32协销,3会员机构,4普通机构) cmUser.setRegisterUserTypeID("4"); cmUser.setClubStatus("90"); } cmUserService.update(cmUser); cmUs=cmUser; types=type; if (cmClub.getStatus() != 90) { cmClub.setStatus(90); newCmClubService.update(cmClub); } } addMessage(redirectAttributes, "操作成功"); map.put("success", true); map.put("msg", "操作成功"); return map; } /** * 编辑用户信息验证新手机号是否可用 */ @RequestMapping("checkMobile") @ResponseBody public Map checkMobile(String bindMobile, Integer userID) { return cmUserService.checkMobile(bindMobile, userID, "crm"); } /** * 资料备注列表 */ @RequestMapping("remarks") public String remarksList(CmClubRemarks cmClubRemarks, HttpServletRequest request, HttpServletResponse response, Model model) { Page page = newCmClubService.findRemarksPage(new Page(request, response, 20), cmClubRemarks); model.addAttribute("cmClubRemarks", cmClubRemarks); model.addAttribute("page", page); return "modules/userNew/cmAgencyRemarksList"; } /** * 已注册用户咨询记录 * * @param cmClubRemarks * @param request * @param response * @param model * @return */ @RequestMapping("regist") public String registList(CmClubRemarks cmClubRemarks, HttpServletRequest request, HttpServletResponse response, Model model) { if (org.apache.commons.lang3.StringUtils.isNotBlank(cmClubRemarks.getStartAddTime())) { String startAddTime = cmClubRemarks.getStartAddTime(); startAddTime += " 00:00:00"; cmClubRemarks.setStartAddTime(startAddTime); } if (org.apache.commons.lang.StringUtils.isNotBlank(cmClubRemarks.getEndAddTime())) { String endAddTime = cmClubRemarks.getEndAddTime(); endAddTime += " 23:59:59"; cmClubRemarks.setEndAddTime(endAddTime); } Page page = newCmClubService.findRegistPage(new Page(request, response, 20), cmClubRemarks); cmClubRemarks.setConsults(newCmClubService.findConsults()); cmClubRemarks.setTeams(newCmClubService.findTeams()); model.addAttribute("cmClubRemarks", cmClubRemarks); model.addAttribute("page", page); return "modules/userNew/cmRegistRemarksList"; } /** * 资料备注列表 */ @RequestMapping("remarks/download") public void downloadRemarks(String fileName, String ossName, HttpServletRequest request, HttpServletResponse response, Model model) throws IOException { newCmClubService.downloadRemarks(fileName, ossName, request, response); } @RequestMapping("group") @ResponseBody public List group(Integer leaderId) { return newCmClubService.findGroup(leaderId); } }