派生自 projectDept/qhighschool

yn147
2023-05-10 96286178ee1c257c130cb2ad964a781f36c4eee5
src/main/java/com/qxueyou/scc/user/service/impl/UserService.java
@@ -1,6 +1,7 @@
package com.qxueyou.scc.user.service.impl;
import java.util.List;
import java.util.UUID;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +21,7 @@
import com.qxueyou.scc.user.model.User;
import com.qxueyou.scc.user.model.UserReRoleUser;
import com.qxueyou.scc.user.service.IUserService;
import org.springframework.util.DigestUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@@ -27,9 +29,9 @@
import javax.servlet.http.HttpSession;
/**
 * 用户管理服务
 * 用户管理服务
 *
 * @author 德虎
 * @author 德虎
 */
@Service
public class UserService extends CommonAppService implements IUserService {
@@ -38,7 +40,7 @@
    IOrganizationService organizationService;
    /**
     * 初始化用户wrapper
     * 初始化用户wrapper
     */
    @Override
    public UserInfoWrapper initUserInfoWrapper(CacheParamters param, boolean needMenus) {
@@ -46,20 +48,23 @@
        HttpSession session = request.getSession();
        UserInfoWrapper wrapper = new UserInfoWrapper();
        User user = read(User.class, param.getUserId());
//        System.out.println("用户信息"+user);
        // TODO:这里需要对应的获取组织信息
//        System.out.println("用户信息"+user);
        // TODO:这里需要对应的获取组织信息
        Organization org = read(Organization.class, user.getOrganizationId());
//        System.out.println("组织信息"+user.getOrganizationId());
//        System.out.println("组织信息"+user.getOrganizationId());
        //TODO 设置user,添加UUNUMBER
        //TODO 设置user,添加UUNUMBER
        user.setEmail(param.getCustomRoleValue());
        user.setAge(1);
        //TODO 设置user,添加UURENUMBER
        //TODO 设置user,添加UURENUMBER
        user.setImei(param.getCustomOrgId());
        //查询班级信息
        //查询班级信息
//        System.out.println(user.getUserId());
//        System.out.println(user.getOrganizationId());
//        System.out.println(StuStudent.STATUS_ACTIVE);
        System.out.println(user.getOrganizationId());
        System.out.println(user.getUserId());
        ClsClass objClsClass = this.findUnique("select c from StuStudent t,"
              + " ClsClass c where c.classId = t.classId "
              + " and c.orgId = ? and t.userId = ? and t.status = ? order by t.createTime desc", CollectionUtils.newList(user.getOrganizationId(), user.getUserId(), StuStudent.STATUS_ACTIVE), ClsClass.class);
@@ -68,8 +73,10 @@
        wrapper.setClass(objClsClass);
        wrapper.setLoginInfo(param.getCacheIpFlag(), param.getIp(), param.getPlatForm());
        session.setAttribute(UserInfoWrapper.INF_USER_ID,user.getUserId());
        session.setAttribute(UserInfoWrapper.INF_USER_NAME,user.getName());
        if(objClsClass!=null){
            session.setAttribute(UserInfoWrapper.INF_CLASS_ID,objClsClass.getClassId());
            session.setAttribute(UserInfoWrapper.INF_CLASS_NAME,objClsClass.getName());
        }
        return wrapper;
    }
@@ -80,13 +87,18 @@
    }
    private User newUser(String name, String account, String mobilePhone, String password, Boolean sex, String orgId) {
        //随机字符串
        String salt= UUID.randomUUID().toString();
        User user = new User();
        TraceUtils.setCreateTrace(user);
        user.setAccount(account);
        user.setName(name);
        //盐值
        user.setSalt(salt);
        //对密码进行加密处理
        String newPassword= DigestUtils.md5DigestAsHex((salt+password).getBytes());
        user.setPassword(newPassword);
        user.setMobilePhone(mobilePhone);
        user.setPassword(password);
        user.setSex(sex);
        user.setOrganizationId(orgId);
        save(user);
@@ -120,11 +132,18 @@
    @Override
    public Result updatePassword(String userId, String usedPass, String pass) {
        User user = read(User.class, userId);
        //随机字符串
        String salt= UUID.randomUUID().toString();
        //盐值
        user.setSalt(salt);
        //对密码进行加密处理
        String newPassword= DigestUtils.md5DigestAsHex((salt+pass).getBytes());
        String newPasswords= DigestUtils.md5DigestAsHex((salt+usedPass).getBytes());
        if (StringUtils.isNotBlank(usedPass) && StringUtils.isNotBlank(pass)) {
            if (!user.getPassword().equals(usedPass)) {
                return new Result(false, "输入的旧密码错误");
            if (!user.getPassword().equals(newPasswords)) {
                return new Result(false, "输入的旧密码错误");
            }
            user.setPassword(pass);
            user.setPassword(newPassword);
        }
        TraceUtils.setUpdateTrace(user);
        save(user);
@@ -133,14 +152,14 @@
    }
    /**
     * 用户设置头像
     * 用户设置头像
     *
     * @param headPath
     * @return
     */
    public Result updateUserHead(String userId, String headPath) {
        if(StringUtils.isEmpty(headPath)) {
           return new Result(false, "头像地址为空");
           return new Result(false, "头像地址为空");
        }
        User user = read(User.class, userId);
@@ -152,7 +171,7 @@
    }
    /**
     * 用户设置手机号
     * 用户设置手机号
     *
     * @param headPath
     * @return
@@ -172,8 +191,14 @@
    public Result updatePassword(String userId, String password) {
        User user = read(User.class, userId);
        //随机字符串
        String salt= UUID.randomUUID().toString();
        //盐值
        user.setSalt(salt);
        //对密码进行加密处理
        String newPassword= DigestUtils.md5DigestAsHex((salt+password).getBytes());
        TraceUtils.setUpdateTrace(user);
        user.setPassword(password);
        user.setPassword(newPassword);
        save(user);
@@ -214,11 +239,12 @@
                             Boolean sex) {
        User dbUser = read(User.class, userId);
      String salt = dbUser.getSalt();
      String newPassword= DigestUtils.md5DigestAsHex((salt+password).getBytes());
        if (dbUser.getAccount().equals(account)) {
            dbUser.setName(name);
            dbUser.setMobilePhone(mobilePhone);
            dbUser.setPassword(password);
            dbUser.setPassword(newPassword);
            TraceUtils.setCreateTrace(dbUser);
            save(dbUser);
            return new Result(true, "success");
@@ -226,12 +252,12 @@
        User user = getUserByAccount(account, ClientUtils.getOrgId());
        if (null != user) {
            return new Result(false, "用户账号已经存在");
            return new Result(false, "用户账号已经存在");
        }
        dbUser.setAccount(account);
        dbUser.setName(name);
        dbUser.setMobilePhone(mobilePhone);
        dbUser.setPassword(password);
        dbUser.setPassword(newPassword);
        TraceUtils.setCreateTrace(dbUser);
        save(dbUser);
        return new Result(true, "success");