123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- package com.caimei.modules.user.service;
- import com.caimei.constants.UserIdentity;
- import com.caimei.constants.UserPermission;
- import com.caimei.constants.UserType;
- import com.caimei.form.JsonForm;
- import com.caimei.modules.order.entity.OrderUserInfo;
- import com.caimei.modules.user.dao.CmBindDao;
- import com.caimei.modules.user.dao.CmUserDao;
- import com.caimei.modules.user.entity.CmBind;
- import com.caimei.modules.user.entity.CmUser;
- import com.caimei.modules.user.utils.ValidateUtil;
- import com.thinkgem.jeesite.common.persistence.Page;
- import com.thinkgem.jeesite.common.service.CrudService;
- import com.thinkgem.jeesite.common.utils.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.annotation.Resource;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * 用户Service
- *
- * @author ZCP
- * @version 2017-10-10
- */
- @Service
- @Transactional(readOnly = true)
- public class CmUserService extends CrudService<CmUserDao, CmUser> {
- @Autowired
- CmUserDao cmUserDao;
- @Resource
- CmBindDao cmBindDao;
- public CmUser get(String id) {
- return super.get(id);
- }
- public List<CmUser> findList(CmUser cmUser) {
- return super.findList(cmUser);
- }
- // todo lwt 普通用户管理操作
- // public List<CmUser> findAllPersonalUser() {
- // return cmUserDao.findAllPersonalUser();
- // }
- //
- // public List<CmUser> findUserByRegisterType(Integer registerUserTypeID) {
- // return cmUserDao.findUserByRegisterType(registerUserTypeID);
- // }
- //
- public Page<CmUser> findPage(Page<CmUser> page, CmUser cmUser) {
- return super.findPage(page, cmUser);
- }
- @Transactional(readOnly = false)
- public void save(CmUser cmUser) {
- super.save(cmUser);
- }
- @Transactional(readOnly = false)
- public void insert(CmUser cmUser) {
- cmUserDao.insert(cmUser);
- }
- @Transactional(readOnly = false)
- public void delete(CmUser cmUser) {
- super.delete(cmUser);
- }
- @Transactional(readOnly = false)
- public void update(CmUser cmUser) {
- cmUserDao.update(cmUser);
- }
- @Transactional(readOnly = false)
- public void unBindClub(CmUser cmUser) {
- cmUser.setCompanyUserID(null); //置空所属企业用户对应UserID
- cmUser.setName(null);//置空组织名称
- cmUser.setUserIdentity(UserIdentity.NORMAL_USER.getCode());
- cmUser.setUserPermission(UserPermission.NORMAL.getCode());//用户权限改成普通人
- cmUser.setRegisterUserTypeID(UserType.VISITOR.getCode() + "");//设为游离员工
- cmUser.setClubStatus(null);
- cmUser.setClubID(null);
- cmUserDao.update(cmUser);
- }
- @Transactional(readOnly = false)
- public void unBindShop(CmUser cmUser) {
- cmUser.setCompanyUserID(null); //置空所属企业用户对应UserID
- cmUser.setName(null);//置空组织名称
- cmUser.setUserIdentity(UserIdentity.NORMAL_USER.getCode());
- cmUser.setUserPermission(UserPermission.NORMAL.getCode());//用户权限改成普通人
- cmUser.setRegisterUserTypeID(UserType.VISITOR.getCode() + "");//设为游离员工
- cmUser.setManufacturerStatus(null);
- cmUser.setShopID(null);
- cmUserDao.update(cmUser);
- }
- @Transactional(readOnly = false)
- public void unBindWeChat(CmUser cmUser) {
- cmUser.setOpenID(null);//解除与微信的关联
- cmUserDao.update(cmUser);
- List<CmBind> cmbinds = cmBindDao.findCmbindByUserId(cmUser.getUserID());
- CmBind cmbind = cmbinds.get(0);
- cmbind.setUserID(null);//微信与用户解绑
- cmbind.setRegisterUserTypeID(UserType.WXUSER.getCode() + "");//设为微信游客
- cmBindDao.update(cmbind);
- }
- /**
- * 查询员工(不包括企业用户)
- *
- * @param companyUserID
- * @return
- */
- public List<CmUser> findByCompanyUserID(Integer companyUserID) {
- return cmUserDao.findByCompanyUserID(companyUserID);
- }
- /**
- * 通过企业用户ID 更新员工状态
- *
- * @param clubStatus
- * @param manufacturerStatus
- * @param companyUserID
- */
- @Transactional(readOnly = false)
- public void updateEmployeeStatus(Integer userPermission, String clubStatus, String manufacturerStatus, String tipStatus, Integer companyUserID) {
- cmUserDao.updateEmployeeStatus(userPermission, clubStatus, manufacturerStatus, tipStatus, companyUserID);
- }
- @Transactional(readOnly = false)
- public void updateUserStatus(String manufacturerStatus, Integer userID, String validFlag) {
- cmUserDao.updateUserStatus(manufacturerStatus, userID, validFlag);
- }
- /**
- * 通过企业用户ID 更新员工权限
- *
- * @param companyUserID
- */
- @Transactional(readOnly = false)
- public void updateEmployeePermission(Integer userPermission, Integer companyUserID) {
- cmUserDao.updateEmployeePermission(userPermission, companyUserID);
- }
- /**
- * 企业审核未通过 使申请者变为普通用户
- *
- * @return
- */
- @Transactional(readOnly = false)
- public void initEmployeeInfo() {
- cmUserDao.initEmployeeInfo();
- }
- /**
- * 根据手机号码查询用户
- *
- * @param mobile
- * @return
- */
- @Transactional(readOnly = true)
- public CmUser findUserByMobile(String mobile) {
- return cmUserDao.findUserByMobile(mobile);
- }
- /**
- * 通过企业手机号码查询用户
- *
- * @param cmUser
- * @return
- */
- @Transactional(readOnly = true)
- public List<CmUser> findListBuyBindMobile(CmUser cmUser) {
- return cmUserDao.findListBuyBindMobile(cmUser);
- }
- /**
- * @return
- * @Author ye.qin
- * @Description //TODO 修改用户的可用余额
- * @Date 2019\5\23 0023 13:56
- * @Param
- */
- @Transactional(readOnly = false)
- public void updateAbleUserMoney1(OrderUserInfo user) {
- cmUserDao.updateAbleUserMoney(user);
- }
- /**
- * @Author ye.qin
- * @Description //TODO 设置余额
- * @Date 2019\6\20 0020 16:40
- * @Param
- * @return
- */
- // @Transactional(readOnly = false)
- // public void setBalance(CmUser user, Double amount) {
- // if(UserType.isMaker(Integer.parseInt(user.getRegisterUserTypeID()))){
- // return;
- // }
- // if(UserType.isClub(Integer.parseInt(user.getRegisterUserTypeID()))){
- // user = get(user.getCompanyUserID().toString());
- // }
- // logger.info("----------------------->原余额:" + user.getUserMoney() + "==原可用余额:"+user.getAbleUserMoney());
- // //减操作不更新可用余额
- // if(amount < 0d){
- // user.setUserMoney(user.getUserMoney()+amount);
- // }else{
- // user.setUserMoney(user.getUserMoney()+amount);
- // user.setAbleUserMoney(user.getAbleUserMoney()+amount);
- // }
- // logger.info("----------------------->设置余额:" + amount);
- // logger.info("----------------------->当前余额:" + user.getUserMoney() + "==当前可用余额:"+user.getAbleUserMoney());
- // cmUserDao.updateMoney(user);
- // }
- /**
- * @return
- * @Author ye.qin
- * @Description //TODO 获取用户余额
- * @Date 2019\6\25 0025 17:36
- * @Param
- */
- @Transactional(readOnly = true)
- public OrderUserInfo getBalance(OrderUserInfo bean) {
- CmUser user = get(bean.getUserId().toString());
- if (user != null) {
- if (user.getRegisterUserTypeID() != null) {
- //协销
- if (UserType.isMaker(Integer.parseInt(user.getRegisterUserTypeID()))) {
- bean.setUserMoney(0d);
- bean.setAbleUserMoney(0d);
- return bean;
- }
- //会所
- if (UserType.isClub(Integer.parseInt(user.getRegisterUserTypeID()))) {
- user = get(user.getUserID().toString());
- }
- }
- bean.setUserMoney(user.getUserMoney());
- bean.setAbleUserMoney(user.getAbleUserMoney());
- }
- return bean;
- }
- /**
- * 编辑用户信息验证新手机号是否可用
- */
- public Map<String, String> checkMobile(String mobile, Integer userID, String source) {
- Map<String, String> result = new HashMap<>(2);
- if (StringUtils.isEmpty(mobile)) {
- result.put("code", "-1");
- result.put("msg", "手机号不能为空");
- return result;
- }
- List<CmUser> users = cmUserDao.selectByMobileOrEmail(mobile, source);
- if (users != null && users.size() > 0) {
- for (int i = 0; i < users.size(); i++) {
- //查到的用户不是自己
- if (!users.get(i).getUserID().equals(userID)) {
- //获取不可用原因
- JsonForm validReason = ValidateUtil.findValidReason(mobile, users.get(i));
- result.put("code", "-1");
- result.put("msg", validReason.getReturn_message());
- } else {
- //查到的用户是自己
- if ((mobile.equals(users.get(i).getBindMobile()) || mobile.equals(users.get(i).getEmail()))) {
- //手机号与机构/供应商联系人手机号相同
- result.put("code", "1");
- result.put("msg", "该手机号可以使用");
- break;
- } else {
- //手机号与机构/供应商运营人员手机号相同
- JsonForm validReason = ValidateUtil.findValidReason(mobile, users.get(i));
- result.put("code", "-1");
- result.put("msg", validReason.getReturn_message());
- }
- }
- }
- } else {
- result.put("code", "1");
- result.put("msg", "该账号可以注册");
- }
- return result;
- }
- }
|