From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSanShuoExpertApi.java | 145 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 127 insertions(+), 18 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSanShuoExpertApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSanShuoExpertApi.java index b477027..99d1c5f 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSanShuoExpertApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComSanShuoExpertApi.java @@ -1,20 +1,35 @@ package com.panzhihua.service_community.api; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.panzhihua.common.controller.BaseController; 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.user.AdministratorsUserVO; +import com.panzhihua.common.service.user.UserService; +import com.panzhihua.common.utlis.ExcelUtils; +import com.panzhihua.common.utlis.Snowflake; +import com.panzhihua.service_community.entity.ComEvent; import com.panzhihua.service_community.entity.ComSanshuoExpert; import com.panzhihua.service_community.service.ComSanShuoExpertService; +import com.panzhihua.service_community.service.IComEventService; +import com.panzhihua.service_community.util.ExcelListener; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.xml.crypto.Data; +import java.io.IOException; import java.util.Date; +import java.util.List; + +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; /** * 三说会堂调解专家控制器 @@ -25,6 +40,10 @@ @Resource private ComSanShuoExpertService comSanShuoExpertService; + @Resource + private UserService userService; + @Resource + private IComEventService comEventService; /** * 添加专家 @@ -32,15 +51,22 @@ @PostMapping public R add(@RequestBody ComSanshuoExpertDTO comSanshuoExpertDTO){ comSanshuoExpertDTO.setCreateBy(this.getLoginUserInfo().getName()); - return R.ok(comSanShuoExpertService.addExpert(comSanshuoExpertDTO)); +// comSanshuoExpertDTO.setAppId(userService.detailUser(getLoginUserInfo().getUserId()).getData().getAppId()); + comSanshuoExpertDTO.setAppId(getAppId()); + return comSanShuoExpertService.addOrUpdateExpert(comSanshuoExpertDTO); + } + + @GetMapping("/detail") + public R detail(@RequestParam Long id){ + return R.ok(comSanShuoExpertService.getById(id)); } /** * 小程序获取可选择专家 * */ - @GetMapping("appletsList") - public R appList(){ - return R.ok(comSanShuoExpertService.list(new QueryWrapper<ComSanshuoExpert>().eq("status",1).eq("del_flag",1))); + @GetMapping("/appletsList") + public R appList(@RequestParam (value = "type",required = false)Integer type,@RequestParam(value = "id",required = false)Long id){ + return comSanShuoExpertService.selectExpertList(type, id,this.getLoginUserInfo().getCommunityId()); } /** @@ -48,35 +74,43 @@ * */ @PutMapping public R update(@RequestBody ComSanshuoExpertDTO comSanshuoExpertDTO){ - ComSanshuoExpert expert=new ComSanshuoExpert(); - BeanUtil.copyProperties(comSanshuoExpertDTO,expert); - expert.setUpdateTime(new Date()); - return R.ok(comSanShuoExpertService.updateById(expert)); + return R.ok(comSanShuoExpertService.addOrUpdateExpert(comSanshuoExpertDTO)); } + /** * 后台获取列表 * */ @GetMapping("/backstageList") - public R backList(@RequestParam(value = "keyWord",required = false)@ApiParam("搜索关键字") String keyWord, + public R backList(@RequestParam(value = "keyWord",required = false) String keyWord, @RequestParam(value = "page",required = false)Integer page, - @RequestParam(value = "size",required = false)Integer size){ - //TODO 获取当前账号级别确定范围 - Integer range=null; - Long id=null; - return R.ok(comSanShuoExpertService.expertPage(keyWord,page,size,range,id)); + @RequestParam(value = "size",required = false)Integer size, + @RequestParam(value = "level",required = false)Integer level){ + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); +// loginUserInfo.setAppId(userService.detailUser(getLoginUserInfo().getUserId()).getData().getAppId()); + loginUserInfo.setAppId(getAppId()); + return comSanShuoExpertService.expertPage(keyWord,page,size,loginUserInfo,level); } + /** * 删除 * */ - @DeleteMapping("/remove/{id}") - public R remove(@PathVariable("id")Long id){ - //TODO 是否有为解决事件 + @DeleteMapping("/remove") + public R remove(@RequestParam("id")Long id){ + List<ComEvent> list = comEventService.list(new QueryWrapper<ComEvent>().lambda().eq(ComEvent::getSpecialistId, id).in(ComEvent::getEventProcessStatus, (1), (2), (5))); + if (list.size()!=0){ + return R.fail("有未调解完成事件,无法删除!"); + } ComSanshuoExpert expert = comSanShuoExpertService.getById(id); expert.setStatus(0); expert.setDelFlag(0); - return R.ok(comSanShuoExpertService.updateById(expert)); + boolean b = comSanShuoExpertService.updateById(expert); + if (b){ + //删除专家账号的权限 + userService.removeExpertRole(expert.getPhone()); + } + return R.ok(); } /** @@ -86,6 +120,81 @@ public R resetPassword(@RequestBody ComSanshuoExpertDTO comSanshuoExpertDTO){ ComSanshuoExpert expert = comSanShuoExpertService.getById(comSanshuoExpertDTO.getId()); expert.setPassword(comSanshuoExpertDTO.getPassword()); + userService.sanShuoResetPassword(comSanshuoExpertDTO.getAccount(),comSanshuoExpertDTO.getPassword() ); return R.ok(comSanShuoExpertService.updateById(expert)); } + + /** + * 专家风采 + * */ + @GetMapping("/expertShow") + public R expertShow(){ + return comSanShuoExpertService.expertShow(this.getLoginUserInfo().getAppId()); + } + + + /** + * 专家范围 + * */ + @GetMapping("/expertRange") + public R expertRange(){ + LoginUserInfoVO loginUserInfo1=getLoginUserInfo(); + LoginUserInfoVO loginUserInfo = userService.detailUser(loginUserInfo1.getUserId()).getData(); + return comSanShuoExpertService.expertRange(loginUserInfo); + } + + /** + * 专家风采列表 + * */ + @GetMapping("/expertShowList") + public R expertShowList(@RequestParam(value = "level",required = false)Integer level, + @RequestParam(value = "id",required = false)Long id){ +// return comSanShuoExpertService.expertShowList(level,id,userService.detailUser(this.getUserId()).getData().getAppId()); + return comSanShuoExpertService.expertShowList(level,id,getAppId()); + } + + /** + * 是否为专家登陆小程序 + * */ + @GetMapping("/checkExpert") + public R checkExpert(@RequestParam("number") String number){ + ComSanshuoExpert expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getPhone, number)); + if (nonNull(expert)){ + return R.ok(); + } + return R.fail(); + } + + /** + * 导入专家信息 + * */ + @PostMapping("/importExpert") + public R importExpert(@RequestBody MultipartFile multipartFile){ + try { + ExcelListener listener=new ExcelListener(comSanShuoExpertService); + EasyExcel.read(multipartFile.getInputStream(),ComSanshuoExpert.class,listener).sheet().doRead(); + } catch (IOException e) { + e.printStackTrace(); + } + return R.ok(); + } + + /** + * 后台获取专家列表 + * */ + @GetMapping("/backstageList2") + public R backstageList(@RequestParam(value = "level",required = false)Integer level, + @RequestParam(value = "page",required = false)Integer page, + @RequestParam(value = "size",required = false)Integer size, + @RequestParam(value = "keyWord",required = false)String keyWord){ + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); +// loginUserInfo.setAppId(userService.detailUser(getLoginUserInfo().getUserId()).getData().getAppId()); + loginUserInfo.setAppId(getAppId()); + return comSanShuoExpertService.backstageList(level,loginUserInfo,page,size,keyWord); + } + + + + + } -- Gitblit v1.7.1