| | |
| | | import cn.hutool.core.util.NumberUtil; |
| | | import cn.hutool.crypto.SecureUtil; |
| | | import cn.hutool.crypto.digest.MD5; |
| | | import cn.hutool.extra.pinyin.PinyinUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | import com.panzhihua.service_community.entity.ComEvent; |
| | | import com.panzhihua.service_community.entity.ComSanshuoEvent; |
| | | import com.panzhihua.service_community.entity.ComSanshuoExpert; |
| | | import com.panzhihua.service_community.entity.ComSanshuoIndustryCenter; |
| | | import com.panzhihua.service_community.model.dos.ComActDO; |
| | | import com.panzhihua.service_community.model.dos.ComStreetDO; |
| | | import com.panzhihua.service_community.service.ComActService; |
| | | import com.panzhihua.service_community.service.ComSanShuoExpertService; |
| | | import com.panzhihua.service_community.service.ComStreetService; |
| | | import com.panzhihua.service_community.util.MyAESUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import static java.util.Objects.isNull; |
| | | import static java.util.Objects.nonNull; |
| | | |
| | | @Service |
| | | @Slf4j |
| | | public class ComSanShuoExpertServiceImpl extends ServiceImpl<ComSanshuoExpertDao, ComSanshuoExpert> implements ComSanShuoExpertService { |
| | | |
| | | @Resource |
| | |
| | | * @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()); |
| | | user.setPhone(comSanshuoExpertDTO.getPhone()); |
| | | 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("操作失败"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 后台获取专家列表 |
| | |
| | | * @return 处理结果 |
| | | * */ |
| | | @Override |
| | | public R expertPage(String keyWord, Integer page, Integer size, LoginUserInfoVO loginUserInfo) { |
| | | public R expertPage(String keyWord, Integer page, Integer size, LoginUserInfoVO loginUserInfo,Integer level) { |
| | | //range:1.三说会堂下属,2业务中心下属,3街道下属,4社区下属 |
| | | //id:社区或街道或业务中心id |
| | | //账号级别 |
| | |
| | | id=null; |
| | | range=null; |
| | | } |
| | | return R.ok(comSanshuoExpertDao.expertPage(new Page(page,size),keyWord,range,id)); |
| | | return R.ok(comSanshuoExpertDao.expertPage(new Page(page,size),keyWord,range,id,level)); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | return R.ok(expertShowVOS); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 专家级别与单位范围 |
| | |
| | | ExpertRangeVO vo=new ExpertRangeVO(); |
| | | vo.setLevel(2); |
| | | vo.setName("行业分中心"); |
| | | vo.setId(loginUserInfo.getCommunityId()); |
| | | vo.setId(comSanshuoIndustryCenterDao.selectOne(new QueryWrapper<ComSanshuoIndustryCenter>().lambda().eq(ComSanshuoIndustryCenter::getAccount, loginUserInfo.getAccount())).getId()); |
| | | list.add(vo); |
| | | return R.ok(list); |
| | | }else if (nonNull(loginUserInfo.getUserType())){ |
| | |
| | | ExpertRangeVO vo=new ExpertRangeVO(); |
| | | vo.setLevel(4); |
| | | vo.setName(comActDO.getName()+"调解站"); |
| | | vo.setId(loginUserInfo.getStreetId()); |
| | | vo.setId(loginUserInfo.getCommunityId()); |
| | | list.add(vo); |
| | | return R.ok(list); |
| | | } |
| | |
| | | return R.ok(comSanshuoExperts); |
| | | } |
| | | |
| | | @Override |
| | | public void insertExpert(ComSanshuoExpert 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); |
| | | expert.setCreateBy("admin"); |
| | | expert.setCreateTime(new Date()); |
| | | expert.setAdded(0); |
| | | expert.setPassword("Huacheng@123"); |
| | | expert.setAccount(PinyinUtil.getPinyin(expert.getName(),"")); |
| | | int insert = comSanshuoExpertDao.insert(expert); |
| | | if (insert>0){ |
| | | log.info(expert.getName()+"添加完成"); |
| | | } |
| | | // 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()); |
| | | // user.setPhone(comSanshuoExpertDTO.getPhone()); |
| | | // userService.sanShuoAddUser(user); |
| | | // } |
| | | } |
| | | |
| | | |
| | | } |