lidongdong
2022-10-09 02b087d8d55a7931d87c6e39423d9362463d67c9
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComSanShuoExpertServiceImpl.java
@@ -28,6 +28,7 @@
import com.panzhihua.service_community.service.ComStreetService;
import com.panzhihua.service_community.util.MyAESUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -35,6 +36,7 @@
import java.util.Date;
import java.util.List;
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
@Service
@@ -60,53 +62,78 @@
     * @return 处理结果
     * */
    @Override
    public R addExpert(ComSanshuoExpertDTO comSanshuoExpertDTO) {
        //是否重名
        List<ComSanshuoExpert> checkExpert=comSanshuoExpertDao.selectExpertByNameOrPhoneOrAccount(comSanshuoExpertDTO);
        if (checkExpert.size() != 0){
            return R.fail("账号信息有重复");
        }
        ComSanshuoExpert expert=new ComSanshuoExpert();
        BeanUtil.copyProperties(comSanshuoExpertDTO,expert);
        if (nonNull(comSanshuoExpertDTO.getUnit())){
            String id = comSanshuoExpertDTO.getUnit();
            String[] split = id.split(",");
            expert.setUnitId(split[split.length-1]);
        }
        expert.setId(Snowflake.getId());
        expert.setCreateTime(new Date());
        if (expert.getLevel()==2){
            expert.setIndustryCenterId(Long.parseLong(expert.getUnitId()));
            expert.setUnit(comSanshuoIndustryCenterDao.selectById(expert.getUnitId()).getName()+"调解站");
        }else if(expert.getLevel()==3){
            expert.setStreetId(Long.parseLong(expert.getUnitId()));
            expert.setUnit(comStreetDAO.selectById(expert.getUnitId()).getName()+"调解站");
        }else if(expert.getLevel()==4){
            expert.setCommunityId(Long.parseLong(expert.getUnitId()));
            expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解站");
        }
        expert.setStatus(1);
        expert.setDelFlag(1);
        int insert = comSanshuoExpertDao.insert(expert);
        if (insert>0){
            try {
                comSanshuoExpertDTO.setPassword(comSanshuoExpertDTO.getPassword());
            } catch (Exception e) {
                e.printStackTrace();
    @Transactional(rollbackFor = Exception.class)
    public R addOrUpdateExpert(ComSanshuoExpertDTO comSanshuoExpertDTO) {
        if (isNull(comSanshuoExpertDTO.getId())){
            //是否重名
            List<ComSanshuoExpert> checkExpert=comSanshuoExpertDao.selectExpertByNameOrPhoneOrAccount(comSanshuoExpertDTO);
            if (checkExpert.size() != 0){
                return R.fail("账号信息有重复");
            }
            //生成后台账号
            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);
            ComSanshuoExpert expert=new ComSanshuoExpert();
            BeanUtil.copyProperties(comSanshuoExpertDTO,expert);
            if (nonNull(comSanshuoExpertDTO.getUnit())){
                String id = comSanshuoExpertDTO.getUnit();
                String[] split = id.split(",");
                expert.setUnitId(split[split.length-1]);
            }
            expert.setId(Snowflake.getId());
            expert.setCreateTime(new Date());
            if (expert.getLevel()==2){
                expert.setIndustryCenterId(Long.parseLong(expert.getUnitId()));
                expert.setUnit(comSanshuoIndustryCenterDao.selectById(expert.getUnitId()).getName()+"调解站");
            }else if(expert.getLevel()==3){
                expert.setStreetId(Long.parseLong(expert.getUnitId()));
                expert.setUnit(comStreetDAO.selectById(expert.getUnitId()).getName()+"调解站");
            }else if(expert.getLevel()==4){
                expert.setCommunityId(Long.parseLong(expert.getUnitId()));
                expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解站");
            }
            expert.setStatus(1);
            expert.setDelFlag(1);
            int insert = comSanshuoExpertDao.insert(expert);
            if (insert>0){
                try {
                    comSanshuoExpertDTO.setPassword(comSanshuoExpertDTO.getPassword());
                } 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 R.ok(userService.sanShuoAddUser(user));
            }
        }else {
            ComSanshuoExpert expert=new ComSanshuoExpert();
            BeanUtil.copyProperties(comSanshuoExpertDTO,expert);
            if (nonNull(comSanshuoExpertDTO.getUnit())){
                String id = comSanshuoExpertDTO.getUnit();
                String[] split = id.split(",");
                expert.setUnitId(split[split.length-1]);
            }
            expert.setUpdateTime(new Date());
            if (expert.getLevel()==2){
                expert.setIndustryCenterId(Long.parseLong(expert.getUnitId()));
                expert.setUnit(comSanshuoIndustryCenterDao.selectById(expert.getUnitId()).getName()+"调解站");
            }else if(expert.getLevel()==3){
                expert.setStreetId(Long.parseLong(expert.getUnitId()));
                expert.setUnit(comStreetDAO.selectById(expert.getUnitId()).getName()+"调解站");
            }else if(expert.getLevel()==4){
                expert.setCommunityId(Long.parseLong(expert.getUnitId()));
                expert.setUnit(comActDAO.selectById(expert.getUnitId()).getName()+"调解站");
            }
            return R.ok(comSanshuoExpertDao.updateById(expert));
        }
        return R.fail("添加失败");
        return R.fail("操作失败");
    }
    /**
     * 后台获取专家列表
     * @param page