提交 7011cc1d 编写于 作者: wangyongbo's avatar wangyongbo

刷数据

上级 6db438c8
package com.pica.cloud.wechat.yunqueyilian.server.controller.refresh;
public class PatDocPatMapping {
private Integer id;
private Integer patientId;
private Integer doctorId;
private Integer disCategoryId;
private Integer type;
private Integer addType;
private String remark;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getPatientId() {
return patientId;
}
public void setPatientId(Integer patientId) {
this.patientId = patientId;
}
public Integer getDoctorId() {
return doctorId;
}
public void setDoctorId(Integer doctorId) {
this.doctorId = doctorId;
}
public Integer getDisCategoryId() {
return disCategoryId;
}
public void setDisCategoryId(Integer disCategoryId) {
this.disCategoryId = disCategoryId;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getAddType() {
return addType;
}
public void setAddType(Integer addType) {
this.addType = addType;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
}
\ No newline at end of file
package com.pica.cloud.wechat.yunqueyilian.server.controller.refresh;
public class PatPatient{
private Integer id;
private String nickname;
private String mobilePhone;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname == null ? null : nickname.trim();
}
public String getMobilePhone() {
return mobilePhone;
}
public void setMobilePhone(String mobilePhone) {
this.mobilePhone = mobilePhone == null ? null : mobilePhone.trim();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
}
\ No newline at end of file
package com.pica.cloud.wechat.yunqueyilian.server.controller.refresh;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import com.pica.cloud.foundation.utils.annotation.LoginPermission;
import com.pica.cloud.foundation.utils.controller.BaseController;
import com.pica.cloud.wechat.yunqueyilian.server.utils.ReturnUtil;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@Api(value = "刷数据", description = "")
@RestController
@RequestMapping(value = "/refresh")
public class RefreshController extends BaseController {
@Autowired
private RefreshService refreshService;
@LoginPermission
@PostMapping("/initPatient")
public PicaResponse initPatient(@RequestParam("id") Integer id) {
PicaUser picaUser = fetchPicaUser();
if (picaUser.getId() == 766) {
refreshService.initPatient(id);
}
return ReturnUtil.getPicaResponse(PicaResultCode.SUCCESS);
}
@LoginPermission
@PostMapping("/patDocMapping1")
public PicaResponse patDocMapping1(@RequestParam("id") Integer id) {
PicaUser picaUser = fetchPicaUser();
if (picaUser.getId() == 766) {
refreshService.patDocMapping1(id);
}
return ReturnUtil.getPicaResponse(PicaResultCode.SUCCESS);
}
@LoginPermission
@PostMapping("/patDocMapping2")
public PicaResponse patDocMapping2(@RequestParam("id") Integer id) {
PicaUser picaUser = fetchPicaUser();
if (picaUser.getId() == 766) {
refreshService.patDocMapping2(id);
}
return ReturnUtil.getPicaResponse(PicaResultCode.SUCCESS);
}
}
//
package com.pica.cloud.wechat.yunqueyilian.server.controller.refresh;
import java.util.List;
/**
* @ClassName RefreshReq
* @Description TODO
* @Author wangyongbo
* @Date 2019/9/4 下午4:20
* @ModifyDate 2019/9/4 下午4:20
* @Version 1.0
*/
public class RefreshReq {
private List<String> tips1Edu;
private List<String> tips2Edu;
private List<String> tips1Common;
private List<String> tips2Common;
private List<Integer> ids;
private List<String> idTips1Maping;
private List<String> idTips2Maping;
private List<String> idTips3Maping;
public List<String> getIdTips3Maping() {
return idTips3Maping;
}
public void setIdTips3Maping(List<String> idTips3Maping) {
this.idTips3Maping = idTips3Maping;
}
public List<String> getTips1Edu() {
return tips1Edu;
}
public void setTips1Edu(List<String> tips1Edu) {
this.tips1Edu = tips1Edu;
}
public List<String> getTips2Edu() {
return tips2Edu;
}
public void setTips2Edu(List<String> tips2Edu) {
this.tips2Edu = tips2Edu;
}
public List<String> getTips1Common() {
return tips1Common;
}
public void setTips1Common(List<String> tips1Common) {
this.tips1Common = tips1Common;
}
public List<String> getTips2Common() {
return tips2Common;
}
public void setTips2Common(List<String> tips2Common) {
this.tips2Common = tips2Common;
}
public List<Integer> getIds() {
return ids;
}
public void setIds(List<Integer> ids) {
this.ids = ids;
}
public List<String> getIdTips1Maping() {
return idTips1Maping;
}
public void setIdTips1Maping(List<String> idTips1Maping) {
this.idTips1Maping = idTips1Maping;
}
public List<String> getIdTips2Maping() {
return idTips2Maping;
}
public void setIdTips2Maping(List<String> idTips2Maping) {
this.idTips2Maping = idTips2Maping;
}
}
package com.pica.cloud.wechat.yunqueyilian.server.controller.refresh;
/**
* @Description TODO
* @Author wangyongbo
* @Date 2019/9/4 下午4:18
* @ModifyDate 2019/9/4 下午4:18
* @Params
* @Return
*/
public interface RefreshService {
void initPatient(Integer id);
void patDocMapping1(Integer id);
void patDocMapping2(Integer id);
}
package com.pica.cloud.wechat.yunqueyilian.server.controller.refresh;
import com.pica.cloud.wechat.yunqueyilian.server.mapper.RefreshMapper;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @Description
* @Author wangyongbo
* @Date 2019/9/4 下午4:18
* @ModifyDate 2019/9/4 下午4:18
* @Params
* @Return
*/
@Service
public class RefreshServiceImpl implements RefreshService {
private static Logger logger = LoggerFactory.getLogger(RefreshServiceImpl.class);
@Autowired
private RefreshMapper refreshMapper;
@Override
public void initPatient(Integer id) {
List<PatPatient> reqs = refreshMapper.queryRepeatPat(id);
int refreshIndex = 0;
logger.info("开始处理数据:");
if (CollectionUtils.isNotEmpty(reqs)) {
for (PatPatient req : reqs) {
/**获取相同手机号+姓名的居民*/
List<PatPatient> patList = refreshMapper.queryListPat(req);
if (CollectionUtils.isNotEmpty(patList)) {
List<PatPatient> patRealList = new ArrayList<>();
for (PatPatient pat : patList) {
/**校验是否有已存在业务,商城、服务包、微信绑定*/
if (refreshMapper.validateTradeOrder(pat.getId()) > 0 || refreshMapper.validateFollowUp(pat.getId()) > 0 || refreshMapper.validateWechat(pat.getId()) > 0) {
continue;
} else {
patRealList.add(pat);
}
}
if (CollectionUtils.isNotEmpty(patRealList) && patRealList.size() == patList.size()) {
patRealList.remove(0);
if (CollectionUtils.isNotEmpty(patRealList)) {
for (PatPatient patReal : patRealList) {
refreshMapper.deletePat(patReal.getId());
refreshMapper.updateRepeat(patReal);
refreshIndex++;
}
}
}
}
}
}
logger.info("共处理数据:" + refreshIndex + "【条】");
}
@Override
public void patDocMapping1(Integer id) {
List<PatDocPatMapping> list = refreshMapper.queryRepeatPatMaping1(id);
if (CollectionUtils.isNotEmpty(list)) {
for (PatDocPatMapping mapping : list) {
refreshMapper.updatePatMaping1(mapping);
refreshMapper.updatePatMaping2(mapping);
}
}
}
@Override
public void patDocMapping2(Integer id) {
List<PatDocPatMapping> list = refreshMapper.queryRepeatPatMaping2(id);
if (CollectionUtils.isNotEmpty(list)) {
for (PatDocPatMapping mapping : list) {
refreshMapper.updatePatMaping2(mapping);
}
}
}
}
package com.pica.cloud.wechat.yunqueyilian.server.mapper;
import com.pica.cloud.wechat.yunqueyilian.server.controller.refresh.PatDocPatMapping;
import com.pica.cloud.wechat.yunqueyilian.server.controller.refresh.PatPatient;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public interface RefreshMapper {
List<PatPatient> queryRepeatPat(@Param("id") Integer id);
List<PatPatient> queryListPat(PatPatient info);
Integer validateTradeOrder(@Param("id") Integer id);
Integer validateFollowUp(@Param("id") Integer id);
Integer validateWechat(@Param("id") Integer id);
void deletePat(@Param("id") Integer id);
void updateRepeat(PatPatient info);
List<PatDocPatMapping> queryRepeatPatMaping1(@Param("id") Integer id);
List<PatDocPatMapping> queryRepeatPatMaping2(@Param("id") Integer id);
void updatePatMaping1(PatDocPatMapping mapping);
void updatePatMaping2(PatDocPatMapping mapping);
}
\ No newline at end of file
package com.pica.cloud.wechat.yunqueyilian.server.utils;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode;
/**
* 封装返回参数工具类
* @author andong
* @create 2018/7/4
*/
public class ReturnUtil {
private ReturnUtil(){
throw new IllegalStateException("Utility class");
}
//生成返回信息
public static <T> PicaResponse<T> getPicaResponse(PicaResultCode picaResultCode) {
PicaResponse.Builder<T> builder = new PicaResponse.Builder<>();
return builder.setCode(picaResultCode.code()).setMessage(picaResultCode.message()).build();
}
//生成返回信息
public static <T> PicaResponse<T> getPicaResponse(String code, String message) {
PicaResponse.Builder<T> builder = new PicaResponse.Builder<>();
return builder.setCode(code).setMessage(message).build();
}
//生成返回信息
public static <T> PicaResponse<T> getPicaResponse(PicaResultCode picaResultCode, T data) {
PicaResponse.Builder<T> builder = new PicaResponse.Builder<>();
return builder.setCode(picaResultCode.code()).setMessage(picaResultCode.message()).setData(data).build();
}
//生成返回信息
public static <T> PicaResponse<T> getPicaResponse(String code, String message, T data) {
PicaResponse.Builder<T> builder = new PicaResponse.Builder<>();
return builder.setCode(code).setMessage(message).setData(data).build();
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.pica.cloud.wechat.yunqueyilian.server.mapper.RefreshMapper" >
<select id="queryRepeatPat" parameterType="java.lang.Integer" resultType="com.pica.cloud.wechat.yunqueyilian.server.controller.refresh.PatPatient">
select
nickname as nickname,
mobile_phone as mobilePhone
from pat_patient_repeat_1102
where id > #{id}
and delete_flag = 1
and type = 1
</select>
<select id="queryListPat" parameterType="com.pica.cloud.wechat.yunqueyilian.server.controller.refresh.PatPatient" resultType="com.pica.cloud.wechat.yunqueyilian.server.controller.refresh.PatPatient">
select
id as id,
nickname as nickname,
mobile_phone as mobilePhone
from pat_patient
where mobile_phone = #{mobilePhone}
and nickname = #{nickname}
and delete_flag = 1
order by id desc
</select>
<select id="validateTradeOrder" parameterType="java.lang.Integer" resultType="java.lang.Integer">
select
count(1)
from pica_trade.trade_order
where user_id = #{id}
and user_type = 2
and delete_flag = 1
</select>
<select id="validateFollowUp" parameterType="java.lang.Integer" resultType="java.lang.Integer">
select
count(1)
from pica_follow_up.fu_plan_patients
where patient_id = #{id}
and delete_flag = 1
</select>
<select id="validateWechat" parameterType="java.lang.Integer" resultType="java.lang.Integer">
select
count(1)
from pat_wechat_union
where patient_id = #{id}
and delete_flag = 1
</select>
<update id="deletePat" parameterType="java.lang.Integer" >
update pat_patient
set delete_flag = 2,
modified_id = 3,
modified_time = now()
where id = #{id};
update pat_patient_info
set delete_flag = 2,
modified_id = 3,
modified_time = now()
where patient_id = #{id};
update pat_doc_pat_mapping
set delete_flag = 2,
modified_id = 3,
modified_time = now()
where patient_id = #{id};
update pat_doc_pat_info
set delete_flag = 2,
modified_id = 3,
modified_time = now()
where patient_id = #{id};
</update>
<update id="updateRepeat" parameterType="com.pica.cloud.wechat.yunqueyilian.server.controller.refresh.PatPatient">
update pat_patient_repeat_1102
set delete_flag = 2
where mobile_phone = #{mobilePhone}
and nickname = #{nickname}
</update>
<select id="queryRepeatPatMaping1" parameterType="java.lang.Integer" resultType="com.pica.cloud.wechat.yunqueyilian.server.controller.refresh.PatDocPatMapping">
select
patient_id_1 as patientId,
doctor_id_1 as doctorId
from pat_patient_repeat_1102
where id > #{id}
and type = 2
</select>
<select id="queryRepeatPatMaping2" parameterType="java.lang.Integer" resultType="com.pica.cloud.wechat.yunqueyilian.server.controller.refresh.PatDocPatMapping">
select
patient_id_2 as patientId,
doctor_id_2 as doctorId
from pat_patient_repeat_1102
where id > #{id}
and type = 3
</select>
<select id="updatePatMaping1" parameterType="com.pica.cloud.wechat.yunqueyilian.server.controller.refresh.PatDocPatMapping" >
update pat_doc_pat_mapping
set delete_flag = 2,
modified_id = 3,
modified_time = now()
where patient_id = #{patientId}
and doctor_id = #{doctorId}
and id not in (
select a.id from (
select id from pat_doc_pat_mapping
where patient_id = #{patientId}
and doctor_id = #{doctorId}
order by created_time desc limit 1
) a
)
</select>
<select id="updatePatMaping2" parameterType="com.pica.cloud.wechat.yunqueyilian.server.controller.refresh.PatDocPatMapping" >
update pat_doc_pat_info
set delete_flag = 2,
modified_id = 3,
modified_time = now()
where patient_id = #{patientId}
and doctor_id = #{doctorId}
and id not in (
select a.id from (
select id from pat_doc_pat_info
where patient_id = #{patientId}
and doctor_id = #{doctorId}
order by created_time desc limit 1
) a
)
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册