修改了病例交流的统计数据和登陆状态
This commit is contained in:
parent
36a796853b
commit
20ff8778b8
@ -272,9 +272,10 @@ public class CaseExchangeController {
|
|||||||
request.validateForLimit();
|
request.validateForLimit();
|
||||||
|
|
||||||
// 获取数据
|
// 获取数据
|
||||||
List<CaseExchangeDto> caseExchanges = caseExchangeDao.getCaseExchangeSearchList(
|
List<CaseExchangeDto> caseExchanges = caseExchangeDao.getCaseExchangeSearchLimitList(
|
||||||
request.getLimit(),
|
request.getLimit(),
|
||||||
request.getKeyword(),
|
request.getKeyword(),
|
||||||
|
null,
|
||||||
request.getIsSelected(),
|
request.getIsSelected(),
|
||||||
request.handleOrder()
|
request.handleOrder()
|
||||||
);
|
);
|
||||||
|
|||||||
@ -81,6 +81,9 @@ public class PublicController {
|
|||||||
LoginDto g = userService.UserLoginWithMobile(phoneInfo.getPurePhoneNumber());
|
LoginDto g = userService.UserLoginWithMobile(phoneInfo.getPurePhoneNumber());
|
||||||
return Response.success(g);
|
return Response.success(g);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
if (Objects.equals(e.getMessage(), "请耐心等待审核")){
|
||||||
|
return Response.error(10005,null,e.getMessage());
|
||||||
|
}
|
||||||
return Response.error(e.getMessage());
|
return Response.error(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -88,9 +91,16 @@ public class PublicController {
|
|||||||
// 登陆
|
// 登陆
|
||||||
@PostMapping("/login/hcp")
|
@PostMapping("/login/hcp")
|
||||||
public Response<LoginDto> loginHcp(@Validated() @ModelAttribute LoginHcpRequest request) {
|
public Response<LoginDto> loginHcp(@Validated() @ModelAttribute LoginHcpRequest request) {
|
||||||
|
try {
|
||||||
// 用户登陆
|
// 用户登陆
|
||||||
LoginDto g = userService.UserLoginWithApp(request.getToken());
|
LoginDto g = userService.UserLoginWithApp(request.getToken());
|
||||||
return Response.success(g);
|
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);
|
return Response.success(g);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
if (Objects.equals(e.getMessage(), "请耐心等待审核")){
|
||||||
|
return Response.error(10005,null,e.getMessage());
|
||||||
|
}
|
||||||
return Response.error(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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.example.caseData.common.Response;
|
import com.example.caseData.common.Response;
|
||||||
|
import com.example.caseData.dao.CaseExchangeDao;
|
||||||
import com.example.caseData.dao.StatsCaseExchangeDao;
|
import com.example.caseData.dao.StatsCaseExchangeDao;
|
||||||
import com.example.caseData.dao.StatsCaseExchangeUserDao;
|
import com.example.caseData.dao.StatsCaseExchangeUserDao;
|
||||||
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.statsCaseClinical.StatsCaseClinicalDto;
|
||||||
import com.example.caseData.dto.statsCaseExchange.StatsCaseExchangeDto;
|
import com.example.caseData.dto.statsCaseExchange.StatsCaseExchangeDto;
|
||||||
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.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api")
|
@RequestMapping("/api")
|
||||||
public class StatsCaseExchangeController extends BaseController {
|
public class StatsCaseExchangeController extends BaseController {
|
||||||
@Resource
|
@Resource
|
||||||
private StatsCaseExchangeDao statsCaseExchangeDao;
|
private StatsCaseExchangeDao statsCaseExchangeDao;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CaseExchangeDao caseExchangeDao;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private StatsCaseExchangeUserDao statsCaseExchangeUserDao;
|
private StatsCaseExchangeUserDao statsCaseExchangeUserDao;
|
||||||
|
|
||||||
@ -43,6 +51,10 @@ public class StatsCaseExchangeController extends BaseController {
|
|||||||
if (g == null){
|
if (g == null){
|
||||||
return Response.success(new StatsCaseExchangeDto());
|
return Response.success(new StatsCaseExchangeDto());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Long totalCommentNum = caseExchangeDao.getTotalCommentNum();
|
||||||
|
g.setExchangeCommentNum(Math.toIntExact(totalCommentNum));
|
||||||
|
|
||||||
return Response.success(g);
|
return Response.success(g);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,7 +64,7 @@ public class StatsCaseExchangeController extends BaseController {
|
|||||||
@GetMapping("/exchange/stats/user")
|
@GetMapping("/exchange/stats/user")
|
||||||
public Response<StatsCaseExchangeUserDto> getClinicalStatsUser(){
|
public Response<StatsCaseExchangeUserDto> getClinicalStatsUser(){
|
||||||
String userId = (String) httpServletRequest.getAttribute("userId");
|
String userId = (String) httpServletRequest.getAttribute("userId");
|
||||||
if (userId != null) {
|
if (userId == null) {
|
||||||
return Response.error();
|
return Response.error();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,6 +77,21 @@ public class StatsCaseExchangeController extends BaseController {
|
|||||||
return Response.success(new StatsCaseExchangeUserDto());
|
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);
|
return Response.success(g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import com.example.caseData.model.CaseClinicalArticleModel;
|
|||||||
import com.example.caseData.model.CaseExchangeModel;
|
import com.example.caseData.model.CaseExchangeModel;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
import org.apache.ibatis.annotations.Update;
|
import org.apache.ibatis.annotations.Update;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -37,9 +38,22 @@ public interface CaseExchangeDao extends BaseMapper<CaseExchangeModel> {
|
|||||||
* @param keyword 搜索关键词-标题/医生名称/标签名称
|
* @param keyword 搜索关键词-标题/医生名称/标签名称
|
||||||
* @param order 排序
|
* @param order 排序
|
||||||
*/
|
*/
|
||||||
List<CaseExchangeDto> getCaseExchangeSearchList(
|
List<CaseExchangeDto> getCaseExchangeSearchLimitList(
|
||||||
@Param("limit") Integer limit,
|
@Param("limit") Integer limit,
|
||||||
@Param("keyword") String keyword,
|
@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("isSelected") Integer isSelected,
|
||||||
@Param("order") Map<String, String> order
|
@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}")
|
@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);
|
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;
|
package com.example.caseData.dto.statsCaseExchange;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.example.caseData.model.StatsCaseExchangeModel;
|
import com.example.caseData.model.StatsCaseExchangeModel;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -36,6 +37,12 @@ public class StatsCaseExchangeDto {
|
|||||||
@JsonProperty("exchange_collect_num")
|
@JsonProperty("exchange_collect_num")
|
||||||
private Integer exchangeCollectNum = 0;
|
private Integer exchangeCollectNum = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总评论量-病例交流
|
||||||
|
*/
|
||||||
|
@JsonProperty("exchange_comment_num")
|
||||||
|
private Integer exchangeCommentNum = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -22,7 +22,7 @@ public class GetHospitalByUuidResponse
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据手机号获取医生信息 - 详细数据
|
* - 详细数据
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public static class GetHospitalByUuidData {
|
public static class GetHospitalByUuidData {
|
||||||
@ -39,6 +39,9 @@ public class GetHospitalByUuidResponse
|
|||||||
/** 省份 */
|
/** 省份 */
|
||||||
private String prov_name;
|
private String prov_name;
|
||||||
|
|
||||||
|
/** 城市 */
|
||||||
|
private String city_name;
|
||||||
|
|
||||||
/** 医生数量 */
|
/** 医生数量 */
|
||||||
private Integer expert_num;
|
private Integer expert_num;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -302,6 +302,7 @@ public class UserService {
|
|||||||
basicHospital.setHospitalLevel(data.getLevel());
|
basicHospital.setHospitalLevel(data.getLevel());
|
||||||
basicHospital.setDoctorNumber(data.getExpert_num());
|
basicHospital.setDoctorNumber(data.getExpert_num());
|
||||||
basicHospital.setProvince(data.getProv_name());
|
basicHospital.setProvince(data.getProv_name());
|
||||||
|
basicHospital.setCity(data.getCity_name());
|
||||||
save(basicHospital);
|
save(basicHospital);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -81,6 +81,58 @@
|
|||||||
<!-- </if>-->
|
<!-- </if>-->
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getCaseExchangeSearchLimitList" 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>
|
||||||
|
LIMIT #{limit}
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="getCaseExchangeSearchList" resultMap="caseExchangeDtoMap">
|
<select id="getCaseExchangeSearchList" resultMap="caseExchangeDtoMap">
|
||||||
SELECT
|
SELECT
|
||||||
a.exchange_id,
|
a.exchange_id,
|
||||||
@ -118,9 +170,9 @@
|
|||||||
OR b.label_name LIKE CONCAT('%', #{keyword}, '%')
|
OR b.label_name LIKE CONCAT('%', #{keyword}, '%')
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
<!-- <if test="userId != null and userId != ''">-->
|
<if test="userId != null and userId != ''">
|
||||||
<!-- AND c.user_id = ${userId}-->
|
AND c.user_id = ${userId}
|
||||||
<!-- </if>-->
|
</if>
|
||||||
) AS result
|
) AS result
|
||||||
JOIN case_exchange a ON result.exchange_id = a.exchange_id
|
JOIN case_exchange a ON result.exchange_id = a.exchange_id
|
||||||
LEFT JOIN user c ON c.user_id = a.user_id
|
LEFT JOIN user c ON c.user_id = a.user_id
|
||||||
@ -130,6 +182,5 @@
|
|||||||
${key} ${entry}
|
${key} ${entry}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
LIMIT #{limit}
|
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
x
Reference in New Issue
Block a user