package com.caimei.modules.weisha.web; import com.caimei.modules.bulkpurchase.entity.CmClub; import com.caimei.modules.user.dao.CmUserDao; import com.caimei.modules.user.entity.CmUser; 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.caimei.utils.StringUtil; 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.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.servlet.mvc.support.RedirectAttributes; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; /** * 组织列表Controller * * @author plf * @version 2021-03-18 */ @Controller @RequestMapping(value = "${adminPath}/weisha/cmMallOrganize") public class CmMallOrganizeController extends BaseController { @Autowired private CmUserDao cmUserDao; @Autowired private CmMallOrganizeService cmMallOrganizeService; @Autowired private CmUserService cmUserService; @Autowired private NewCmClubService newCmClubService; @ModelAttribute public CmMallOrganize get(@RequestParam(required = false) String id) { CmMallOrganize entity = null; if (StringUtils.isNotBlank(id)) { entity = cmMallOrganizeService.get(id); } if (entity == null) { entity = new CmMallOrganize(); } return entity; } @RequestMapping(value = {"list", ""}) public String list(CmMallOrganize cmMallOrganize, HttpServletRequest request, HttpServletResponse response, Model model) { Page page = cmMallOrganizeService.findPage(new Page(request, response), cmMallOrganize); model.addAttribute("page", page); return "modules/weisha/cmMallOrganizeList"; } @RequestMapping(value = "form") public String form(CmMallOrganize cmMallOrganize, Model model) { model.addAttribute("cmMallOrganize", cmMallOrganize); return "modules/weisha/cmMallOrganizeForm"; } @RequestMapping(value = "save") public String save(CmMallOrganize cmMallOrganize, Model model, RedirectAttributes redirectAttributes) { if (!beanValidator(model, cmMallOrganize)) { return form(cmMallOrganize, model); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String currentDate = sdf.format(new Date()); CmUser cmUser = new CmUser(); NewCmClub newCmClub = new NewCmClub(); if (StringUtils.isNotEmpty(cmMallOrganize.getId())) { cmUser = cmUserDao.findUserByOrganizeId(Integer.parseInt(cmMallOrganize.getId())); newCmClub = newCmClubService.getclubByUserId(cmUser.getUserID()); } //判断该会所手机号是否已存在 cmUser.setBindMobile(cmMallOrganize.getMobile()); newCmClub.setCheckTime(null); List listBuyBindMobile = cmUserService.findListBuyBindMobile(cmUser); if (CollectionUtils.isNotEmpty(listBuyBindMobile) && listBuyBindMobile.size() > 0) { addMessage(model, "手机号重复,请更换手机号"); return form(cmMallOrganize, model); } cmMallOrganizeService.save(cmMallOrganize); //添加用户信息(新增或修改通用) cmUser.setUserOrganizeID(Integer.parseInt(cmMallOrganize.getId())); cmUser.setName(cmMallOrganize.getOrganizeName()); cmUser.setLinkMan(cmMallOrganize.getOrganizeLinkName()); cmUser.setUserName(cmMallOrganize.getOrganizeLinkName()); newCmClub.setName(cmMallOrganize.getOrganizeName()); newCmClub.setLinkMan(cmMallOrganize.getOrganizeLinkName()); newCmClub.setContractMobile(cmMallOrganize.getMobile()); if (StringUtil.isNotBlank(cmMallOrganize.getOrganizeName())) { //添加用户新增信息 if (null == cmUser.getUserID()) {//新增 cmUser.setClubStatus("1".equals(cmMallOrganize.getStatus()) ? "90" : "91"); 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(cmMallOrganize.getMobile() + RandomCodeGenerator.generateAccount(2)); cmUser.setPassword("weisha"); cmUser.setBindMobile(cmMallOrganize.getMobile()); cmUser.setUserMoney(0d); cmUser.setAbleUserMoney(0d); cmUser.setValidFlag("1"); cmUser.setAgreeFlag("1"); cmUser.setUserLevelID("1"); cmUser.setUserPermission(5); cmUserService.insert(cmUser);//插入新的用户数据 } //添加会所表信息 if (null == newCmClub.getClubID()) { newCmClub.setStatus("1".equals(cmMallOrganize.getStatus()) ? 90 : 91); 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);//更新会所表数据(编辑数据,或新增数据更新) } addMessage(redirectAttributes, "保存组织成功"); return "redirect:" + Global.getAdminPath() + "/weisha/cmMallOrganize/?repage"; } @RequestMapping(value = "onlineAndOffline") public String onlineAndOffline(Integer organizeId, String status) { cmMallOrganizeService.onlineAndOffline(organizeId, status); return "redirect:" + Global.getAdminPath() + "/weisha/cmMallOrganize/?repage"; } }