123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505 |
- package com.caimei.modules.user.web;
- import com.caimei.constants.ServiceProviderStatus;
- import com.caimei.constants.UserIdentity;
- import com.caimei.constants.UserType;
- import com.caimei.modules.sys.utils.ValidateUtils;
- import com.caimei.modules.user.aop.OperationLogAnnotation;
- import com.caimei.modules.user.dao.CmSpDao;
- import com.caimei.modules.user.entity.CmMessage;
- import com.caimei.modules.user.entity.CmUser;
- import com.caimei.modules.user.entity.NewCmSp;
- import com.caimei.modules.user.service.CmMessageService;
- import com.caimei.modules.user.service.CmSpService;
- import com.caimei.modules.user.service.CmUserService;
- import com.caimei.utils.AppKeys;
- import com.caimei.utils.DateUtils;
- import com.caimei.utils.MD5Util;
- 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 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.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;
- /**
- * 用户模块重构-协销人员管理Controller
- *
- * @author liwentao
- * @version 2018-05-21
- */
- @Controller
- @RequestMapping(value = "${adminPath}/user/cmSp")
- public class CmSpController extends BaseController {
- @Autowired
- private CmSpService cmSpService;
- @Resource
- private CmMessageService cmMessageService;
- @Autowired
- private CmUserService cmUserService;
- @Autowired
- private CmSpDao cmSpDao;
- @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 newCmSp
- * @param request
- * @param response
- * @param model
- * @return
- */
- @RequestMapping(value = "showSelectSP")
- public String showSelectSP(NewCmSp newCmSp, HttpServletRequest request, HttpServletResponse response, Model model) {
- newCmSp.setStatus(90);
- Page<NewCmSp> page = newCmSp.setPage(new Page<NewCmSp>(request, response));
- page.setPageSize(10);
- page.setList(cmSpDao.findSelectList(newCmSp));
- model.addAttribute("page", page);
- return "modules/user/cmSpSelect";
- }
- @RequiresPermissions("user:cmSp:view")
- @RequestMapping(value = {"list", ""})
- 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/user/cmSpList";
- }
- @RequiresPermissions("user:cmSp:view")
- @RequestMapping(value = "form")
- public String form(NewCmSp newCmSp, Model model) {
- if (cmSpService.findSpManager() == null) {
- model.addAttribute("hasManager", 0);
- } else {
- model.addAttribute("hasManager", 1);
- }
- return "modules/user/cmSpForm";
- }
- @RequiresPermissions("user:cmSp:view")
- @RequestMapping(value = "edit")
- 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/user/cmSpEdit";
- }
- @RequiresPermissions("user:cmSp:edit")
- @RequestMapping(value = "save")
- public String save(NewCmSp newCmSp, Model model, RedirectAttributes redirectAttributes) {
- if (!beanValidator(model, newCmSp)) {
- return form(newCmSp, model);
- }
- 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 form(newCmSp, model);
- }
- cmUser.setRegisterUserTypeID(UserType.SERVICEPROVIDER.getCode() + ""); // 设置为协销经理
- }
- if ("0".equals(newCmSp.getPosition())) {
- cmUser.setRegisterUserTypeID(UserType.SERVICEEMPLOYEE.getCode() + ""); // 设置为协销员工
- }
- cmUser.setMobile(newCmSp.getContractMobile());
- // 目前只允许有一个协销经理的逻辑还存在问题
- // if ("1".equals(newCmSp.getPosition()) && newCmSp.getServiceProviderID() != null) { // 把协销员工修改职位变成协销经理 更新所有协销用的协销经理
- // cmSpService.updateSpManager(newCmSp.getServiceProviderID());
- // newCmSp.setMainServiceProviderID(newCmSp.getServiceProviderID());
- // }
- cmSpService.save(newCmSp);
- cmUserService.update(cmUser);
- addMessage(redirectAttributes, "保存协销人员管理成功");
- return "redirect:" + Global.getAdminPath() + "/user/cmSp/?repage";
- }
- /**
- * @param linkMan
- * @param mobile
- * @param password
- * @param passWordConfirm
- * @param duty 职位 0=协销员工 1=协销经理
- * @param model
- * @param redirectAttributes
- * @return
- */
- @RequiresPermissions("user:cmSp:edit")
- @RequestMapping(value = "create")
- @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(UserType.SERVICEPROVIDER.getDesc());
- cmUser.setRegisterUserTypeID(UserType.SERVICEEMPLOYEE.getCode() + "");
- } else {
- cmSp.setDuty(UserType.SERVICEEMPLOYEE.getDesc());
- cmUser.setRegisterUserTypeID(UserType.SERVICEEMPLOYEE.getCode() + "");
- }
- cmSp.setStatus(ServiceProviderStatus.WAIT_CHECK_DATA.getCode());
- cmSp.setAddTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
- if ("0".equals(duty)) cmSp.setMainServiceProviderID(1304); // 默认的协销经理 1304 王小萌
- cmSpService.save(cmSp);
- // 目前只允许有一个协销经理的逻辑还存在问题
- // if ("1".equals(duty) && cmSp.getServiceProviderID() != null) {
- // cmSpService.updateSpManager(cmSp.getServiceProviderID()); //如果添加的协销人员是协销经理 那么所有的协销员工的经理指向当前的这个协销经理
- // }
- try {
- cmUser.setPassword(MD5Utils.MD5(password));
- } catch (Exception e) {
- e.printStackTrace();
- }
- cmUser.setMobile(mobile);
- cmUser.setUserIdentity(UserIdentity.MAKER.getCode());
- cmUser.setAuditStatus(AppKeys.FLAG_NO);
- cmUser.setRegisterTime(DateUtils.getDateTime());
- cmUser.setValidFlag(AppKeys.FLAG_NO); // 默认为冻结状态 需要审核
- cmUser.setServiceProviderStatus(ServiceProviderStatus.WAIT_CHECK_DATA.getCode() + "");
- cmUser.setUserPermission(1);
- cmUser.setRealName(linkMan);
- cmUser.setUserName(linkMan);
- cmUser.setName(linkMan);
- 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;
- }
- @RequiresPermissions("user:cmSp:delete")
- @RequestMapping(value = "delete")
- public String delete(NewCmSp newCmSp, RedirectAttributes redirectAttributes) {
- cmSpService.delete(newCmSp);
- addMessage(redirectAttributes, "删除协销人员管理成功");
- return "redirect:" + Global.getAdminPath() + "/user/cmSp/?repage";
- }
- /**
- * 审核
- *
- * @param spID
- * @param auditNote
- * @param auditStatus 1为通过审核 0位审核驳回
- * @param position 职位 0=协销员工 1=协销经理
- * @return
- */
- @RequiresPermissions("user:cmSp:edit")
- @ResponseBody
- @RequestMapping(value = "auditSp")
- public Map<String, Object> auditSp(String spID, String auditNote, String auditStatus, String position) {
- NewCmSp cmSp = cmSpService.get(spID);
- CmUser cmUser = cmUserService.get(cmSp.getUserID() + "");
- Map<String, Object> map = Maps.newLinkedHashMap();
- if (cmUser == null) {
- map.put("success", false);
- map.put("msg", "用户信息异常");
- return map;
- }
- if ("1".equals(auditStatus)) {
- //审核通过
- cmSp.setAuditStatus(AppKeys.FLAG_YES);
- cmSp.setValidFlag(AppKeys.FLAG_YES);
- cmSp.setStatus(ServiceProviderStatus.ONLINE.getCode());
- if ("1".equals(position)) {
- cmUser.setRegisterUserTypeID(UserType.SERVICEPROVIDER.getCode() + "");
- } else {
- cmUser.setRegisterUserTypeID(UserType.SERVICEEMPLOYEE.getCode() + "");
- }
- cmUser.setUserIdentity(UserIdentity.MAKER.getCode());
- cmUser.setAuditStatus(AppKeys.FLAG_YES);
- cmUser.setValidFlag(AppKeys.FLAG_YES);
- cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
- cmUser.setUserPermission(4);
- map.put("msg", "审核已经通过");
- } else {
- // 审核不通过
- cmSp.setAuditStatus(AppKeys.FLAG_NO);
- cmSp.setValidFlag(AppKeys.FLAG_NO);
- cmSp.setStatus(ServiceProviderStatus.CHECK_FAIL.getCode());
- cmUser.setAuditStatus(AppKeys.FLAG_NO);
- cmUser.setValidFlag(AppKeys.FLAG_NO);
- cmUser.setServiceProviderStatus(ServiceProviderStatus.CHECK_FAIL.getCode() + "");
- map.put("msg", "审核已经驳回");
- }
- cmSp.setAuditNote(auditNote);
- cmSp.setAddTime(DateUtils.getDateTime());
- cmUser.setAuditNote(auditNote);
- cmUser.setAuditTime(DateUtils.getDateTime());
- cmSpService.update(cmSp);
- cmUserService.update(cmUser);
- map.put("success", true);
- return map;
- }
- /**
- * 发送消息
- *
- * @param title
- * @param content
- * @param id
- * @param request
- * @param response
- * @return
- */
- @RequiresPermissions("user:cmSp:edit")
- @ResponseBody
- @RequestMapping(value = "sendMsg")
- public Map<String, Object> sendMsg(String title, String content, String id, HttpServletRequest request, HttpServletResponse response) {
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- CmMessage cmMessage = new CmMessage();
- cmMessage.setAddTime(DateUtils.getDateTime());
- cmMessage.setContent(content);
- cmMessage.setTitle(title);
- cmMessage.setToUserID(Integer.parseInt(id));
- cmMessage.setMessageTypeID("1");
- cmMessage.setReadFlag("0");
- cmMessageService.save(cmMessage);
- map.put("errcode", 0);
- map.put("errmsg", "发送成功");
- } catch (Exception e) {
- logger.debug(e.toString(), e);
- map.put("errcode", 1);
- map.put("errmsg", "发送失败");
- }
- return map;
- }
- /**
- * 修改密码
- *
- * @param password
- * @param id
- * @param request
- * @param response
- * @return
- */
- @RequiresPermissions("user:cmSp:edit")
- @ResponseBody
- @RequestMapping(value = "updatePwd")
- public Map<String, Object> updatePwd(String password, String id, HttpServletRequest request, HttpServletResponse response) {
- Map<String, Object> map = Maps.newLinkedHashMap();
- try {
- NewCmSp newCmSp = cmSpService.get(id);
- CmUser cmUser = cmUserService.get(newCmSp.getUserID() + "");
- cmUser.setPassword(MD5Util.md5ToHex(password));
- cmUserService.update(cmUser);
- // cmSpService.update(newCmSp);
- map.put("errcode", 0);
- map.put("errmsg", "修改成功");
- } catch (Exception e) {
- logger.debug(e.toString(), e);
- map.put("errcode", 1);
- map.put("errmsg", "修改失败");
- }
- return map;
- }
- /**
- * 协销上线
- *
- * @param newCmSp
- * @param model
- * @param redirectAttributes
- * @return
- */
- @RequestMapping(value = "onLine")
- @RequiresPermissions("user:cmSp: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() + "/user/cmSp/?repage";
- } else {
- cmUser.setValidFlag(AppKeys.FLAG_YES);//解除冻结
- cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
- cmUser.setUserPermission(4);
- cmUserService.update(cmUser);
- }
- newCmSp.setStatus(ServiceProviderStatus.ONLINE.getCode());
- cmSpService.update(newCmSp);
- addMessage(redirectAttributes, "协销上线成功");
- return "redirect:" + Global.getAdminPath() + "/user/cmSp/?repage";
- }
- /**
- * 协销下线
- *
- * @param newCmSp
- * @param model
- * @param redirectAttributes
- * @return
- */
- @RequestMapping(value = "offLine")
- @RequiresPermissions("user:cmSp: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() + "/user/cmSp/?repage";
- } else {
- cmUser.setValidFlag(AppKeys.FLAG_NO);//冻结
- cmUser.setServiceProviderStatus(ServiceProviderStatus.FREEZE.getCode() + "");
- cmUser.setUserPermission(1);
- cmUserService.update(cmUser);
- }
- newCmSp.setStatus(ServiceProviderStatus.FREEZE.getCode());
- cmSpService.update(newCmSp);
- addMessage(redirectAttributes, "协销下线成功");
- return "redirect:" + Global.getAdminPath() + "/user/cmSp/?repage";
- }
- /**
- * 添加Flash消息
- *
- * @param messages
- */
- protected void addMessage(RedirectAttributes redirectAttributes, String... messages) {
- StringBuilder sb = new StringBuilder();
- for (String message : messages) {
- sb.append(message).append(messages.length > 1 ? "<br/>" : "");
- }
- redirectAttributes.addFlashAttribute("message", sb.toString());
- }
- // @RequestMapping(value = "createSp")
- // @RequiresPermissions("user:cmSp:edit")
- // public String createSp(String linkMan, String mobile, String password, String passWordConfirm, String duty1) {
- // JsonForm jsonForm = null;
- // if (!ValidateUtils.validateMobile(mobile)) {
- // return "";
- // }
- // jsonForm = ValidateUtils.validatePassWord(password);
- // if (!jsonForm.isReturn_code()) {
- // jsonForm.getReturn_message();
- // }
- // jsonForm = ValidateUtils.validatePassWordConfirm(password, passWordConfirm);
- // if (!jsonForm.isReturn_code()) {
- // jsonForm.getReturn_message();
- // }
- // NewCmSp newCmSp = new NewCmSp();
- // newCmSp.setlinkMan(linkMan);
- // newCmSp.setContractMobile(mobile);
- // newCmSp.setduty11(duty1);
- // cmSpService.save(newCmSp);
- // CmUser cmUser = new CmUser();
- // cmUser.setMobile(mobile);
- // cmUser.setUserIdentity(UserIdentity.MAKER.getCode());
- // cmUser.setRegisterUserTypeID(UserType.SERVICEEMPLOYEE.getCode() + "");
- // cmUser.setAuditStatus(AppKeys.FLAG_NO);
- // cmUser.setRegisterTime(DateUtils.getDateTime());
- // cmUser.setValidFlag(AppKeys.FLAG_NO); // 默认为冻结状态 需要审核
- // cmUser.setServiceProviderStatus(ServiceProviderStatus.WAIT_CHECK_DATA.getCode() + "");
- // cmUserService.save(cmUser);
- // newCmSp.setUserID(cmUser.getUserID());
- // cmSpService.update(newCmSp);
- // cmUser.setServiceProviderID(newCmSp.getServiceProviderID() + "");
- // cmUserService.update(cmUser);
- // try {
- // cmUser.setPassword(MD5Utils.MD5(password));
- // } catch (Exception e) {
- // e.printStackTrace();
- // }
- // return "modules/user/cmSpList";
- // }
- }
|