zhangtiansen
2022-09-13 0d71b7864aff87f37d84654127c96273608b1d1c
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java
@@ -1,56 +1,100 @@
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.schedule.util.MyAESUtil;
import com.panzhihua.service_community.service.ComSanShuoExpertService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
public class ComSanShuoExpertServiceImpl extends ServiceImpl<ComSanshuoExpertDao, ComSanshuoExpert> implements ComSanShuoExpertService {
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);
        ComSanshuoExpert expert=new ComSanshuoExpert();
        BeanUtil.copyProperties(comSanshuoExpertDTO,expert);
        expert.setId(Snowflake.getId());
        expert.setCreateTime(new Date());
        int insert = comSanshuoExpertDao.insert(expert);
        if (insert > 0) {
            return R.ok();
        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 range   数据范围:1街道下属/2社区下属/3业务中心下属/null三说会堂下属
     * @param id      社区或街道或业务中心id
     * @param loginUserInfo 登陆账号信息
     * @return 处理结果
     */
     * */
    @Override
    public R expertPage(String keyWord, Integer page, Integer size, Integer range, Long id) {
        return R.ok(comSanshuoExpertDao.expertPage(new Page(page, size), keyWord, range, id));
    public R expertPage(String keyWord, Integer page, Integer size, LoginUserInfoVO loginUserInfo) {
        //range:1.三说会堂下属,2业务中心下属,3街道下属,4社区下属
        //id:社区或街道或业务中心id
        //账号级别
        Long id=null;
        Integer range=null;
        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) {
            comSanshuoExpertDao.selectExpertIndustry();
        }
        return R.ok();
    }
    /**
     * 数据范围
     * */
    public void getRange(LoginUserInfoVO loginUserInfo){
    }
}