TUserServiceImpl.java 4.25 KB
Newer Older
liqin's avatar
liqin committed
1 2 3 4 5 6 7 8 9 10 11
package cn.chnmuseum.party.service.impl;

import cn.chnmuseum.party.common.enums.AuditOperationEnum;
import cn.chnmuseum.party.common.enums.AuditStatusEnum;
import cn.chnmuseum.party.common.util.RSAUtils;
import cn.chnmuseum.party.mapper.TAreaMapper;
import cn.chnmuseum.party.mapper.TUserMapper;
import cn.chnmuseum.party.model.TBoxOperation;
import cn.chnmuseum.party.model.TUser;
import cn.chnmuseum.party.model.TUserRole;
import cn.chnmuseum.party.service.TUserService;
12
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
13 14 15 16
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
17
import org.springframework.util.CollectionUtils;
18 19

import javax.annotation.Resource;
20
import javax.validation.constraints.NotNull;
wzp's avatar
wzp committed
21
import java.time.LocalDateTime;
liqin's avatar
liqin committed
22
import java.util.ArrayList;
wzp's avatar
wzp committed
23
import java.util.Arrays;
wzp's avatar
wzp committed
24
import java.util.List;
25
import java.util.Map;
26
import java.util.stream.Collectors;
27 28 29 30 31 32 33 34 35 36 37

/**
 * <pre>
 * 用户 服务实现类
 * </pre>
 *
 * @author Danny Lee
 * @since 2021-03-22
 */
@Slf4j
@Service
wzp's avatar
wzp committed
38
@Transactional
39 40 41 42 43
public class TUserServiceImpl extends ServiceImpl<TUserMapper, TUser> implements TUserService {

    @Resource
    private TUserMapper tUserMapper;

wzp's avatar
wzp committed
44 45 46
    @Resource
    private TAreaMapper areaMapper;

wzp's avatar
wzp committed
47 48 49 50 51 52 53
    @Resource
    TBoxOperationServiceImpl boxOperationService;


    @Resource
    TUserRoleServiceImpl tUserRoleService;

54
    @Override
55 56 57 58 59
    public TUser selectByUsername(String userName) {
        return tUserMapper.selectByUsername(userName);
    }

    @Override
wzp's avatar
wzp committed
60
    public Page<TUser> getList(Page<TUser> page, TUser user) {
wzp's avatar
wzp committed
61
        List<TUser> list = tUserMapper.getList(page, user);
62
        List<TUser> userList = new ArrayList<>();
63
        if (!CollectionUtils.isEmpty(list) && "2".equals(user.getType())) {
64 65 66 67
            List<String> collect = list.stream().map(TUser::getId).collect(Collectors.toList());
            userList = tUserMapper.getUserRole(collect);
        }

wzp's avatar
wzp committed
68
        for (TUser u : list) {
69
            // 用户状态
wzp's avatar
wzp committed
70 71
            if (AuditStatusEnum.REFUSED.name().equals(u.getAuditStatus()) || AuditStatusEnum.APPROVED_FINAL.name().equals(u.getAuditStatus())) {
                if (AuditOperationEnum.ENABLE.name().equals(u.getStatus())) {
wzp's avatar
wzp committed
72
                    u.setStatusName("活跃");
wzp's avatar
wzp committed
73
                } else {
wzp's avatar
wzp committed
74
                    u.setStatusName("禁用");
wzp's avatar
wzp committed
75
                }
wzp's avatar
wzp committed
76
            } else {
wzp's avatar
wzp committed
77
                u.setStatusName("待审核");
wzp's avatar
wzp committed
78
            }
79 80 81 82 83 84 85 86

            // 用户管理员类型
            for (TUser tUser : userList) {
                if (u.getId().equals(tUser.getId())) {
                    u.setRoleName(tUser.getRoleName());
                    continue;
                }
            }
wzp's avatar
wzp committed
87
        }
88 89


wzp's avatar
wzp committed
90
        return page.setRecords(list);
91
    }
wzp's avatar
wzp committed
92 93 94

    @Override
    public TUser selectById(String id) {
wzp's avatar
wzp committed
95
        TUser user = tUserMapper.getById(id);
wzp's avatar
wzp committed
96
        if (user.getAreaId() != null) {
wzp's avatar
wzp committed
97
            String s = areaMapper.selectParent(user.getAreaId());
liqin's avatar
liqin committed
98
            if (s != null) {
wzp's avatar
wzp committed
99 100
                user.setAreas(Arrays.asList(s.split(",")));
            }
wzp's avatar
wzp committed
101 102
        }
        return user;
wzp's avatar
wzp committed
103
    }
wzp's avatar
wzp committed
104

105 106
    @Override
    public List<TUser> getUserList(TUser user) {
liqin's avatar
liqin committed
107
        return tUserMapper.getUserList(user);
108 109
    }

wzp's avatar
wzp committed
110 111
    @Override
    public boolean addBox(TUser user) {
liqin's avatar
liqin committed
112 113
        boolean ret;
        save(user);
wzp's avatar
wzp committed
114 115 116 117 118 119 120

        TBoxOperation tBoxOperation = new TBoxOperation();
        tBoxOperation.setOrganId(user.getOrgId());
        tBoxOperation.setAreaId(user.getAreaId());
        tBoxOperation.setStatus(1);
        tBoxOperation.setCreateTime(LocalDateTime.now());
        tBoxOperation.setUpdateTime(LocalDateTime.now());
liqin's avatar
liqin committed
121 122 123
        final ArrayList<String> rsaKeys = RSAUtils.createRSAKeys();
        tBoxOperation.setPublicKey(rsaKeys.get(0));
        tBoxOperation.setPrivateKey(rsaKeys.get(1));
wzp's avatar
wzp committed
124 125 126 127 128 129 130 131 132 133 134
        ret = boxOperationService.save(tBoxOperation);

        TUserRole userRole = new TUserRole();
        userRole.setUserId(user.getId());
        userRole.setRoleId("3");
        userRole.setIsDeleted(false);
        ret = tUserRoleService.save(userRole);

        return ret;
    }

135 136 137 138 139 140
    @Override
    public List<TUser> getUserListByRole(Map<String, Object> map) {
        return tUserMapper.getListByRole(map);

    }

141
}