123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486 |
- package com.caimei.modules.user.web.newUser;
- import com.caimei.constants.ServiceProviderStatus;
- import com.caimei.constants.UserIdentity;
- import com.caimei.constants.UserType;
- import com.caimei.modules.bulkpurchase.entity.CmClub;
- import com.caimei.modules.bulkpurchase.service.CmClubService;
- import com.caimei.modules.project.dao.ClubDao;
- import com.caimei.modules.project.dao.ServiceProviderDao;
- import com.caimei.modules.project.model.ClubModel;
- import com.caimei.modules.project.model.ServiceProviderModel;
- import com.caimei.modules.sys.utils.ValidateUtils;
- 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.DateUtils;
- import com.caimei.utils.MD5Utils;
- 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.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.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.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * Description
- *
- * @author : Charles
- * @date : 2020/4/12
- */
- @Controller
- @RequestMapping(value = "${adminPath}/new/user/cmSp")
- public class SpController extends BaseController {
- @Resource
- private CmSpService cmSpService;
- @Resource
- private CmUserService cmUserService;
- @Resource
- private ClubChangeSpReviewService clubChangeSpReviewService;
- @Resource
- private ServiceProviderDao serviceProviderDao;
- @Resource
- private CmClubService cmClubService;
- @Resource
- private ClubDao clubDao;
- @Resource
- private SysLogService sysLogService;
- @Resource
- private NewCmClubService newCmClubService;
- @ModelAttribute
- public NewCmSp get(@RequestParam(required = false) String id) {
- NewCmSp entity = null;
- if (StringUtils.isNotBlank(id)) {
- entity = cmSpService.get(id);
- }
- if (entity == null) {
- entity = new NewCmSp();
- }
- return entity;
- }
- /**
- * 机构更换协销审核列表
- *
- * @param clubChangeSp
- * @param request
- * @param response
- * @param model
- * @return
- */
- @RequiresPermissions("user:newCmClub:view")
- @RequestMapping("clubChangeSp")
- public String list(ClubChangeSp clubChangeSp, HttpServletRequest request, HttpServletResponse response, Model model) {
- Page<ClubChangeSp> page = clubChangeSpReviewService.findPage(new Page<ClubChangeSp>(request, response), clubChangeSp);
- model.addAttribute("page", page);
- return "modules/userNew/clubChangeSpList";
- }
- //保存 审核
- @RequiresPermissions("user:newCmClub:edit")
- @ResponseBody
- @RequestMapping(value = "saveReview")
- public Map<String, Object> saveReview(String reviewStatus, Integer clubChangeSpRecordID, Integer newSpID) {
- OperationalLogs sysLog = new OperationalLogs();
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- Date currentTime = new Date();
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HHmmss");
- String dateString = formatter.format(currentTime);
- ClubChangeSp clubChangeSp = new ClubChangeSp();
- //审核通过
- if (StringUtils.equals("pass", reviewStatus)) {
- ClubChangeSp cssp = clubChangeSpReviewService.getClubChangeSpById(clubChangeSpRecordID);
- if (null != cssp) {
- String ClubsNames = sysLogService.ClubsName(clubChangeSpRecordID);
- Integer oldserviceProviderId = cssp.getOldSpID();
- Integer clubId = cssp.getClubID();
- Integer oldSpID = cssp.getOldSpID();
- Integer newspId = cssp.getNewSpID();
- List<Integer> oldname = newCmClubService.ClubsIds(cssp);
- for (Integer i : oldname) {
- if (i == null) {
- newCmClubService.oldname(oldserviceProviderId, clubId, oldSpID, newspId);
- } else {
- newCmClubService.oldnames(clubId, oldSpID, newspId);
- newCmClubService.updateServiceProvider(clubId, oldSpID, newspId);
- }
- }
- // 查询serviceprovider协销表
- List<ServiceProviderModel> serviceprovider = serviceProviderDao.getServiceproviderById(cssp.getNewSpID());
- // 查询cm_bind表
- if (CollectionUtils.isNotEmpty(serviceprovider)) {
- ServiceProviderModel serviceProvider = serviceprovider.get(0);
- Integer userID = serviceProvider.getUserID();
- //fixme gclub -- club 更换协销
- CmClub club = cmClubService.get(cssp.getClubID().toString());
- club.setDefaultServiceProviderUpdTime(dateString);//协销修改时间
- club.setMainServiceProviderID(serviceProvider.getMainServiceProviderID());//协销经理
- club.setSpID(serviceProvider.getServiceProviderID());
- club.setScanFlag("2");
- club.setInviterName(serviceProvider.getName());
- cmClubService.save(club);
- // 更新通过状态
- clubChangeSp.setCheckTime(new Date());
- clubChangeSp.setCheckStatus("1");//审核通过
- clubChangeSp.setClubChangeSpRecordID(clubChangeSpRecordID);
- clubChangeSpReviewService.updateCheckStatusById(clubChangeSp);
- map.put("success", true);
- map.put("msg", "操作成功");
- String ClubsName = sysLogService.ClubsName(clubChangeSpRecordID);
- String jgName = sysLogService.JgName(clubChangeSpRecordID);
- String linkMans = sysLogService.ClubName(clubChangeSpRecordID);
- sysLog.setOperationtime(new Date());
- if (ClubsNames == null) {
- sysLog.setActioncontent("采美默认协销经理(官方账号)" + "更换为" + ClubsName);
- } else {
- sysLog.setActioncontent(ClubsNames + "更换为" + ClubsName);
- }
- sysLog.setOperationtype("更换协销");
- sysLog.setContact(linkMans);
- sysLog.setInstitutionName(jgName);
- SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal();
- String username = principal.getName();
- sysLog.setOperator(username);
- //调用service保存SysLog实体类到数据库
- if (!"".equals(sysLog.getActioncontent())) {
- if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) {
- sysLogService.insert(sysLog);
- }
- }
- // 更换协销成功、添加机构更换协销记录
- if (null != serviceProvider.getServiceProviderID()) {
- sysLogService.insetProvider(serviceProvider.getServiceProviderID(), clubId, username);
- }
- } else {
- map.put("success", false);
- map.put("msg", "操作失败");
- logger.info("协销信息异常!!!");
- }
- } else {
- map.put("success", false);
- map.put("msg", "操作失败");
- logger.info("机构更换协销信息异常!!!");
- }
- }
- //审核未通过
- if (StringUtils.equals("fail", reviewStatus)) {
- clubChangeSp.setCheckTime(new Date());
- clubChangeSp.setCheckStatus("-1");//审核未通过
- clubChangeSp.setClubChangeSpRecordID(clubChangeSpRecordID);
- clubChangeSpReviewService.updateCheckStatusById(clubChangeSp);
- String jgName = sysLogService.JgName(clubChangeSpRecordID);
- String linkMans = sysLogService.ClubName(clubChangeSpRecordID);
- sysLog.setOperationtime(new Date());
- if (!"".equals(linkMans)) {
- sysLog.setActioncontent("审核不通过");
- }
- sysLog.setOperationtype("更换协销");
- sysLog.setContact(linkMans);
- sysLog.setInstitutionName(jgName);
- SystemAuthorizingRealm.Principal principal = UserUtils.getPrincipal();
- String username = principal.getName();
- sysLog.setOperator(username);
- //调用service保存SysLog实体类到数据库
- if (!"".equals(sysLog.getActioncontent())) {
- if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) {
- sysLogService.insert(sysLog);
- }
- }
- 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 newCmSp
- * @param request
- * @param response
- * @param model
- * @return
- */
- @RequiresPermissions("user:newCmClub:view")
- @RequestMapping(value = {"cmSpList", ""})
- public String list(NewCmSp newCmSp, HttpServletRequest request, HttpServletResponse response, Model model) {
- Page<NewCmSp> page = cmSpService.findPage(new Page<NewCmSp>(request, response), newCmSp);
- if (CollectionUtils.isEmpty(cmSpService.findSpManager())) {
- model.addAttribute("hasManager", "0");
- } else {
- model.addAttribute("hasManager", "1");
- }
- model.addAttribute("page", page);
- return "modules/userNew/cmSpList";
- }
- /**
- * 添加协销人员
- *
- * @param newCmSp
- * @param model
- * @return
- */
- @RequiresPermissions("user:newCmClub:view")
- @RequestMapping(value = "cmSpForm")
- public String form(NewCmSp newCmSp, Model model) {
- if (cmSpService.findSpManager() == null) {
- model.addAttribute("hasManager", 0);
- } else {
- model.addAttribute("hasManager", 1);
- }
- return "modules/userNew/cmSpForm";
- }
- /**
- * @param linkMan
- * @param mobile
- * @param password
- * @param passWordConfirm
- * @param duty 职位 0=协销员工 1=协销经理
- * @param model
- * @param redirectAttributes
- * @return
- */
- @RequiresPermissions("user:newCmClub:edit")
- @RequestMapping(value = "cmSpCreate")
- @ResponseBody
- public Map<String, Object> create(String linkMan, String mobile, String password, String passWordConfirm, String duty, Model model, RedirectAttributes redirectAttributes) {
- Map<String, Object> map = new HashMap<>();
- String result;
- if (!ValidateUtils.validateMobile(mobile)) {
- map.put("msg", "手机号码错误");
- map.put("success", false);
- return map;
- }
- if (cmUserService.findUserByMobile(mobile) != null) {
- map.put("msg", "手机号码已经被使用");
- map.put("success", false);
- return map;
- }
- result = ValidateUtils.validatePassWord(password);
- if (result != null) {
- map.put("msg", result);
- map.put("success", false);
- return map;
- }
- result = ValidateUtils.validatePassWordConfirm(password, passWordConfirm);
- if (result != null) {
- map.put("msg", result);
- map.put("success", false);
- return map;
- }
- if ("1".equals(duty) && CollectionUtils.isNotEmpty(cmSpService.findSpManager())) {
- map.put("msg", "已经存在协销经理了");
- map.put("success", false);
- return map;
- }
- NewCmSp cmSp = new NewCmSp();
- CmUser cmUser = new CmUser();
- cmSp.setLinkMan(linkMan);
- cmSp.setContractMobile(mobile);
- if ("1".equals(duty)) {
- cmSp.setDuty(com.caimei.constants.UserType.SERVICEPROVIDER.getDesc());
- cmUser.setRegisterUserTypeID(com.caimei.constants.UserType.SERVICEEMPLOYEE.getCode() + "");
- } else {
- cmSp.setDuty(com.caimei.constants.UserType.SERVICEEMPLOYEE.getDesc());
- cmUser.setRegisterUserTypeID(UserType.SERVICEEMPLOYEE.getCode() + "");
- }
- cmSp.setStatus(ServiceProviderStatus.ONLINE.getCode());
- cmSp.setAddTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
- //审核通过
- cmSp.setAuditStatus(AppKeys.FLAG_YES);
- cmSp.setValidFlag(AppKeys.FLAG_YES);
- // 默认的协销经理 1304 王小萌
- if ("0".equals(duty)) {
- cmSp.setMainServiceProviderID(1304);
- }
- cmSpService.save(cmSp);
- try {
- cmUser.setPassword(MD5Utils.MD5(password));
- } catch (Exception e) {
- e.printStackTrace();
- }
- cmUser.setUserOrganizeID(0);
- cmUser.setMobile(mobile);
- cmUser.setUserIdentity(UserIdentity.MAKER.getCode());
- cmUser.setRegisterTime(DateUtils.getDateTime());
- cmUser.setServiceProviderStatus(ServiceProviderStatus.WAIT_CHECK_DATA.getCode() + "");
- cmUser.setRealName(linkMan);
- cmUser.setUserName(linkMan);
- cmUser.setName(linkMan);
- cmUser.setAuditStatus(AppKeys.FLAG_YES);
- cmUser.setValidFlag(AppKeys.FLAG_YES);
- cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
- cmUser.setAuditTime(DateUtils.getDateTime());
- cmUserService.save(cmUser);
- cmSp.setUserID(cmUser.getUserID());
- cmSpService.update(cmSp);
- cmUser.setServiceProviderID(cmSp.getServiceProviderID() + "");
- cmUserService.update(cmUser);
- map.put("success", true);
- map.put("msg", "添加成功");
- return map;
- }
- /**
- * 协销上线
- *
- * @param newCmSp
- * @param model
- * @param redirectAttributes
- * @return
- */
- @RequestMapping(value = "cmSpOnLine")
- @RequiresPermissions("user:newCmClub:edit")
- public String onLine(NewCmSp newCmSp, Model model, RedirectAttributes redirectAttributes) {
- CmUser cmUser = cmUserService.get(newCmSp.getUserID() + "");
- if (cmUser == null) {
- addMessage(redirectAttributes, "上线失败,用户信息异常");
- return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
- } else {
- //解除冻结
- cmUser.setValidFlag(AppKeys.FLAG_YES);
- cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
- cmUserService.update(cmUser);
- }
- newCmSp.setStatus(ServiceProviderStatus.ONLINE.getCode());
- cmSpService.update(newCmSp);
- addMessage(redirectAttributes, "协销上线成功");
- return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
- }
- /**
- * 协销下线
- *
- * @param newCmSp
- * @param model
- * @param redirectAttributes
- * @return
- */
- @RequestMapping(value = "cmSpOffLine")
- @RequiresPermissions("user:newCmClub:edit")
- public String offLine(NewCmSp newCmSp, Model model, RedirectAttributes redirectAttributes) {
- CmUser cmUser = cmUserService.get(newCmSp.getUserID() + "");
- if (cmUser == null) {
- addMessage(redirectAttributes, "下线失败,用户信息异常");
- return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
- } else {
- //冻结
- cmUser.setValidFlag(AppKeys.FLAG_NO);
- cmUser.setServiceProviderStatus(ServiceProviderStatus.FREEZE.getCode() + "");
- cmUserService.update(cmUser);
- }
- newCmSp.setStatus(ServiceProviderStatus.FREEZE.getCode());
- cmSpService.update(newCmSp);
- addMessage(redirectAttributes, "协销下线成功");
- return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
- }
- @RequiresPermissions("user:newCmClub:view")
- @RequestMapping(value = "cmSpEdit")
- public String edit(NewCmSp newCmSp, Model model) {
- Map<String, String> positionMap = new HashMap<>();
- CmUser cmUser = cmUserService.get(newCmSp.getUserID() + "");
- if (CollectionUtils.isEmpty(cmSpService.findSpManager()) || cmUser.getRegisterUserTypeID().equals(UserType.SERVICEPROVIDER.getCode() + "")) {
- model.addAttribute("hasManager", 0);
- positionMap.put("1", UserType.SERVICEPROVIDER.getDesc());
- } else {
- model.addAttribute("hasManager", 1);
- }
- if (cmUser.getRegisterUserTypeID().equals(UserType.SERVICEPROVIDER.getCode() + "")) {
- newCmSp.setPosition("1");
- }
- if (cmUser.getRegisterUserTypeID().equals(UserType.SERVICEEMPLOYEE.getCode() + "")) {
- newCmSp.setPosition("0");
- }
- model.addAttribute("newCmSp", newCmSp);
- positionMap.put("0", UserType.SERVICEEMPLOYEE.getDesc());
- model.addAttribute("positionMap", positionMap);
- return "modules/userNew/cmSpEdit";
- }
- @RequiresPermissions("user:newCmClub:edit")
- @RequestMapping(value = "cmSpDelete")
- public String delete(NewCmSp newCmSp, RedirectAttributes redirectAttributes) {
- cmSpService.delete(newCmSp);
- addMessage(redirectAttributes, "删除协销人员管理成功");
- return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
- }
- @RequiresPermissions("user:newCmClub:edit")
- @RequestMapping(value = "cmSpSave")
- public String save(NewCmSp newCmSp, Model model, RedirectAttributes redirectAttributes) {
- List<NewCmSp> spManager = cmSpService.findSpManager();
- CmUser cmUser = cmUserService.get(newCmSp.getUserID() + "");
- //身份判断 防止出现多个协销经理
- if ("1".equals(newCmSp.getPosition())) {
- // 已经存在协销经理了
- if ((spManager.size() == 1) && (spManager.get(0).getUserID() != newCmSp.getUserID())) {
- addMessage(model, "已经存在协销经理了");
- return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
- }
- cmUser.setRegisterUserTypeID(UserType.SERVICEPROVIDER.getCode() + ""); // 设置为协销经理
- }
- if ("0".equals(newCmSp.getPosition())) {
- cmUser.setRegisterUserTypeID(UserType.SERVICEEMPLOYEE.getCode() + ""); // 设置为协销员工
- }
- cmUser.setMobile(newCmSp.getContractMobile());
- cmSpService.save(newCmSp);
- cmUserService.update(cmUser);
- addMessage(redirectAttributes, "保存协销人员管理成功");
- return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
- }
- @RequestMapping(value = "leader")
- public String leader(NewCmSp newCmSp, Model model, RedirectAttributes redirectAttributes) {
- newCmSp.setTeams(cmSpService.findTeam());
- NewCmSp manager = cmSpService.findSpManagerInfo();
- model.addAttribute("newCmSp", newCmSp);
- model.addAttribute("manager", manager);
- return "modules/userNew/cmSpTeamList";
- }
- @RequestMapping(value = "leader/save")
- public String leaderSave(NewCmSp newCmSp, Model model, RedirectAttributes redirectAttributes) {
- if (null == newCmSp.getServiceProviderID()) {
- model.addAttribute("message", "请选择管理人员!");
- return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/leader/?repage";
- }
- cmSpService.saveLeader(newCmSp.getServiceProviderID());
- addMessage(redirectAttributes, "保存大总管成功");
- return "redirect:" + Global.getAdminPath() + "/serviceteam/cmServiceteamRole/?repage";
- }
- }
|