package com.caimei.modules.user.web.newUser; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.write.metadata.WriteSheet; import com.caimei.constants.ClubStatus; import com.caimei.dfs.image.beens.ImageUploadInfo; import com.caimei.modules.common.utils.UploadUtils; import com.caimei.modules.order.dao.NewShopOrderDao; import com.caimei.modules.order.service.WeChatService; 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.dao.MessageCenterDao; import com.caimei.modules.user.dao.NewCmClubDao; import com.caimei.modules.user.dao.VisitRemarkDao; 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.fasterxml.jackson.annotation.JsonFormat; 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.FileUtils; import com.thinkgem.jeesite.common.utils.ObjectUtils; 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.commons.collections.map.HashedMap; import org.apache.poi.openxml4j.util.ZipSecureFile; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; 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.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.swing.filechooser.FileSystemView; import java.awt.*; import java.awt.datatransfer.StringSelection; import java.io.*; import java.math.BigDecimal; import java.net.URLEncoder; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.List; /** * 用户模块重构--机构管理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 CmRemaksService cmRemaksService; @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 private CmBehaviorRecordService cmBehaviorRecordService; @Autowired CmSpService cmSpService; @Autowired private CmOperationUserService cmOperationUserService; @Autowired private SysLogService sysLogService; @Autowired private MessageCenterDao messageCenterDao; @Autowired private NewShopOrderDao newShopOrderDao; @Autowired private WeChatService weChatService; @Autowired private NewCmClubDao newCmClubDao; @Autowired private VisitRemarkDao visitRemarkDao; @Autowired private ClubPortraitService portraitService; @Value("${wwwServer}") private String domain; @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); // 协销下拉 List spNameList = newCmClubDao.spNameList(); model.addAttribute("newCmClub", newCmClub); model.addAttribute("page", page); model.addAttribute("spNameList", spNameList); 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()); int type = 0; logger.info("newCmClub页面数据" + newCmClub); logger.info("newCmClub数据库数据" + newCmClubs); logger.info("cmClubinfo页面数据" + cmClubinfo); logger.info("cmClubinfo数据库数据" + cmClubinfos); //编辑时添加操作日志 if (newCmClubs != null) { if (cmClubinfos != null) { if (StringUtils.isBlank(cmClubinfos.getHighestAchievement()) || null == cmClubinfos.getReachPepole() || null == cmClubinfos.getClinchPepole()) { if (!"".equals(cmClubinfo.getHighestAchievement()) || cmClubinfo.getReachPepole() != null || cmClubinfo.getClinchPepole() != null) { list.add("新增了活动业绩信息"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getHighestAchievement())) { if (!cmClubinfo.getHighestAchievement().equals(cmClubinfos.getHighestAchievement())) { list.add("修改了活动业绩的最高业绩信息"); type = 1; } } else { list.add("删除了活动业绩的最高业绩信息"); type = 1; } if (cmClubinfo.getReachPepole() != null) { if (!cmClubinfo.getReachPepole().equals(cmClubinfos.getReachPepole())) { list.add("修改了活动业绩的到店人数信息"); type = 1; } } else { list.add("删除了活动业绩的到店人数信息"); type = 1; } if (cmClubinfo.getClinchPepole() != null) { if (!cmClubinfo.getClinchPepole().equals(cmClubinfos.getClinchPepole())) { list.add("修改了活动业绩的成交人数信息"); type = 1; } } else { list.add("删除了活动业绩的成交人数信息"); type = 1; } } if (cmClubinfos.getConsumeA() == null || cmClubinfos.getConsumeB() == null || cmClubinfos.getConsumeC() == null) { if (cmClubinfo.getConsumeA() != null || cmClubinfo.getConsumeB() != null || cmClubinfo.getConsumeC() != null) { list.add("新增了会员消费金额信息"); type = 1; } } else { if (cmClubinfo.getConsumeA() != null) { if (!cmClubinfo.getConsumeA().equals(cmClubinfos.getConsumeA())) { list.add("修改了A类会员消费金额"); type = 1; } } else { list.add("删除了A类会员消费金额"); type = 1; } if (cmClubinfo.getConsumeB() != null) { if (!cmClubinfo.getConsumeB().equals(cmClubinfos.getConsumeB())) { list.add("修改了B类会员消费金额"); type = 1; } } else { list.add("删除了B类会员消费金额"); type = 1; } if (cmClubinfo.getConsumeC() != null) { if (!cmClubinfo.getConsumeC().equals(cmClubinfos.getConsumeC())) { list.add("修改了C类会员消费金额"); type = 1; } } else { list.add("删除了C类会员消费金额"); type = 1; } } if (cmClubinfos.getCateA() == null || cmClubinfos.getCateB() == null || cmClubinfos.getCateC() == null) { if (null != cmClubinfo.getCateA() || null != cmClubinfo.getCateB() || null != cmClubinfo.getCateC()) { list.add("新增了会员信息"); type = 1; } } else { if (cmClubinfo.getCateA() != null) { if (!cmClubinfo.getCateA().equals(cmClubinfos.getCateA())) { list.add("修改了A会员信息"); type = 1; } } else { list.add("删除了A会员信息"); type = 1; } if (cmClubinfo.getCateB() != null) { if (!cmClubinfo.getCateB().equals(cmClubinfos.getCateB())) { list.add("修改了B会员信息"); type = 1; } } else { list.add("删除了B会员信息"); type = 1; } if (cmClubinfo.getCateC() != null) { if (!cmClubinfo.getCateC().equals(cmClubinfos.getCateC())) { list.add("修改了C会员信息"); type = 1; } } else { list.add("删除了C会员信息"); type = 1; } } if ("".equals(cmClubinfos.getMonthAchievement()) || "".equals(cmClubinfos.getPromotionAchievement()) || "".equals(cmClubinfos.getYearAchievement())) { if (StringUtils.isNotBlank(cmClubinfo.getMonthAchievement()) || StringUtils.isNotBlank(cmClubinfo.getPromotionAchievement()) || StringUtils.isNotBlank(cmClubinfo.getYearAchievement())) { list.add("新增了业绩信息"); type = 1; } } else { if (cmClubinfo.getMonthAchievement() != null) { if (!cmClubinfo.getMonthAchievement().equals(cmClubinfos.getMonthAchievement())) { list.add("修改了月业绩信息"); type = 1; } } else { list.add("删除了月业绩信息"); type = 1; } if (cmClubinfo.getPromotionAchievement() != null) { if (!cmClubinfo.getPromotionAchievement().equals(cmClubinfos.getPromotionAchievement())) { list.add("修改了促销业绩信息"); type = 1; } } else { list.add("删除了促销业绩信息"); type = 1; } if (cmClubinfo.getYearAchievement() != null) { if (!cmClubinfo.getYearAchievement().equals(cmClubinfos.getYearAchievement())) { list.add("修改了年业绩信息"); type = 1; } } else { list.add("删除了年业绩信息"); type = 1; } } if (cmClubinfos.getArea() == null || cmClubinfos.getBedNums() == null || cmClubinfos.getBeauticians() == null) { if (null != cmClubinfo.getArea() || null != cmClubinfo.getBedNums() || null != cmClubinfo.getBeauticians()) { list.add("更新了基本信息"); type = 1; } } else { if (cmClubinfo.getArea() != null) { if (!cmClubinfo.getArea().equals(cmClubinfos.getArea())) { list.add("修改了机构面积"); type = 1; } } else { list.add("删除了机构面积"); type = 1; } if (cmClubinfo.getBedNums() != null) { if (!cmClubinfo.getBedNums().equals(cmClubinfos.getBedNums())) { list.add("修改了美容床数"); type = 1; } } else { list.add("删除了美容床数"); type = 1; } if (cmClubinfo.getBeauticians() != null) { if (!cmClubinfo.getBeauticians().equals(cmClubinfos.getBeauticians())) { list.add("修改了美容师数"); type = 1; } } else { list.add("删除了美容师数"); type = 1; } } if (cmClubinfos.getEmpnum() != null) { if (cmClubinfo.getEmpnum() != null) { if (!cmClubinfo.getEmpnum().equals(cmClubinfos.getEmpnum())) { list.add("修改了公司人数"); type = 1; } } else { list.add("删除了公司人数"); type = 1; } } else { if (cmClubinfo.getEmpnum() != null) { list.add("新增了公司人数"); type = 1; } } } else { if (StringUtils.isNotBlank(cmClubinfo.getHighestAchievement()) || cmClubinfo.getReachPepole() != null || cmClubinfo.getClinchPepole() != null) { list.add("新增了活动业绩信息"); type = 1; } if (cmClubinfo.getConsumeA() != null || cmClubinfo.getConsumeB() != null || cmClubinfo.getConsumeC() != null) { list.add("新增了会员消费金额信息"); type = 1; } if (null != cmClubinfo.getCateA() || null != cmClubinfo.getCateB() || null != cmClubinfo.getCateC()) { list.add("新增了会员信息"); type = 1; } if (StringUtils.isNotBlank(cmClubinfo.getMonthAchievement()) || StringUtils.isNotBlank(cmClubinfo.getPromotionAchievement()) || StringUtils.isNotBlank(cmClubinfo.getYearAchievement())) { list.add("新增了业绩信息"); type = 1; } if (null != cmClubinfo.getArea() || null != cmClubinfo.getBedNums() || null != cmClubinfo.getBeauticians()) { list.add("更新了基本信息"); type = 1; } if (cmClubinfo.getEmpnum() != null) { list.add("新增了公司人数"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getInfo())) { if (StringUtils.isNotBlank(cmClubinfo.getInfo())) { if (!cmClubinfo.getInfo().equals(newCmClubs.getInfo())) { list.add("修改了公司简介"); type = 1; } } else { list.add("删除了公司简介"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getInfo())) { list.add("新增了公司简介"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getFax())) { if (StringUtils.isNotBlank(cmClubinfo.getFax())) { if (!cmClubinfo.getFax().equals(newCmClubs.getFax())) { list.add("修改了传真"); type = 1; } } else { list.add("删除了传真"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getFax())) { list.add("新增了传真"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getContractPhone())) { if (StringUtils.isNotBlank(cmClubinfo.getContractPhone())) { if (!cmClubinfo.getContractPhone().equals(newCmClubs.getContractPhone())) { list.add("修改了固定电话"); type = 1; } } else { list.add("删除了固定电话"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getContractPhone())) { list.add("新增了固定电话"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getAddress())) { if (StringUtils.isNotBlank(cmClubinfo.getAddress())) { if (!cmClubinfo.getAddress().equals(newCmClubs.getAddress())) { list.add("修改了详细地址"); type = 1; } } else { list.add("删除了详细地址"); type = 1; } } else { if (!"".equals(cmClubinfo.getAddress())) { list.add("新增了详细地址"); type = 1; } } if (newCmClubs.getLinkManIdentity() != null) { if (cmClubinfo.getLinkManIdentity() != null) { if (!cmClubinfo.getLinkManIdentity().equals(newCmClubs.getLinkManIdentity())) { list.add("修改了联系人身份"); type = 1; } } else { list.add("删除了联系人身份"); type = 1; } } else { if (cmClubinfo.getLinkManIdentity() != null) { list.add("新增了联系人身份"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getLinkMan())) { if (StringUtils.isNotBlank(cmClubinfo.getUserName())) { if (!cmClubinfo.getUserName().equals(newCmClubs.getLinkMan())) { list.add("修改了联系人"); type = 1; } } else { list.add("删除了联系人"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getUserName())) { list.add("新增了联系人"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getMainpro())) { if (StringUtils.isNotBlank(cmClubinfo.getMainpro())) { if (!cmClubinfo.getMainpro().equals(newCmClubs.getMainpro())) { list.add("修改了主营内容"); type = 1; } } else { list.add("删除了主营内容"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getMainpro())) { list.add("新增了主营内容"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getFirstClubType())) { if (StringUtils.isNotBlank(cmClubinfo.getFirstClubType())) { if (!cmClubinfo.getFirstClubType().equals(newCmClubs.getFirstClubType())) { list.add("修改了机构类型"); type = 1; } } else { list.add("删除了机构类型"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getFirstClubType())) { list.add("新增了机构类型"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getBusinessLicenseImage())) { if (StringUtils.isNotBlank(cmClubinfo.getBusinessLicenseImage())) { if (!cmClubinfo.getBusinessLicenseImage().equals(newCmClubs.getBusinessLicenseImage())) { list.add("修改了营业执照"); type = 1; } } else { list.add("删除了营业执照"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getBusinessLicenseImage())) { list.add("新增了营业执照"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getHeadpic())) { if (StringUtils.isNotBlank(cmClubinfo.getHeadpic())) { if (!cmClubinfo.getHeadpic().equals(newCmClubs.getHeadpic())) { list.add("修改了门头照"); type = 1; } } else { list.add("删除了门头照"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getHeadpic())) { list.add("新增了门头照"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getSocialCreditCode())) { if (StringUtils.isNotBlank(cmClubinfo.getSocialCreditCode())) { if (!cmClubinfo.getSocialCreditCode().equals(newCmClubs.getSocialCreditCode())) { list.add("修改了营业执照编号"); type = 1; } } else { list.add("删除了营业执照编号"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getSocialCreditCode())) { list.add("新增了营业执照编号"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getSname())) { if (StringUtils.isNotBlank(cmClubinfo.getSname())) { if (!cmClubinfo.getSname().equals(newCmClubs.getSname())) { list.add("修改了机构简称"); type = 1; } } else { list.add("删除了机构简称"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getSname())) { list.add("新增了机构简称"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getName())) { if (StringUtils.isNotBlank(cmClubinfo.getName())) { if (!cmClubinfo.getName().equals(newCmClubs.getName())) { list.add("修改了机构名称"); type = 1; } } else { list.add("删除了机构名称"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getName())) { list.add("新增了机构名称"); type = 1; } } if (StringUtils.isNotBlank(newCmClubs.getContractMobile())) { if (StringUtils.isNotBlank(cmClubinfo.getBindMobile())) { if (!cmClubinfo.getBindMobile().equals(newCmClubs.getContractMobile())) { list.add("修改了手机号"); type = 1; } } else { list.add("删除了手机号"); type = 1; } } else { if (StringUtils.isNotBlank(cmClubinfo.getBindMobile())) { list.add("新增了手机号"); type = 1; } } if (StringUtils.isNotBlank(newCmClub.getContractEmail())) { if (StringUtils.isNotBlank(newCmClub.getContractEmail())) { if (!newCmClub.getContractEmail().equals(newCmClubs.getContractEmail())) { list.add("修改了邮箱"); type = 1; } } else { list.add("删除了邮箱"); type = 1; } } else { if (StringUtils.isNotBlank(newCmClub.getContractEmail())) { list.add("新增了注册邮箱"); type = 1; } } } 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()); if (type == 1) { newCmClub.setLastModify(new Date()); } 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);//更新机构表数据 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); 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; OperationalLogs sysLog = new OperationalLogs(); 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)) { // 审核通过机构为新分配机构 newCmClub.setNewDeal(1); 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); } } Date date = new Date(); String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date); MessageCenter messageCenter = new MessageCenter(); messageCenter.setShopId(null); messageCenter.setClubId(newCmClub.getClubID()); messageCenter.setUserType(1); messageCenter.setMessageType(2); messageCenter.setContent(null); messageCenter.setTime(curDateStr); messageCenter.setAccountType(5); messageCenterDao.addMessageCenter(messageCenter); userPermission = 2; status = "90"; auditStatus = "1"; companyUser.setRegisterUserTypeID("3"); companyUser.setUserPermission(userPermission); try { logger.info("********资质机构审核成功微信公众号推送********"); Integer userID = companyUserID; String unionid = newShopOrderDao.UnionId(userID); List openidList = newShopOrderDao.getOpenidListByPermission(unionid); logger.info("userid>>>>>>>>>>>>>>>" + userID + "unionid》》》》》》》》》》" + unionid + "openid》》》》》》》》》" + openidList); String accessToken = weChatService.getAccessToken(); String auditTime = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date); String pagePath = "https://www.caimei365.com/"; for (String openid : openidList) { weChatService.sendTemplateMsg(accessToken, openid, auditTime, pagePath); } } catch (Exception e) { logger.error("【资质机构审核成功通知】获取微信公众号access_token异常!", e); } //审核通过升级为会员机构 companyUser.setUserIdentity(2); smsMessage = "恭喜您成功升级为资质机构用户!快戳采美网站链接www.caimei365.com或微信搜索“采美采购商城”小程序登录采美平台享受更多更好的服务吧。" + "关注公众号“采美365网”可获取更多优惠和精彩资讯。"; int userBeans = companyUser.getUserBeans() == null ? 0 : companyUser.getUserBeans(); companyUser.setUserBeans(userBeans + 500); } else { Date date = new Date(); String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date); MessageCenter messageCenter = new MessageCenter(); messageCenter.setShopId(null); messageCenter.setClubId(newCmClub.getClubID()); messageCenter.setUserType(1); messageCenter.setMessageType(2); messageCenter.setAccountType(6); messageCenter.setContent(null); messageCenter.setTime(curDateStr); messageCenterDao.addMessageCenter(messageCenter); try { logger.info("********资质机构审核失败微信公众号推送********"); Integer userID = companyUserID; String unionid = newShopOrderDao.UnionId(userID); List openidList = newShopOrderDao.getOpenidListByPermission(unionid); logger.info("userid>>>>>>>>>>>>>>>" + userID + "unionid》》》》》》》》》》" + unionid + "openid》》》》》》》》》" + openidList); String accessToken = weChatService.getAccessToken(); String auditTime = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date); String auditResult = auditNote; String pagePath = "https://www.caimei365.com/"; for (String openid : openidList) { weChatService.sendTemplateMessg(accessToken, openid, auditResult, auditTime, pagePath); } } catch (Exception e) { logger.error("【资质机构审核失败通知】获取微信公众号access_token异常!", e); } //审核未通过,普通机构权限 userPermission = 5; companyUser.setUserPermission(userPermission); status = "92"; auditStatus = "2"; smsMessage = "您的机构升级资质机构失败!快戳采美网站链接www.caimei365.com或微信搜索“采美采购商城”小程序登录采美平台修改升级信息重新提交审核。" + "关注公众号“采美365网”可获取更多优惠和精彩资讯。"; 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); } } } //机构表修改 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); //直接注册成为企业机构 或 升级成为机构 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(0, 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); 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 */ @RequiresPermissions("user:agency:regist") @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("cmRegistReportList") public String cmRegistReportList(CmClubRemarks cmClubRemarks, HttpServletRequest request, HttpServletResponse response, Model model) { List remarksLists = newCmClubDao.findRegistLists(cmClubRemarks); List remarksList = newCmClubDao.findRegistList(cmClubRemarks); cmClubRemarks.setConsults(newCmClubService.findConsults()); cmClubRemarks.setTeams(newCmClubService.findTeams()); model.addAttribute("cmClubRemarks", cmClubRemarks); model.addAttribute("remarksList", remarksList); model.addAttribute("remarksLists", remarksLists); return "modules/userNew/cmRegistReportList"; } @RequestMapping("recordLinkage") public String RecordLinkage(Integer clubId, HttpServletRequest request, HttpServletResponse response, Model model) { String link = newCmClubDao.recordLinkage(clubId); String describe = newCmClubDao.recordDescribe(clubId); if (describe == null) { describe = ""; } String linkage = ""; if (domain.contains("-b")) { linkage = "http://zzjtest.gz.aeert.com/clubinfo.html?clubId=" + clubId; } else if (domain.contains("www")) { linkage = "https://www.caimei365.com/clubinfo.html?clubId=" + clubId; } else { linkage = "http://localhost:8081/clubinfo.html?clubId=" + clubId; } // 机构注册IP,注册ip所在地 List behaviorList = newCmClubDao.selRegisterIP(clubId); CmBehaviorRecord record = new CmBehaviorRecord(); record.setClubID(clubId); // 注册ip所在地 String ipAddress = behaviorList.get(0).getRegion(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 获取注册时间一周前时间 Calendar calendar = Calendar.getInstance(); for (CmBehaviorRecord behaviorRecord : behaviorList) { try { Date date = simpleDateFormat.parse(behaviorRecord.getRegisterTime()); String registerTime = simpleDateFormat.format(date); calendar.setTime(date); // 获取注册时间一周前时间 calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - 7); Date today = calendar.getTime(); String startTime = simpleDateFormat.format(today); // 获取注册时间一周后时间 calendar.setTime(date); calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 7); Date lastDay = calendar.getTime(); String endTime = simpleDateFormat.format(lastDay); record.setIP(behaviorRecord.getRegisterIP()); record.setStartTime(startTime); record.setEndTime(endTime); record.setRegisterTime(registerTime); } catch (ParseException e) { e.printStackTrace(); } } Page page = cmBehaviorRecordService.behaviorAgencyPage(new Page<>(request, response), record); String masBehavior = ""; List list = page.getList(); for (int i = 0; i <= list.size() - 1; i++) { masBehavior += list.get(i).getPageLabel(); if (list.size() - 1 != i) { masBehavior += ","; } } model.addAttribute("page", page); model.addAttribute("link", link); model.addAttribute("linkage", linkage); model.addAttribute("describe", describe); model.addAttribute("masBehavior", masBehavior); model.addAttribute("ipAddress", ipAddress); model.addAttribute("clubId", clubId); return "modules/userNew/recordLinkageForm"; } @RequestMapping("recordLinkageSave") public String RecordLinkageSave(String describe, String masBehavior, String link, Integer clubId, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes redirectAttributes) { model.addAttribute("clubId", clubId); if (domain.contains("-b")) { link = "http://zzjtest.gz.aeert.com/clubinfo.html?clubId=" + clubId; } else if (domain.contains("www")) { link = "https://www.caimei365.com/clubinfo.html?clubId=" + clubId; } else { link = "http://localhost:8081/clubinfo.html?clubId=" + clubId; } // StringSelection stsel = new StringSelection(link); String replace = describe; if (describe.contains(masBehavior)) { replace = describe.replace(masBehavior, ""); } newCmClubDao.addRecordLinkage(replace, link, clubId); logger.info(">>>>>>>>>>>生成记录链接"); addMessage(redirectAttributes, "链接已生成并自动复制,可直接粘贴"); // Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stsel, stsel); return "redirect:" + Global.getAdminPath() + "/new/user/agency/"; } /** * 资料备注列表 */ @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); } @RequiresPermissions("user:agency:cmrenaksList") @RequestMapping("cmrenaksList") public String renaks(CmRemaks cmRemaks, HttpServletRequest request, HttpServletResponse response, Model model) { Page page = cmRemaksService.findPage(new Page(request, response, 20), cmRemaks); model.addAttribute("page", page); model.addAttribute("cmRemaks", cmRemaks); return "modules/userNew/cmRemaksList"; } @RequestMapping("cmrenaksForm") public String renaksForm(CmRemaks cmRemaks, HttpServletRequest request, HttpServletResponse response, Model model) { if (cmRemaks.getRemarksId() != null) { String remaks = newCmClubService.upremakasList(cmRemaks); model.addAttribute("list", cmRemaks); model.addAttribute("remaks", remaks); model.addAttribute("remaksId", cmRemaks.getRemarksId()); } return "modules/userNew/cmRemaksForm"; } @RequestMapping("addcmrenaksForm") public String addrenaksForm(CmRemaks cmRemaks, HttpServletRequest request, HttpServletResponse response, Model model) { if (cmRemaks.getRemarksId() != null) { System.out.println("》》》》进入修改方法"); newCmClubService.upremarks(cmRemaks); } else { System.out.println("》》》》进入新增方法"); cmRemaks.setAddtime(new Date()); newCmClubService.addRemarks(cmRemaks); } return "redirect:" + Global.getAdminPath() + "/new/user/agency/cmrenaksList"; } @RequestMapping("deleteRamarks") public String deleteRamarks(CmRemaks cmRemaks, HttpServletRequest request, HttpServletResponse response, Model model) { newCmClubService.deleteRamarks(cmRemaks); return "redirect:" + Global.getAdminPath() + "/new/user/agency/cmrenaksList"; } @RequiresPermissions("user:agency:reportList") @RequestMapping("ReportList") public String ReportList(CmReport cmReport, HttpServletRequest request, HttpServletResponse response, Model model) { Page page = newCmClubService.ReportList(new Page(request, response, 20), cmReport); model.addAttribute("page", page); model.addAttribute("cmReport", cmReport); return "modules/userNew/ReportList"; } @ResponseBody @RequestMapping("ReportCount") public Map ReportCount(Integer reportId, String auditName, String auditText, Integer status, Model model) { Map map = new HashedMap(); Integer clubCount = newCmClubDao.clubRemarksConut(reportId); Integer visitorCount = newCmClubDao.visitorRemarksConut(reportId); SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal(); auditName = principal.getName(); if ((clubCount += visitorCount) > 0) { map.put("success", false); newCmClubDao.updateAuditRemarks(reportId, auditName, auditText, status); System.out.println(">>>>>>>>" + (clubCount += visitorCount)); } else { System.out.println(">>>>>>>>" + (clubCount += visitorCount)); map.put("success", true); } return map; } @ResponseBody @RequestMapping("ClubRemarks") public Map audit(Integer remarksId, Integer type, Model model) { Map map = new HashedMap(); if (type == 1) { newCmClubDao.updateClubRemarks(remarksId); map.put("success", true); } else { newCmClubDao.updateVisitorRemarks(remarksId); map.put("success", true); } return map; } @ResponseBody @RequestMapping("DeleteRepor") public Map DeleteRepor(Integer reportId, Model model) { Map map = new HashedMap(); Integer clubCount = newCmClubDao.clubRemarksConut(reportId); Integer visitorCount = newCmClubDao.visitorRemarksConut(reportId); if ((clubCount += visitorCount) > 0) { map.put("success", false); System.out.println(">>>>>>>>" + (clubCount += visitorCount)); } else { newCmClubDao.deleteClubRemarks(reportId); System.out.println(">>>>>>>>" + (clubCount += visitorCount)); map.put("success", true); } return map; } @RequestMapping(value = "/statisticsList") public String statisticsList(ClubStatistics statistics, HttpServletRequest request, HttpServletResponse response, Model model) { Page page = newCmClubService.statisticsList(new Page<>(request, response), statistics); model.addAttribute("statistics", statistics); model.addAttribute("page", page); return "modules/userNew/cmAgencyStatisticsList"; } @ResponseBody @RequestMapping(value = "/club/export") public void easyExcel(ClubStatistics statistics, HttpServletResponse response, RedirectAttributes redirectAttributes) { String name = "club_Data"; try { List statisticsList = newCmClubService.exportExcel(statistics); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 String fileName = URLEncoder.encode(name, "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); // 这里需要设置不关闭流 // EasyExcel.write(response.getOutputStream(),ClubStatistics.class).sheet().doWrite(statisticsList); EasyExcel.write(response.getOutputStream(), easyExcel.class).autoCloseStream(Boolean.FALSE).sheet("模板") .doWrite(statisticsList); } catch (Exception e) { addMessage(redirectAttributes, "机构分析统计导出失败", e.getMessage()); e.printStackTrace(); } } @RequestMapping("/clubPortrait") public String clubPortrait(CmPortrait cmPortrait, Model model) { CmPortrait portrait = portraitService.dataTotal(cmPortrait); ClubStatistics statistics = portraitService.clubData(cmPortrait.getClubID()); model.addAttribute("cmPortrait", cmPortrait); model.addAttribute("portrait", portrait); model.addAttribute("statistics", statistics); return "modules/userNew/cmClubPortrait"; } @RequestMapping("/selPortraitData") @ResponseBody public Map selPortraitData(CmPortrait cmPortrait) { Map map = Maps.newLinkedHashMap(); try { CmPortrait portrait = portraitService.dataList(cmPortrait); ArrDate order = new ArrDate(); ArrDate behavior = new ArrDate(); ArrDate remarks = new ArrDate(); ArrDate pageType = new ArrDate(); // ArrayList orderPortrait = portrait.getOrderPortrait(); order.setOrderList(portrait.getOrderPortrait()); if (portrait.getOrderTotal() == null) { portrait.setOrderTotal(0); } order.setOrderTotalNum(portrait.getOrderTotal()); order.setStartTime(portrait.getStartTime()); order.setEndTime(portrait.getEndTime()); if (order.getOrderTotalNum() == 0) { map.put("order", null); } else { map.put("order", order); } behavior.setName(portrait.getBehaviorType()); behavior.setValue(portrait.getBehaviorValue()); behavior.setStartTime(portrait.getStartTime()); behavior.setEndTime(portrait.getEndTime()); if (ObjectUtils.isEmpty(behavior.getValue())) { map.put("behavior", null); } else { map.put("behavior", behavior); } remarks.setName(portrait.getRemarksType()); remarks.setValue(portrait.getRemarksValue()); remarks.setStartTime(portrait.getStartTime()); remarks.setEndTime(portrait.getEndTime()); if (ObjectUtils.isEmpty(remarks.getValue())) { map.put("remarks", null); } else { map.put("remarks", remarks); } pageType.setName(portrait.getPageType()); pageType.setValue(portrait.getPageTypeValue()); pageType.setStartTime(portrait.getStartTime()); pageType.setEndTime(portrait.getEndTime()); if (ObjectUtils.isEmpty(pageType.getValue())) { map.put("pageType", null); } else { map.put("pageType", pageType); } map.put("portrait", portrait); /*map.put("behavior",behavior); map.put("remarks",remarks); map.put("pageType",pageType); map.put("order",order);*/ map.put("code", 0); } catch (Exception e) { e.printStackTrace(); map.put("code", -1); } return map; } @RequestMapping("/clubData") public String clubData(NewCmClub newCmClub, Model model, HttpServletRequest request, HttpServletResponse response) { // 查询机构基本信息 Page page = newCmClubService.findPage(new Page(request, response, 20), newCmClub); if (page.getList().size() > 0) { newCmClub = page.getList().get(0); } // 机构详细信息 CmClubinfo cmClubinfo = new CmClubinfo(); cmClubinfo.setClubID(newCmClub.getClubID()); List cmClubinfos = cmClubinfoService.findList(cmClubinfo); if (null != cmClubinfos && cmClubinfos.size() > 0) { cmClubinfo = cmClubinfos.get(0); } cmClubinfo.setClubID(newCmClub.getClubID()); 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()); String mainpro = newCmClub.getMainpro(); if (StringUtils.isNotEmpty(mainpro)) { mainpro = mainpro.replaceAll("/", ","); } cmClubinfo.setMainpro(mainpro); cmClubinfo.setMedicalPracticeLicenseImg(newCmClub.getMedicalPracticeLicenseImg()); cmClubinfo.setContractEmail(newCmClub.getContractEmail()); cmClubinfo.setLinkManIdentity(newCmClub.getLinkManIdentity()); cmClubinfo.setUserIdentity(newCmClub.getUserIdentity()); cmClubinfo.setSvipUserFlag(newCmClub.getSvipUserFlag()); String wwwServer = Global.getConfig("wwwServer"); //营业执照 if (StringUtils.isNotBlank(newCmClub.getBusinessLicenseImage())) { newCmClub.setBusinessLicenseImage(AppUtils.getImageURL("clubBusinessLicenseImage", newCmClub.getBusinessLicenseImage(), 0, wwwServer)); } //门头照 if (StringUtils.isNotBlank(newCmClub.getHeadpic())) { newCmClub.setHeadpic(AppUtils.getImageURL("club", newCmClub.getHeadpic(), AppKeys.CLUB_LOGO_SIZE, wwwServer)); } model.addAttribute("cmClubinfo", cmClubinfo); model.addAttribute("newCmClub", newCmClub); return "modules/userNew/cmClubData"; } @RequestMapping("/spLogs") public String spListLog(NewCmClub cmClub, Model model, HttpServletRequest request, HttpServletResponse response) { NewCmClub club = sysLogService.clubData(cmClub.getClubID()); Page listLog = sysLogService.spListLog(new Page(request, response), cmClub.getClubID()); model.addAttribute("page", listLog); model.addAttribute("cmClub", club); return "modules/userNew/cmSpProviderLogs"; } }