派生自 projectDept/qhighschool

EricsHu
2023-11-26 bf13676673e9f0f090a68bd8cfbaefbf0d696d32
src/main/java/com/qxueyou/scc/user/service/impl/UserService.java
@@ -1,7 +1,9 @@
package com.qxueyou.scc.user.service.impl;
import java.util.List;
import java.util.UUID;
import com.qxueyou.scc.base.dao.CommonDAO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -20,6 +22,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;
@@ -36,6 +39,9 @@
    @Autowired
    IOrganizationService organizationService;
    @Autowired
    private CommonDAO commonDAO;
    /**
     * 初始化用户wrapper
@@ -60,14 +66,20 @@
//        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());
//        String hql = "from UserReRoleUser u where deleteFlag is false and userId = ? ";
//
//         find(hql, CollectionUtils.newList(param.getUserId()), UserReRoleUser.class);
        ClsClass objClsClass = this.findUnique("select c from StuStudent t,"
              + " ClsClass c where c.classId = t.classId "
              + "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);
        wrapper.setUser(user);
        wrapper.setOrg(org);
        wrapper.setClass(objClsClass);
        wrapper.setLoginInfo(param.getCacheIpFlag(), param.getIp(), param.getPlatForm());
        System.out.println("aaa"+user.getUserId());
        session.setAttribute(UserInfoWrapper.INF_USER_ID,user.getUserId());
        session.setAttribute(UserInfoWrapper.INF_USER_NAME,user.getName());
        if(objClsClass!=null){
@@ -78,18 +90,24 @@
    }
    @Override
    public User insertUser(String name, String account, String mobilePhone, String password, Boolean sex, String orgId) {
        return newUser(name, account, mobilePhone, password, sex, orgId);
    public User insertUser(  String photo,String name, String account, String mobilePhone, String password, Boolean sex, String orgId) {
        return newUser( photo,name, account, mobilePhone, password, sex, orgId);
    }
    private User newUser(String name, String account, String mobilePhone, String password, Boolean sex, String orgId) {
    private User newUser(String photo,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.setImgPath(photo);
        user.setSex(sex);
        user.setOrganizationId(orgId);
        save(user);
@@ -122,12 +140,25 @@
    @Override
    public Result updatePassword(String userId, String usedPass, String pass) {
        String hql = null;
        List<Object> params = null;
        User user = read(User.class, userId);
        //随机字符串
        String salt= UUID.randomUUID().toString();
        String salts = user.getSalt();
        //盐值
        user.setSalt(salt);
        //对密码进行加密处理
        String newPassword= DigestUtils.md5DigestAsHex((salt+pass).getBytes());
        String newPasswords= DigestUtils.md5DigestAsHex((salts+usedPass).getBytes());
        if (StringUtils.isNotBlank(usedPass) && StringUtils.isNotBlank(pass)) {
            if (!user.getPassword().equals(usedPass)) {
            if (!user.getPassword().equals(newPasswords)) {
                return new Result(false, "输入的旧密码错误");
            }
            user.setPassword(pass);
            user.setPassword(newPassword);
        }
        TraceUtils.setUpdateTrace(user);
        save(user);
@@ -150,6 +181,9 @@
        user.setImgPath(headPath);
        TraceUtils.setUpdateTrace(user);
         save(user);
        this.bulkUpdate("update StuStudent set photo = ? , " +
                        " updateTime = sysdate(), updateId = ? , updator = ? where userId = ?  " ,
                new Object[]{ headPath,userId, ClientUtils.getUserName(), userId } );
         return new Result(true);
    }
@@ -157,7 +191,7 @@
    /**
     * 用户设置手机号
     *
     * @param headPath
     * @param
     * @return
     */
    public Result updateUserInfo(String userId, String mobilePhone) {
@@ -175,8 +209,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);
@@ -215,13 +255,18 @@
    @Override
    public Result updateUser(String userId, String name, String account, String mobilePhone, String password,
                             Boolean sex) {
        User dbUser = read(User.class, userId);
        String salt = dbUser.getSalt();
        if(salt == null){
            salt= UUID.randomUUID().toString();
            dbUser.setSalt(salt);
            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");
@@ -234,7 +279,7 @@
        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");
@@ -245,4 +290,14 @@
        return findCount("from User where account = ?", CollectionUtils.newList(account)) > 0;
    }
    @Override
    public Result countUser() {
        String hql = "from count User where sex=? and deleteFlag is false";
        return new Result(true,findCount(hql,CollectionUtils.newList(1)));
    }
    @Override
    public Result countUsersex() {
        String hql = "from count User where sex=? and deleteFlag is false";
        return new Result(true,findCount(hql,CollectionUtils.newList(0)));
    }
}