wuzeyu
2023-12-02 80495f181ecb3bd7e5658513671609efe854c818
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/user/UserSv.java
@@ -7,14 +7,14 @@
import com.dy.pipIrrGlobal.pojoBa.BaUser;
import com.dy.pipIrrGlobal.pojoBa.BaUserRole;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
import org.apache.dubbo.common.utils.PojoUtils ;
import org.springframework.transaction.annotation.Transactional;
import java.util.Random;
@Slf4j
@Service
@@ -35,6 +35,7 @@
    /**
     * 得到一个用户
     *
     * @param id 用户ID
     * @return 用户实体
     */
@@ -44,6 +45,7 @@
    /**
     * 得到一个用户
     *
     * @param vo 查询条件值对象
     * @return 用户实体
     */
@@ -63,6 +65,7 @@
    /**
     * 保存实体
     *
     * @param po 实体
     * @return 影响记录数量
     */
@@ -73,6 +76,7 @@
    /**
     * 保存修改实体
     *
     * @param po 实体
     * @return 影响记录数量
     */
@@ -83,6 +87,7 @@
    /**
     * 修改密码
     *
     * @param id 用户ID
     * @param password 新密码
     * @return 影响记录数量
@@ -93,6 +98,7 @@
    /**
     * 设置用户角色
     *
     * @param userId 用户id
     * @param roleIds 选择的角色id集合
     * @return 插入用户与角色关联记录数量
@@ -109,7 +115,26 @@
    }
    /**
     * 设置用户角色
     *
     * @param userId  用户id
     * @param roleIds 选择的角色id集合
     * @return 插入用户与角色关联记录数量
     */
    public int setRoles(String userId, String[] roleIds) {
        this.urDao.deleteByUserId(Long.parseLong(userId));
        int count = 0;
        if (roleIds != null && roleIds.length > 0) {
            for (String roleId : roleIds) {
                count += this.urDao.insertSelective(new BaUserRole(Long.parseLong(userId), Long.parseLong(roleId)));
            }
        }
        return count;
    }
    /**
     * 保存修改实体
     *
     * @param id 实体ID
     * @return 影响记录数量
     */
@@ -118,4 +143,27 @@
        return this.dao.deleteLogicById(id) ;
    }
    /**
     * 生成指定位数随机数字密码
     *
     * @param length 多长随机数
     * @return 随机数
     */
    public String getStringRandom(int length) {
        String val = "";
        Random random = new Random();
        for (int i = 0; i < length; i++) {
            String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
            if ("char".equalsIgnoreCase(charOrNum)) {
                int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;
                val += (char) (random.nextInt(26) + temp);
            } else if ("num".equalsIgnoreCase(charOrNum)) {
                val += String.valueOf(random.nextInt(10));
            }
        }
        return val;
    }
}