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.CmUserDao; 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.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 { @Resource private CmUserDao cmUserDao; public CmUser get(String id) { return super.get(id); } public List findList(CmUser cmUser) { return super.findList(cmUser); } public Page findPage(Page 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.setName(null);//置空组织名称 cmUser.setUserIdentity(UserIdentity.NORMAL_USER.getCode()); cmUser.setRegisterUserTypeID(UserType.VISITOR.getCode() + "");//设为游离员工 cmUser.setClubID(null); cmUserDao.update(cmUser); } @Transactional(readOnly = false) public void unBindShop(CmUser cmUser) { cmUser.setName(null);//置空组织名称 cmUser.setUserIdentity(UserIdentity.NORMAL_USER.getCode()); cmUser.setRegisterUserTypeID(UserType.VISITOR.getCode() + "");//设为游离员工 cmUser.setManufacturerStatus(null); cmUser.setShopID(null); cmUserDao.update(cmUser); } /** * 查询员工(不包括企业用户) * * @param companyUserID * @return */ public List findByCompanyUserID(Integer companyUserID) { return cmUserDao.findByCompanyUserID(companyUserID); } @Transactional(readOnly = false) public void updateUserStatus(String manufacturerStatus, Integer userID, String validFlag) { cmUserDao.updateUserStatus(manufacturerStatus, userID, validFlag); } /** * 根据手机号码查询用户 * * @param mobile * @return */ @Transactional(readOnly = true) public CmUser findUserByMobile(String mobile) { return cmUserDao.findUserByMobile(mobile); } /** * 通过企业手机号码查询用户 * * @param cmUser * @return */ @Transactional(readOnly = true) public List findListBuyBindMobile(CmUser cmUser) { return cmUserDao.findListBuyBindMobile(cmUser); } /** * @return * @Author ye.qin * @Description 获取用户余额 * @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 checkMobile(String mobile, Integer userID, String source) { Map result = new HashMap<>(2); if (StringUtils.isEmpty(mobile)) { result.put("code", "-1"); result.put("msg", "手机号不能为空"); return result; } List 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; } }