修改了病例交流的统计数据和登陆状态
This commit is contained in:
parent
36a796853b
commit
20ff8778b8
@ -272,9 +272,10 @@ public class CaseExchangeController {
|
||||
request.validateForLimit();
|
||||
|
||||
// 获取数据
|
||||
List<CaseExchangeDto> caseExchanges = caseExchangeDao.getCaseExchangeSearchList(
|
||||
List<CaseExchangeDto> caseExchanges = caseExchangeDao.getCaseExchangeSearchLimitList(
|
||||
request.getLimit(),
|
||||
request.getKeyword(),
|
||||
null,
|
||||
request.getIsSelected(),
|
||||
request.handleOrder()
|
||||
);
|
||||
|
||||
@ -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<LoginDto> 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());
|
||||
}
|
||||
}
|
||||
|
||||
@ -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<StatsCaseExchangeUserDto> 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<CaseExchangeDto> caseExchanges = caseExchangeDao.getCaseExchangeSearchList(
|
||||
"",
|
||||
userId,
|
||||
null,
|
||||
null
|
||||
);
|
||||
for (CaseExchangeDto caseExchange : caseExchanges){
|
||||
readNum += caseExchange.getReadNum();
|
||||
}
|
||||
|
||||
g.setExchangeReadNum(readNum);
|
||||
|
||||
return Response.success(g);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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<CaseExchangeModel> {
|
||||
* @param keyword 搜索关键词-标题/医生名称/标签名称
|
||||
* @param order 排序
|
||||
*/
|
||||
List<CaseExchangeDto> getCaseExchangeSearchList(
|
||||
List<CaseExchangeDto> getCaseExchangeSearchLimitList(
|
||||
@Param("limit") Integer limit,
|
||||
@Param("keyword") String keyword,
|
||||
@Param("userId") String userId,
|
||||
@Param("isSelected") Integer isSelected,
|
||||
@Param("order") Map<String, String> order
|
||||
);
|
||||
|
||||
/**
|
||||
* 临床病例库-搜索
|
||||
* @param keyword 搜索关键词-标题/医生名称/标签名称
|
||||
* @param order 排序
|
||||
*/
|
||||
List<CaseExchangeDto> getCaseExchangeSearchList(
|
||||
@Param("keyword") String keyword,
|
||||
@Param("userId") String userId,
|
||||
@Param("isSelected") Integer isSelected,
|
||||
@Param("order") Map<String, String> order
|
||||
);
|
||||
@ -64,4 +78,20 @@ public interface CaseExchangeDao extends BaseMapper<CaseExchangeModel> {
|
||||
*/
|
||||
@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();
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -81,7 +81,7 @@
|
||||
<!-- </if>-->
|
||||
</select>
|
||||
|
||||
<select id="getCaseExchangeSearchList" resultMap="caseExchangeDtoMap">
|
||||
<select id="getCaseExchangeSearchLimitList" resultMap="caseExchangeDtoMap">
|
||||
SELECT
|
||||
a.exchange_id,
|
||||
a.user_id,
|
||||
@ -118,9 +118,9 @@
|
||||
OR b.label_name LIKE CONCAT('%', #{keyword}, '%')
|
||||
)
|
||||
</if>
|
||||
<!-- <if test="userId != null and userId != ''">-->
|
||||
<!-- AND c.user_id = ${userId}-->
|
||||
<!-- </if>-->
|
||||
<if test="userId != null and userId != ''">
|
||||
AND c.user_id = ${userId}
|
||||
</if>
|
||||
) 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 @@
|
||||
</if>
|
||||
LIMIT #{limit}
|
||||
</select>
|
||||
|
||||
<select id="getCaseExchangeSearchList" resultMap="caseExchangeDtoMap">
|
||||
SELECT
|
||||
a.exchange_id,
|
||||
a.user_id,
|
||||
a.exchange_title,
|
||||
a.exchange_status,
|
||||
a.is_selected,
|
||||
a.read_num,
|
||||
a.collect_num,
|
||||
a.comment_num,
|
||||
a.push_date,
|
||||
a.exchange_content,
|
||||
a.exchange_summary,
|
||||
a.exchange_content_image as exchange_content_image_string,
|
||||
a.exchange_content_video as exchange_content_video_string,
|
||||
a.created_at,
|
||||
a.updated_at,
|
||||
c.user_name,
|
||||
c.avatar,
|
||||
c.hospital_id
|
||||
FROM (
|
||||
SELECT DISTINCT a.exchange_id
|
||||
FROM case_exchange a
|
||||
LEFT JOIN case_exchange_label b ON a.exchange_id = b.exchange_id
|
||||
LEFT JOIN user c ON c.user_id = a.user_id
|
||||
WHERE a.exchange_status = 1
|
||||
AND a.delete_status = 0
|
||||
<if test="isSelected != null">
|
||||
AND a.is_selected = #{isSelected}
|
||||
</if>
|
||||
<if test="keyword != null and keyword != ''">
|
||||
AND (
|
||||
a.exchange_title LIKE CONCAT('%', #{keyword}, '%')
|
||||
OR c.user_name LIKE CONCAT('%', #{keyword}, '%')
|
||||
OR b.label_name LIKE CONCAT('%', #{keyword}, '%')
|
||||
)
|
||||
</if>
|
||||
<if test="userId != null and userId != ''">
|
||||
AND c.user_id = ${userId}
|
||||
</if>
|
||||
) AS result
|
||||
JOIN case_exchange a ON result.exchange_id = a.exchange_id
|
||||
LEFT JOIN user c ON c.user_id = a.user_id
|
||||
<if test="order != null and !order.isEmpty()">
|
||||
ORDER BY
|
||||
<foreach item="entry" index="key" collection="order" separator=",">
|
||||
${key} ${entry}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
x
Reference in New Issue
Block a user