From 4023b7fbefd802991fd8e1a8f6438c9b85dd5389 Mon Sep 17 00:00:00 2001 From: mengkuiliang <1464081137@qq.com> Date: Mon, 16 Oct 2023 09:03:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9C=8D=E5=8A=A1=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=8E=A5=E5=8F=A3=EF=BC=9B=20=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=AD=BE=E7=BA=A6=E5=8D=8F=E8=AE=AE=E6=8E=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ResidentServiceApplyController.java | 23 ++++- .../controller/applet/SignInfoController.java | 8 +- .../mapper/ResidentServiceApplyMapper.java | 9 ++ .../applet/pojo/query/ApplyQuery.java | 6 ++ .../applet/pojo/vo/OrderEvaluateInfoVo.java | 91 +++++++++++++++++++ .../applet/pojo/vo/ProtocolContentVo.java | 12 +++ .../pojo/vo/ResidentServiceApplyVo.java | 17 +++- .../applet/pojo/vo/SignInfoDataVo.java | 13 +++ .../applet/pojo/vo/SignInfoDetailVo.java | 1 + .../IResidentServiceAppletService.java | 9 ++ .../impl/ResidentServiceApplyServiceImpl.java | 21 +++++ .../sign/ResidentServiceApplyMapper.xml | 88 +++++++++++++++++- 12 files changed, 283 insertions(+), 15 deletions(-) create mode 100644 xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/OrderEvaluateInfoVo.java diff --git a/xinelu-admin/src/main/java/com/xinelu/web/controller/applet/ResidentServiceApplyController.java b/xinelu-admin/src/main/java/com/xinelu/web/controller/applet/ResidentServiceApplyController.java index dec5de9..e25b5a8 100644 --- a/xinelu-admin/src/main/java/com/xinelu/web/controller/applet/ResidentServiceApplyController.java +++ b/xinelu-admin/src/main/java/com/xinelu/web/controller/applet/ResidentServiceApplyController.java @@ -32,7 +32,7 @@ public class ResidentServiceApplyController extends BaseController { @Resource private IResidentServiceAppletService residentServiceAppletService; - @ApiOperation("提交服务申请") + @ApiOperation("提交服务预约") @PostMapping("/save") public R save(@RequestBody ResidentServiceApplyBody body) { if (body == null || StringUtils.isBlank(body.getPackageNo()) || StringUtils.isBlank(body.getFormNo())) { @@ -45,14 +45,14 @@ public class ResidentServiceApplyController extends BaseController { return R.ok(); } - @ApiOperation("取消服务申请") + @ApiOperation("取消服务预约") @GetMapping("/cancel/{bookingNo}") public R cancel(@PathVariable String bookingNo) { residentServiceAppletService.cancel(bookingNo); return R.ok(); } - @ApiOperation("服务申请列表") + @ApiOperation("服务预约列表") @PostMapping("/list") public TableDataInfo performanceBookingList(@RequestBody ApplyQuery query) { if (StringUtils.isBlank(query.getIdentity())) { @@ -67,7 +67,7 @@ public class ResidentServiceApplyController extends BaseController { } } - @ApiOperation("服务申请详情") + @ApiOperation("服务预约详情") @GetMapping("/detail/{bookingNo}") public R performanceBookingDetail(@PathVariable String bookingNo) { return R.ok(residentServiceAppletService.detail(bookingNo)); @@ -78,4 +78,19 @@ public class ResidentServiceApplyController extends BaseController { public R> getForm(@PathVariable String identity, String projectName, @RequestHeader("region") String region) { return R.ok(residentServiceAppletService.getForm(identity, projectName,region)); } + + @ApiOperation("服务记录列表") + @PostMapping("/record") + public TableDataInfo performanceBookingRecord(@RequestBody ApplyQuery query) { + if (StringUtils.isBlank(query.getIdentity())) { + throw new ServiceException("居民身份证号不能为空"); + } + try { + startPage(); + return getDataTable(residentServiceAppletService.record(query)); + } catch (Exception e) { + e.printStackTrace(); + throw new ServiceException(e.getMessage()); + } + } } diff --git a/xinelu-admin/src/main/java/com/xinelu/web/controller/applet/SignInfoController.java b/xinelu-admin/src/main/java/com/xinelu/web/controller/applet/SignInfoController.java index 134d953..a4ec9c5 100644 --- a/xinelu-admin/src/main/java/com/xinelu/web/controller/applet/SignInfoController.java +++ b/xinelu-admin/src/main/java/com/xinelu/web/controller/applet/SignInfoController.java @@ -203,10 +203,10 @@ public class SignInfoController extends BaseController { return getDataTable(null, 0); } - @ApiOperation("获取签约协议内容") - @GetMapping("/getContent/{orgNo}") - public R getAreaById(@PathVariable String orgNo, @RequestHeader("region") String region) { - String result = (String) httpService.get(SpringUtils.getFdUrl(region) + "/resident/signinfo/getContent/" + orgNo, null, String.class); + @ApiOperation(value = "获取签约协议模版内容", notes = "协议模版内容、机构公章照片base64、签约医生签名照片base64") + @GetMapping("/getContent/{userNo}") + public R getAreaById(@PathVariable String userNo, @RequestHeader("region") String region) { + String result = (String) httpService.get(SpringUtils.getFdUrl(region) + "/resident/signinfo/getContent/" + userNo, null, String.class); JSONObject jsonObject = JSONObject.parseObject(result); if ("0".equals(jsonObject.get("code"))) { return R.fail(jsonObject.get("msg").toString()); diff --git a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/mapper/ResidentServiceApplyMapper.java b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/mapper/ResidentServiceApplyMapper.java index e1d022b..c07948f 100644 --- a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/mapper/ResidentServiceApplyMapper.java +++ b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/mapper/ResidentServiceApplyMapper.java @@ -89,6 +89,15 @@ public interface ResidentServiceApplyMapper { * @return void **/ void batchInsert(List entity); + + /** + * @Author mengkuiliang + * @Description 服务记录列表 + * @Date 2023-10-13 013 14:01 + * @Param [query] + * @return java.util.List + **/ + List getRecord(ApplyQuery query); } diff --git a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/query/ApplyQuery.java b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/query/ApplyQuery.java index 955f785..bd5d8e8 100644 --- a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/query/ApplyQuery.java +++ b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/query/ApplyQuery.java @@ -127,4 +127,10 @@ public class ApplyQuery { */ @ApiModelProperty(value = "数据范围过滤SQL", hidden = true) private String dataScope; + + /** + * 是否已评价(1: 是 2: 否) + */ + @ApiModelProperty(value = "是否已评价(1: 是 2: 否)") + private String isEvaluate; } diff --git a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/OrderEvaluateInfoVo.java b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/OrderEvaluateInfoVo.java new file mode 100644 index 0000000..528f2ec --- /dev/null +++ b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/OrderEvaluateInfoVo.java @@ -0,0 +1,91 @@ +package com.xinelu.familydoctor.applet.pojo.vo; + +import com.xinelu.common.core.domain.BaseDomain; +import com.xinelu.manage.domain.orderevaluatepictureinfo.OrderEvaluatePictureInfo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author mengkuiliang + * @Description 服务评价对象 + * @Date 2023-10-13 013 14:49 + * @Param + * @return + **/ +@Data +@ApiModel(value = "服务评价对象") +public class OrderEvaluateInfoVo extends BaseDomain { + /** + * 主键id + */ + private Long id; + + /** + * 会员id + */ + @ApiModelProperty(value = "会员id") + private Long patientId; + + /** + * 微信openid + */ + @ApiModelProperty(value = "微信openid") + private String openid; + + /** + * 微信unionid + */ + @ApiModelProperty(value = "微信unionid") + private String unionid; + + /** + * 订单编号 + */ + @ApiModelProperty(value = "订单编号") + private String orderNo; + + /** + * 服务编号 + */ + @ApiModelProperty(value = "服务编号") + private String serviceCode; + + /** + * 评价内容 + */ + @ApiModelProperty(value = "评价内容") + private String evaluateContent; + + /** + * 手机App:PHONE_APP,微信小程序:WE_CHAT_APPLET + */ + @ApiModelProperty(value = "手机App:PHONE_APP,微信小程序:WE_CHAT_APPLET") + private String evaluateChannel; + + /** + * 预约服务满意度,一般:COMMONLY,满意:SATISFIED,非常满意:VERY_SATISFIED,不满意(差):DISSATISFIED,非常不满意(非常差):VERY_DISSATISFIED + */ + @ApiModelProperty(value = "预约服务满意度,一般:COMMONLY,满意:SATISFIED,非常满意:VERY_SATISFIED,不满意(差):DISSATISFIED,非常不满意(非常差):VERY_DISSATISFIED") + private String evaluateSatisfaction; + + /** + * 商品订单综合评分,取值,1:代表1颗星,2:代表两颗星,3:代表三颗星,4:代表四颗星,5:代表五颗星 + */ + @ApiModelProperty(value = "商品订单综合评分,取值,1:代表1颗星,2:代表两颗星,3:代表三颗星,4:代表四颗星,5:代表五颗星") + private Integer compositeScore; + + /** + * 订单来源,泉医模块:SPRING_DOCTOR,家医模块:FAMILY_DOCTOR + */ + @ApiModelProperty(value = "订单来源,泉医模块:SPRING_DOCTOR,家医模块:FAMILY_DOCTOR") + private String orderSource; + + /** + * 订单评价图片信息 + */ + @ApiModelProperty(value = "订单评价图片信息") + private List orderEvaluatePictureInfoList; +} diff --git a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/ProtocolContentVo.java b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/ProtocolContentVo.java index bf712b8..9403648 100644 --- a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/ProtocolContentVo.java +++ b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/ProtocolContentVo.java @@ -43,4 +43,16 @@ public class ProtocolContentVo { */ @ApiModelProperty(value = "内容") private String content; + + /** + * 医生签名照片Base64 + */ + @ApiModelProperty(value = "医生签名照片Base64") + private String doctorBase64; + + /** + * 机构公章照片Base64 + */ + @ApiModelProperty(value = "机构公章照片Base64") + private String orgBase64; } diff --git a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/ResidentServiceApplyVo.java b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/ResidentServiceApplyVo.java index 14dce7d..608a42a 100644 --- a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/ResidentServiceApplyVo.java +++ b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/ResidentServiceApplyVo.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; +import java.util.List; /** * @Author mengkuiliang @@ -93,14 +94,14 @@ public class ResidentServiceApplyVo { * 预约时间 */ @ApiModelProperty("预约时间") - @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date bookingTime; /** * 申请时间 */ @ApiModelProperty("申请时间") - @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date applyTime; /** @@ -113,14 +114,14 @@ public class ResidentServiceApplyVo { * 取消时间 */ @ApiModelProperty("取消时间") - @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date cancelTime; /** * 完成时间 */ @ApiModelProperty("完成时间") - @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date completeTime; /** @@ -139,7 +140,7 @@ public class ResidentServiceApplyVo { * 审批时间 */ @ApiModelProperty("审批时间") - @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date approvalTime; /** @@ -160,4 +161,10 @@ public class ResidentServiceApplyVo { @ApiModelProperty("评价编号") private String evaluateNo; + /** + * 服务评价对象 + */ + @ApiModelProperty("服务评价对象") + OrderEvaluateInfoVo orderEvaluateInfo; + } diff --git a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/SignInfoDataVo.java b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/SignInfoDataVo.java index a8d677e..b3b88b7 100644 --- a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/SignInfoDataVo.java +++ b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/SignInfoDataVo.java @@ -3,6 +3,7 @@ package com.xinelu.familydoctor.applet.pojo.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; import java.util.List; /** @@ -61,4 +62,16 @@ public class SignInfoDataVo { */ @ApiModelProperty(value = "机构公章照片Base64") private String orgBase64; + + /** + * 服务包签约价格 + */ + @ApiModelProperty(value = "服务包签约价格") + private BigDecimal packSignCost; + + /** + * 签约周期(年) + */ + @ApiModelProperty(value = "签约周期(年)") + private Integer signYears; } diff --git a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/SignInfoDetailVo.java b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/SignInfoDetailVo.java index 0404b3a..7622cb6 100644 --- a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/SignInfoDetailVo.java +++ b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/pojo/vo/SignInfoDetailVo.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; import java.util.Date; import java.util.List; diff --git a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/service/IResidentServiceAppletService.java b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/service/IResidentServiceAppletService.java index f8893f5..51cc427 100644 --- a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/service/IResidentServiceAppletService.java +++ b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/service/IResidentServiceAppletService.java @@ -105,4 +105,13 @@ public interface IResidentServiceAppletService { * @return java.lang.Object **/ List getForm(String identity, String projectName, String region); + + /** + * @Author mengkuiliang + * @Description 服务记录列表 + * @Date 2023-10-13 013 13:41 + * @Param [query] + * @return java.util.List + **/ + List record(ApplyQuery query); } diff --git a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/service/impl/ResidentServiceApplyServiceImpl.java b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/service/impl/ResidentServiceApplyServiceImpl.java index 85007c0..388feea 100644 --- a/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/service/impl/ResidentServiceApplyServiceImpl.java +++ b/xinelu-familydoctor/src/main/java/com/xinelu/familydoctor/applet/service/impl/ResidentServiceApplyServiceImpl.java @@ -88,6 +88,9 @@ public class ResidentServiceApplyServiceImpl implements IResidentServiceAppletSe // 审批状态0:待批准 1:已同意 2:已拒绝 entity.setApprovalStatus("0"); entity.setBookingNo(IdUtils.simpleUUID()); + if(StringUtils.isBlank(entity.getServiceWay())) { + entity.setServiceWay("2"); + } residentServiceApplyMapper.insert(entity); } @@ -325,6 +328,24 @@ public class ResidentServiceApplyServiceImpl implements IResidentServiceAppletSe } return projectList; } + + /** + * @Author mengkuiliang + * @Description 服务记录列表 + * @Date 2023-10-13 013 13:56 + * @Param [query] + * @return java.util.List + **/ + @Override + public List record(ApplyQuery query) { + if (query.getStartDate() != null) { + query.setStartDate(DateUtils.parseDate(DateUtils.parseDateToStr("yyyy-MM-dd 00:00:00", query.getStartDate()))); + } + if (query.getEndDate() != null) { + query.setEndDate(DateUtils.parseDate(DateUtils.parseDateToStr("yyyy-MM-dd 23:59:59", query.getEndDate()))); + } + return residentServiceApplyMapper.getRecord(query); + } } diff --git a/xinelu-familydoctor/src/main/resources/mapper/sign/ResidentServiceApplyMapper.xml b/xinelu-familydoctor/src/main/resources/mapper/sign/ResidentServiceApplyMapper.xml index 9246de3..ed35592 100644 --- a/xinelu-familydoctor/src/main/resources/mapper/sign/ResidentServiceApplyMapper.xml +++ b/xinelu-familydoctor/src/main/resources/mapper/sign/ResidentServiceApplyMapper.xml @@ -32,6 +32,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,booking_no,patient_id, resident_name,identity,package_no, @@ -44,7 +94,7 @@ remark - + s.id,s.booking_no,s.patient_id, s.resident_name,s.identity,s.package_no, s.package_name,s.form_no,s.form_name, @@ -56,6 +106,16 @@ s.remark + + oei.id, oei.openid, oei.unionid, oei.order_no, oei.service_code, + oei.evaluate_content, oei.evaluate_channel, oei.evaluate_satisfaction, oei.composite_score, oei.order_source, + oei.create_by, oei.create_time, oei.update_by, oei.update_time + + + + oepi.id, oepi.order_evaluate_id, oepi.evaluate_picture_url, oepi.create_by, oepi.create_time, oepi.update_by, oepi.update_time + + booking_no,patient_id, resident_name,identity,package_no, @@ -190,7 +250,7 @@ + + + update resident_service_apply