package com.caimei.modules.weisha.web; import com.caimei.modules.common.dao.AreaDao; import com.caimei.modules.common.entity.City; import com.caimei.modules.common.entity.Province; import com.caimei.modules.common.entity.Town; import com.caimei.modules.user.dao.CmUserDao; import com.caimei.modules.user.entity.CmUser; import com.caimei.modules.user.entity.CmUserOrganize; import com.caimei.modules.user.entity.NewCmClub; import com.caimei.modules.user.service.CmUserService; import com.caimei.modules.user.service.NewCmClubService; import com.caimei.modules.weisha.entity.CmMallOrganize; import com.caimei.modules.weisha.service.CmMallOrganizeService; import com.caimei.utils.AppKeys; import com.caimei.utils.RandomCodeGenerator; import com.thinkgem.jeesite.common.config.Global; import com.thinkgem.jeesite.common.persistence.Page; import com.thinkgem.jeesite.common.web.BaseController; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; /** * 组织机构Controller * * @author : plf * @date : 2021/3/22 */ @Controller @RequestMapping(value = "${adminPath}/weisha/user") public class CmOrganizeClubController extends BaseController { @Autowired private CmUserDao cmUserDao; @Autowired private NewCmClubService newCmClubService; @Autowired private AreaDao areaDao; @Autowired private CmUserService cmUserService; @Autowired private CmMallOrganizeService cmMallOrganizeService; /** * 组织机构列表 */ @RequestMapping(value = "organizeClubList") public String organizeClubList(CmUser cmUser, Page page, Model model) { if (0 == page.getPageSize() || -1 == page.getPageSize()) { page.setPageSize(30); } cmUser.setPage(page); List cmUserList = cmUserDao.findListBuyUserInfo(cmUser); page.setList(cmUserList); CmMallOrganize mallOrganize = cmMallOrganizeService.get(cmUser.getUserOrganizeID().toString()); model.addAttribute("mallOrganize", mallOrganize); model.addAttribute("cmUserClub", cmUserList); model.addAttribute("startTime", cmUser.getStartTime()); model.addAttribute("endTime", cmUser.getEndTime()); return "modules/weisha/organizeClubList"; } /** * 上线机构(添加,编辑) */ @RequestMapping(value = "addClubUser") public String addClubUser(CmUserOrganize cmUserOrganize, NewCmClub newCmClub, Model model) { model.addAttribute("userOrganizeID", cmUserOrganize.getId()); if (null != newCmClub.getClubID()) { newCmClub = newCmClubService.findClubById(newCmClub.getClubID()); } Integer provinceID = newCmClub.getProvinceID(); Integer townID = newCmClub.getTownID(); Integer cityID = newCmClub.getCityID(); //控制编辑异常时候的会显地址下拉框 if (null != provinceID && provinceID > 0) { Province province = areaDao.loadProvinceById(provinceID); newCmClub.setProvince(province.getName()); } if (null != cityID && cityID > 0) { City city = areaDao.loadCityById(cityID); newCmClub.setCity(city.getName()); } if (null != townID && townID > 0) { Town town = areaDao.loadTownByID(townID); newCmClub.setTown(town.getName()); } model.addAttribute("newCmClub", newCmClub); return "modules/weisha/addClubUserForm"; } /** * 保存上线机构信息 */ @RequestMapping(value = "saveAddClubUser") @Transactional public String saveAddClubUser(CmUserOrganize cmUserOrganize, Page page, NewCmClub newCmClub, CmUser cmUser, Model model) throws Exception { String contractMobile = newCmClub.getContractMobile(); Integer userID = newCmClub.getUserID(); Integer clubID = newCmClub.getClubID(); cmUser.setUserOrganizeID(Integer.parseInt(cmUserOrganize.getId())); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String currentDate = sdf.format(new Date()); //判断该会所手机号是否已存在 cmUser.setBindMobile(contractMobile); List listBuyBindMobile = cmUserService.findListBuyBindMobile(cmUser); if (CollectionUtils.isNotEmpty(listBuyBindMobile) && listBuyBindMobile.size() > 0) { addMessage(model, "手机号重复,请更换手机号"); return addClubUser(cmUserOrganize, newCmClub, model); } //添加用户信息(新增或修改通用) cmUser.setName(newCmClub.getName()); cmUser.setUserName(newCmClub.getName()); cmUser.setRealName(newCmClub.getName()); //添加用户新增信息 if (null == userID) {//新增 cmUser.setClubStatus("90"); cmUser.setRegisterUserTypeID("4");//设置为会所 cmUser.setUserIdentity(4); cmUser.setServiceProviderStatus("90");//设置默认协销状态 cmUser.setServiceProviderID("1342"); cmUser.setAuditTime(currentDate); cmUser.setAuditStatus("1");//审核通过 cmUser.setAuditNote("后台添加用户系统默认审核通过"); cmUser.setRegisterTime(currentDate); cmUser.setLoginTime(currentDate); cmUser.setAccount(newCmClub.getContractMobile() + RandomCodeGenerator.generateAccount(2)); cmUser.setPassword("weisha"); cmUser.setBindMobile(newCmClub.getContractMobile()); cmUser.setUserName(newCmClub.getName()); cmUser.setUserMoney(0d); cmUser.setAbleUserMoney(0d); cmUser.setValidFlag("1"); cmUser.setAgreeFlag("1"); cmUser.setUserLevelID("1"); cmUser.setUserPermission(5); cmUserService.insert(cmUser);//插入新的用户数据 } //添加会所表信息 newCmClub.setSname(newCmClub.getName()); if (null == clubID) { newCmClub.setStatus(90); newCmClub.setUserID(cmUser.getUserID()); newCmClub.setDefaultServiceProviderID(AppKeys.DEFAULT_SPID); newCmClub.setSpID(AppKeys.DEFAULT_SPID); newCmClub.setMainServiceProviderID(AppKeys.DEFAULT_SPID); newCmClub.setAddTime(currentDate); newCmClub.setLinkMan1(newCmClub.getLinkMan()); newCmClub.setContractMobile1(newCmClub.getContractMobile()); newCmClub.setLevel(0d); newCmClub.setSubClubCount(0); newCmClub.setFavoriteTimes(0); newCmClub.setClubTypeID(1); newCmClub.setDefaultServiceProviderUpdTime(currentDate); newCmClubService.insert(newCmClub); //更新用户绑定关系 cmUser.setClubID(String.valueOf(newCmClub.getClubID())); String nick = cmUser.getUserID() + "_" + RandomCodeGenerator.generateCodeString(4).toLowerCase(); cmUser.setNick(nick); cmUser.setCompanyUserID(cmUser.getUserID()); //更新会所绑定关系 newCmClub.setUserID(cmUser.getUserID()); } cmUserService.update(cmUser);//更新用户表数据(编辑数据,或新增数据更新) newCmClubService.update(newCmClub);//更新会所表数据(编辑数据,或新增数据更新) return "redirect:" + Global.getAdminPath() + "/weisha/user/organizeClubList?userOrganizeID=" + cmUserOrganize.getId(); } /** * 机构上下线 */ @RequestMapping(value = "onlineAndOffline") public String onlineAndOffline(CmUser cmUser) { cmUserService.update(cmUser);//更新用户表数据 NewCmClub newCmClub = new NewCmClub(); newCmClub.setClubID(Integer.parseInt(cmUser.getClubID())); newCmClub.setUserID(cmUser.getUserID()); newCmClub.setStatus(Integer.valueOf(cmUser.getClubStatus())); newCmClubService.update(newCmClub);//更新会所表数据 return "redirect:" + Global.getAdminPath() + "/weisha/user/organizeClubList?userOrganizeID=" + cmUser.getUserOrganizeID(); } }