派生自 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;
@@ -27,9 +30,9 @@
import javax.servlet.http.HttpSession;
/**
 * 用户管理服务
 * 用户管理服务
 *
 * @author 德虎
 * @author 德虎
 */
@Service
public class UserService extends CommonAppService implements IUserService {
@@ -37,8 +40,11 @@
    @Autowired
    IOrganizationService organizationService;
    @Autowired
    private CommonDAO commonDAO;
    /**
     * 初始化用户wrapper
     * 初始化用户wrapper
     */
    @Override
    public UserInfoWrapper initUserInfoWrapper(CacheParamters param, boolean needMenus) {
@@ -46,28 +52,34 @@
        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());
//        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)) {
                return new Result(false, "输入的旧密码错误");
            if (!user.getPassword().equals(newPasswords)) {
                return new Result(false, "输入的旧密码错误");
            }
            user.setPassword(pass);
            user.setPassword(newPassword);
        }
        TraceUtils.setUpdateTrace(user);
        save(user);
@@ -136,28 +167,31 @@
    }
    /**
     * 用户设置头像
     * 用户设置头像
     *
     * @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);
        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);
    }
    /**
     * 用户设置手机号
     * 用户设置手机号
     *
     * @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");
@@ -229,12 +274,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");
@@ -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)));
    }
}