diff --git a/src/main/java/com/example/caseData/controller/CaseExchangeController.java b/src/main/java/com/example/caseData/controller/CaseExchangeController.java index 4cf5919..a6e8a1e 100644 --- a/src/main/java/com/example/caseData/controller/CaseExchangeController.java +++ b/src/main/java/com/example/caseData/controller/CaseExchangeController.java @@ -272,9 +272,10 @@ public class CaseExchangeController { request.validateForLimit(); // 获取数据 - List caseExchanges = caseExchangeDao.getCaseExchangeSearchList( + List caseExchanges = caseExchangeDao.getCaseExchangeSearchLimitList( request.getLimit(), request.getKeyword(), + null, request.getIsSelected(), request.handleOrder() ); diff --git a/src/main/java/com/example/caseData/controller/PublicController.java b/src/main/java/com/example/caseData/controller/PublicController.java index 8c6ff66..b270b4d 100644 --- a/src/main/java/com/example/caseData/controller/PublicController.java +++ b/src/main/java/com/example/caseData/controller/PublicController.java @@ -81,6 +81,9 @@ public class PublicController { LoginDto g = userService.UserLoginWithMobile(phoneInfo.getPurePhoneNumber()); return Response.success(g); } catch (Exception e) { + if (Objects.equals(e.getMessage(), "请耐心等待审核")){ + return Response.error(10005,null,e.getMessage()); + } return Response.error(e.getMessage()); } } @@ -88,9 +91,16 @@ public class PublicController { // 登陆 @PostMapping("/login/hcp") public Response loginHcp(@Validated() @ModelAttribute LoginHcpRequest request) { - // 用户登陆 - LoginDto g = userService.UserLoginWithApp(request.getToken()); - return Response.success(g); + try { + // 用户登陆 + LoginDto g = userService.UserLoginWithApp(request.getToken()); + return Response.success(g); + } catch (Exception e) { + if (Objects.equals(e.getMessage(), "请耐心等待审核")){ + return Response.error(10005,null,e.getMessage()); + } + return Response.error(e.getMessage()); + } } // 获取签名 @@ -206,6 +216,9 @@ public class PublicController { return Response.success(g); } catch (Exception e) { + if (Objects.equals(e.getMessage(), "请耐心等待审核")){ + return Response.error(10005,null,e.getMessage()); + } return Response.error(e.getMessage()); } } diff --git a/src/main/java/com/example/caseData/controller/StatsCaseExchangeController.java b/src/main/java/com/example/caseData/controller/StatsCaseExchangeController.java index b1806f3..2a80c84 100644 --- a/src/main/java/com/example/caseData/controller/StatsCaseExchangeController.java +++ b/src/main/java/com/example/caseData/controller/StatsCaseExchangeController.java @@ -2,9 +2,12 @@ package com.example.caseData.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.caseData.common.Response; +import com.example.caseData.dao.CaseExchangeDao; import com.example.caseData.dao.StatsCaseExchangeDao; import com.example.caseData.dao.StatsCaseExchangeUserDao; import com.example.caseData.dao.StatsCaseExchangeUserDao; +import com.example.caseData.dto.caseClinicalArticle.CaseClinicalArticleDto; +import com.example.caseData.dto.caseExchange.CaseExchangeDto; import com.example.caseData.dto.statsCaseClinical.StatsCaseClinicalDto; import com.example.caseData.dto.statsCaseExchange.StatsCaseExchangeDto; import com.example.caseData.dto.statsCaseExchange.StatsCaseExchangeDto; @@ -18,12 +21,17 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @RestController @RequestMapping("/api") public class StatsCaseExchangeController extends BaseController { @Resource private StatsCaseExchangeDao statsCaseExchangeDao; + @Resource + private CaseExchangeDao caseExchangeDao; + @Resource private StatsCaseExchangeUserDao statsCaseExchangeUserDao; @@ -43,6 +51,10 @@ public class StatsCaseExchangeController extends BaseController { if (g == null){ return Response.success(new StatsCaseExchangeDto()); } + + Long totalCommentNum = caseExchangeDao.getTotalCommentNum(); + g.setExchangeCommentNum(Math.toIntExact(totalCommentNum)); + return Response.success(g); } @@ -52,7 +64,7 @@ public class StatsCaseExchangeController extends BaseController { @GetMapping("/exchange/stats/user") public Response getClinicalStatsUser(){ String userId = (String) httpServletRequest.getAttribute("userId"); - if (userId != null) { + if (userId == null) { return Response.error(); } @@ -65,6 +77,21 @@ public class StatsCaseExchangeController extends BaseController { return Response.success(new StatsCaseExchangeUserDto()); } + Integer readNum = 0; + + // 获取该标签下文章数据 + List caseExchanges = caseExchangeDao.getCaseExchangeSearchList( + "", + userId, + null, + null + ); + for (CaseExchangeDto caseExchange : caseExchanges){ + readNum += caseExchange.getReadNum(); + } + + g.setExchangeReadNum(readNum); + return Response.success(g); } } diff --git a/src/main/java/com/example/caseData/dao/CaseExchangeDao.java b/src/main/java/com/example/caseData/dao/CaseExchangeDao.java index ccb7933..890e6ef 100644 --- a/src/main/java/com/example/caseData/dao/CaseExchangeDao.java +++ b/src/main/java/com/example/caseData/dao/CaseExchangeDao.java @@ -9,6 +9,7 @@ import com.example.caseData.model.CaseClinicalArticleModel; import com.example.caseData.model.CaseExchangeModel; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import java.util.List; @@ -37,9 +38,22 @@ public interface CaseExchangeDao extends BaseMapper { * @param keyword 搜索关键词-标题/医生名称/标签名称 * @param order 排序 */ - List getCaseExchangeSearchList( + List getCaseExchangeSearchLimitList( @Param("limit") Integer limit, @Param("keyword") String keyword, + @Param("userId") String userId, + @Param("isSelected") Integer isSelected, + @Param("order") Map order + ); + + /** + * 临床病例库-搜索 + * @param keyword 搜索关键词-标题/医生名称/标签名称 + * @param order 排序 + */ + List getCaseExchangeSearchList( + @Param("keyword") String keyword, + @Param("userId") String userId, @Param("isSelected") Integer isSelected, @Param("order") Map order ); @@ -64,4 +78,20 @@ public interface CaseExchangeDao extends BaseMapper { */ @Update("UPDATE case_exchange SET ${field} = ${field} - #{numeral} WHERE exchange_id = #{exchangeId}") int dec(@Param("exchangeId") Long exchangeId, @Param("field") String field, @Param("numeral") int numeral); + + /** + * 查询所有未删除文章的阅读量总和 + * + * @return 阅读量总和 + */ + @Select("SELECT SUM(comment_num) FROM case_exchange WHERE delete_status = 0 and exchange_status = 1") + Long getTotalCommentNum(); + + /** + * 查询所有未删除文章的阅读量总和 + * + * @return 阅读量总和 + */ + @Select("SELECT SUM(comment_num) FROM case_exchange WHERE delete_status = 0 and exchange_status = 1") + Long getTotalRedNum(); } diff --git a/src/main/java/com/example/caseData/dto/statsCaseExchange/StatsCaseExchangeDto.java b/src/main/java/com/example/caseData/dto/statsCaseExchange/StatsCaseExchangeDto.java index d7f2eec..d7c73e3 100644 --- a/src/main/java/com/example/caseData/dto/statsCaseExchange/StatsCaseExchangeDto.java +++ b/src/main/java/com/example/caseData/dto/statsCaseExchange/StatsCaseExchangeDto.java @@ -1,6 +1,7 @@ package com.example.caseData.dto.statsCaseExchange; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.annotation.TableField; import com.example.caseData.model.StatsCaseExchangeModel; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; @@ -36,6 +37,12 @@ public class StatsCaseExchangeDto { @JsonProperty("exchange_collect_num") private Integer exchangeCollectNum = 0; + /** + * 总评论量-病例交流 + */ + @JsonProperty("exchange_comment_num") + private Integer exchangeCommentNum = 0; + /** * 创建时间 */ diff --git a/src/main/java/com/example/caseData/extend/app/Hospital/GetHospitalByUuidResponse.java b/src/main/java/com/example/caseData/extend/app/Hospital/GetHospitalByUuidResponse.java index f6d83bb..0b3556f 100644 --- a/src/main/java/com/example/caseData/extend/app/Hospital/GetHospitalByUuidResponse.java +++ b/src/main/java/com/example/caseData/extend/app/Hospital/GetHospitalByUuidResponse.java @@ -22,7 +22,7 @@ public class GetHospitalByUuidResponse /** - * 根据手机号获取医生信息 - 详细数据 + * - 详细数据 */ @Data public static class GetHospitalByUuidData { @@ -39,6 +39,9 @@ public class GetHospitalByUuidResponse /** 省份 */ private String prov_name; + /** 城市 */ + private String city_name; + /** 医生数量 */ private Integer expert_num; } diff --git a/src/main/java/com/example/caseData/service/UserService.java b/src/main/java/com/example/caseData/service/UserService.java index 54e56b7..45851d8 100644 --- a/src/main/java/com/example/caseData/service/UserService.java +++ b/src/main/java/com/example/caseData/service/UserService.java @@ -302,6 +302,7 @@ public class UserService { basicHospital.setHospitalLevel(data.getLevel()); basicHospital.setDoctorNumber(data.getExpert_num()); basicHospital.setProvince(data.getProv_name()); + basicHospital.setCity(data.getCity_name()); save(basicHospital); } diff --git a/src/main/resources/mapper/CaseExchangeMapper.xml b/src/main/resources/mapper/CaseExchangeMapper.xml index bb4afac..c2e221d 100644 --- a/src/main/resources/mapper/CaseExchangeMapper.xml +++ b/src/main/resources/mapper/CaseExchangeMapper.xml @@ -81,7 +81,7 @@ - SELECT a.exchange_id, a.user_id, @@ -118,9 +118,9 @@ OR b.label_name LIKE CONCAT('%', #{keyword}, '%') ) - - - + + AND c.user_id = ${userId} + ) AS result JOIN case_exchange a ON result.exchange_id = a.exchange_id LEFT JOIN user c ON c.user_id = a.user_id @@ -132,4 +132,55 @@ LIMIT #{limit} + + \ No newline at end of file