张天森
2022-09-14 a555226aac49074be84a7e1adbd90cc1132e1dbc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.panzhihua.service_community.service.impl;
 
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.crypto.digest.MD5;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.model.dtos.community.sanshuo.ComSanshuoExpertDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.sanshuo.ExpertShowVO;
import com.panzhihua.common.model.vos.user.AdministratorsUserVO;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.ComSanshuoEventDao;
import com.panzhihua.service_community.dao.ComSanshuoExpertDao;
import com.panzhihua.service_community.entity.ComSanshuoExpert;
import com.panzhihua.service_community.service.ComSanShuoExpertService;
import com.panzhihua.service_community.util.MyAESUtil;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
 
import static java.util.Objects.nonNull;
 
@Service
public class ComSanShuoExpertServiceImpl  extends ServiceImpl<ComSanshuoExpertDao, ComSanshuoExpert> implements ComSanShuoExpertService {
 
    @Resource
    private ComSanshuoExpertDao comSanshuoExpertDao;
    @Resource
    private UserService userService;
 
    /**
     * 添加专家
     * @param comSanshuoExpertDTO
     * @return 处理结果
     * */
    @Override
    public R addExpert(ComSanshuoExpertDTO comSanshuoExpertDTO) {
        ComSanshuoExpert expert=new ComSanshuoExpert();
        BeanUtil.copyProperties(comSanshuoExpertDTO,expert);
        expert.setId(Snowflake.getId());
        expert.setCreateTime(new Date());
        int insert = comSanshuoExpertDao.insert(expert);
        if (insert>0){
            try {
                comSanshuoExpertDTO.setPassword(MyAESUtil.Encrypt(comSanshuoExpertDTO.getPassword(),"Ryo7M3n8loC5Abcd"));
            } catch (Exception e) {
                e.printStackTrace();
            }
            //生成后台账号
            AdministratorsUserVO user=new AdministratorsUserVO();
            user.setUserId(Snowflake.getId());
            user.setAccount(comSanshuoExpertDTO.getAccount());
            user.setPassword(comSanshuoExpertDTO.getPassword());
            user.setName(comSanshuoExpertDTO.getName());
            user.setType(11);
            user.setImageUrl(comSanshuoExpertDTO.getAvatar());
            return userService.sanShuoAddUser(user);
        }
        return R.fail("添加失败");
    }
 
    /**
     * 后台获取专家列表
     * @param page
     * @param keyWord
     * @param size
     * @param loginUserInfo 登陆账号信息
     * @return 处理结果
     * */
    @Override
    public R expertPage(String keyWord, Integer page, Integer size, LoginUserInfoVO loginUserInfo) {
        //range:1.三说会堂下属,2业务中心下属,3街道下属,4社区下属
        //id:社区或街道或业务中心id
        //账号级别
        Long id=null;
        Integer range=null;
        if (nonNull(loginUserInfo)){
            if (nonNull(loginUserInfo.getUserType()) || nonNull(loginUserInfo.getType())){
                if (loginUserInfo.getUserType().equals(1)){
                    range=3;
                    id=loginUserInfo.getStreetId();
                }else if (loginUserInfo.getUserType().equals(2)){
                    range=4;
                    id=loginUserInfo.getCommunityId();
                }else if (loginUserInfo.getType().equals(11)){
                    range=2;
                    id=loginUserInfo.getCommunityId();
                }
            }
        }
        return R.ok(comSanshuoExpertDao.expertPage(new Page(page,size),keyWord,range,id));
    }
 
    /**
     * 专家风采
     * */
    @Override
    public R expertShow() {
        List<ExpertShowVO> expertShowVOS = comSanshuoExpertDao.expertShow();
        for (ExpertShowVO expertShowVO : expertShowVOS) {
            if (nonNull(expertShowVO.getLevel())){
                if (1==expertShowVO.getLevel()) {
                    expertShowVO.setName("区三说会堂调解专家");
                }else if (2==expertShowVO.getLevel()){
                    expertShowVO.setName("行业分中心调解专家");
                    List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertIndustry();
                    expertShowVO.setChildList(expertShowVOS1);
                }else if (3==expertShowVO.getLevel()){
                    expertShowVO.setName("镇/街道调解站调解专家");
                    List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertStreet();
                    expertShowVO.setChildList(expertShowVOS1);
                }else {
                    expertShowVO.setName("村/社区调解站调解专家");
                    List<ExpertShowVO> expertShowVOS1 = comSanshuoExpertDao.selectExpertCommunity();
                    expertShowVO.setChildList(expertShowVOS1);
                }
            }
        }
        return R.ok();
    }
 
 
 
}