phis-feign/src/main/java/com/hz/his/constant/ActivityPreferentialConstants.java
New file @@ -0,0 +1,49 @@ package com.hz.his.constant; import com.hx.util.StringUtils; /** * 活动优惠类型 * @USER: fhx * @DATE: 2024/5/8 **/ public class ActivityPreferentialConstants { /** 优惠类型 - 降价 */ public static final String TYPE_PRICE_REDUCTION = "price_reduction"; /** 优惠类型 - 赠送优惠券 */ public static final String TYPE_GIFT_COUPON = "gift_coupon"; /** 优惠类型 - 赠送积分 */ public static final String TYPE_GIFT_INTEGRAL = "gift_integral"; /** 优惠类型 - 折扣 */ public static final String TYPE_DISCOUNT = "discount"; /** 优惠类型 - 赠送项目 */ public static final String TYPE_GIFT_PROJECT = "gift_project"; /** 转换优化类型中文 */ public static String changeTypeCn(String type){ switch (type){ case TYPE_PRICE_REDUCTION: return "降价"; case TYPE_GIFT_COUPON: return "赠送优惠券"; case TYPE_GIFT_INTEGRAL: return "赠送积分"; case TYPE_DISCOUNT: return "打折"; case TYPE_GIFT_PROJECT: return "赠送项目"; default: return "未知"; } } /** 检查判断是否赠送类型 */ public static boolean checkGiftType(String type){ if(StringUtils.isEmpty(type)){ return false; } if(TYPE_GIFT_COUPON.equals(type) || TYPE_GIFT_INTEGRAL.equals(type) || TYPE_GIFT_PROJECT.equals(type)){ return true; } return false; } } phis-feign/src/main/java/com/hz/his/dto/activity/RepoActivityDto.java
New file @@ -0,0 +1,28 @@ package com.hz.his.dto.activity; import lombok.Data; import java.util.List; /** * 复购活动dto * @USER: fhx * @DATE: 2024/5/8 **/ @Data public class RepoActivityDto { /** 复购活动id */ private String activityId; /** 用户id */ private String userId; /** 限制用户会员等级(多个逗号分隔,空则不限制) */ private String limitVipLevel; /** 限制门店id */ private List<String> limitShopIdList; /** 限制历史购买过spuId */ private List<String> limitSpuIdList; /** 限制历史分类(项目映射表) */ private List<RepoActivityLimitDto> limitTypeList; } phis-feign/src/main/java/com/hz/his/dto/activity/RepoActivityLimitDto.java
New file @@ -0,0 +1,20 @@ package com.hz.his.dto.activity; import lombok.Data; import java.util.List; /** * 复购活动限制dto * @USER: fhx * @DATE: 2024/5/8 **/ @Data public class RepoActivityLimitDto { /** 映射模块 */ private Integer moduleType; /** 映射名称 */ private String itemName; } phis-feign/src/main/java/com/hz/his/dto/coupon/CouponNumberDto.java
@@ -17,6 +17,7 @@ public class CouponNumberDto{ /**标识*/ private String id; /**标题*/ private String title; /**有效开始时间*/ @@ -58,6 +59,13 @@ /**计时类型(0时间段,1领取有效时长(领取时间叠加时间),2无效时长)*/ private Integer timeType; /** 优惠券id */ private String couponId; /** 优惠券标题 */ private String couponTitle; /** 优惠券码id */ private String couponNumberId; /**计时类型-时间段*/ public static final int TIME_TYPE_SLOT = 0; /**计时类型-领取时长(领取时间叠加时间)*/ phis-feign/src/main/java/com/hz/his/dto/fdd/FddDto.java
@@ -25,6 +25,8 @@ private String signTemplateName; /** 模板类型(电子病历和处方时选择的模板) */ private String templateType; /** 签署任务编号 */ private String signTaskId; /** 操作人类型(OperatorConstants) */ private Integer opType; @@ -56,6 +58,10 @@ private String positionY; /** 定位页码.首页从1开始 */ private int positionPageNo = 1; /** 签名宽度 */ private Integer width; /** 签名高度 */ private Integer height; //发起创建签署任务用到 /** 参与人类型(FddActorConstants) */ phis-feign/src/main/java/com/hz/his/dto/order/OrderItemPHisDto.java
@@ -24,6 +24,12 @@ private BigDecimal totalPoints; /**非必填 折扣(单位:百分比) 必填,默认100,不传后台默认100*/ private BigDecimal discount; /**当前是否允许低分抵扣现金*/ private Boolean isCanUseIntegralCash = false; /** 优惠券金额(元)必填,不传则默认0 */ private BigDecimal couponTotal; /** 优惠福利总金额(元)必填,不传则默认0 */ private BigDecimal preferentialTotal; /**抵扣现金金额*/ private BigDecimal cash = BigDecimal.ZERO; /**抵扣现金金额需要支付的积分*/ @@ -35,6 +41,8 @@ /**非必填 第三方item标识 */ private String commonItemId; /**非必填 第三方item的spu标识 */ private String commonItemGoodsId; /**非必填 身体部位标识 */ private String bodyPartsId; /**非必填 身体部位名称 */ @@ -59,4 +67,6 @@ /** 诉求分类idList */ private List<String> appealTypeIdList; /** 子单优惠福利数据 */ private List<OrderItemPreferentialDto> orderItemPreferentialList; } phis-feign/src/main/java/com/hz/his/dto/order/OrderItemPreferentialDto.java
New file @@ -0,0 +1,56 @@ package com.hz.his.dto.order; import lombok.Data; import java.math.BigDecimal; /** * 订单子单商品关联的优惠活动 * @USER: fhx * @DATE: 2024/5/8 **/ @Data public class OrderItemPreferentialDto { /** 订单id(OrdersTotal) */ private String orderId; /** 一级子订单id(OrderItem) */ private String orderItemId; /** 优惠活动名称 */ private String name; /** 来源类型 */ private String sourceType; /** 来源标识 */ private String sourceId; /** 辅助字段1 */ private String common1Id; /** 辅助字段2 */ private String common2Id; /** 辅助数值 */ private Integer commonNum; /** 活动类型(ActivityPreferentialConstants) */ private String type; /** 优惠数值 */ private BigDecimal valNum; /** 赠送优惠json */ private String giftJson; /** 优惠计算排序 */ private Integer sortNum; /** 优惠前价格 */ private BigDecimal beforePrice = BigDecimal.ZERO; /** 优惠后价格 */ private BigDecimal afterPrice = BigDecimal.ZERO; /** 优惠价格(优惠前-优惠后) */ private BigDecimal preferentialPrice = BigDecimal.ZERO; //////////////////////////////////////////////////////////////////////////////////////////// public OrderItemPreferentialDto() { } } phis-feign/src/main/java/com/hz/his/dto/order/OrderRefundDto.java
@@ -1,5 +1,6 @@ package com.hz.his.dto.order; import com.hz.his.dto.refund.RefundPreferentialDto; import lombok.Data; import java.math.BigDecimal; @@ -78,4 +79,7 @@ //非必填 重发标识 private String resendRecordId; /** 退款优惠 */ private RefundPreferentialDto refundPreferentialDto; } phis-feign/src/main/java/com/hz/his/dto/order/PayDto.java
@@ -69,5 +69,7 @@ private String giveIncreaseTitle; /**赠送标题(领取记录展示-详情)(不要使用,会删除)*/ private String giveIncreaseInfo; /**非必填 可以参与积分抵扣结账的商品标识*/ private List<String> canIntegralCashIdList; } phis-feign/src/main/java/com/hz/his/dto/refund/RefundPreferentialDto.java
New file @@ -0,0 +1,24 @@ package com.hz.his.dto.refund; import com.hz.his.dto.coupon.CouponNumberDto; import lombok.Data; import java.math.BigDecimal; import java.util.List; /** * 退款优惠dto * @USER: fhx * @DATE: 2024/5/15 **/ @Data public class RefundPreferentialDto { /** 要退款的复购活动赠送积分 */ private BigDecimal refundRepoGiftIntegral; /** 要退款作废的复购活动赠送优惠券 */ private List<CouponNumberDto> refundRepoGiftCouponList; /** 已使用优惠券提示 */ private List<String> couponTipsList; } phis-feign/src/main/java/com/hz/his/dto/report/user/UserDetailSelectDto.java
@@ -1,6 +1,6 @@ package com.hz.his.dto.report.user; import com.hz.his.dto.report.UserDetailReportDto; import com.hz.his.dto.PageDto; import lombok.Data; import java.util.List; @@ -10,17 +10,54 @@ * @author fwq * */ @Data public class UserDetailSelectDto extends UserDetailReportDto { /**查询活跃老VIP情况 勾选人数:查老活跃,勾选流失:流失 勾选活跃/沉睡 查状态*/ public class UserDetailSelectDto extends PageDto { /**门店标识*/ private List<String> shopIdList; /**门店编号*/ private List<String> shopNoList; /**顾问标识*/ private List<String> adviserIdList; /**顾问编号*/ private List<String> adviserNoList; /**查询客户等级*/ /**查询活跃老VIP,流失(流失)/活跃(状态)/沉睡(状态)之间是【或】关系0:流失 1:活跃 2:沉睡*/ private List<Integer> oldVipList; /**查询客户等级,等级之间是【或】关系*/ private List<String> userLevelList; /**三大项目未执行 集合 (每个都是单选)*/ /**颜值规划(一级,二级,三级的集合)*/ /**三大项目未执行大的是【且】,各自是【或】*/ /**打卡项目0:1-3个月未执行,1:4-6个月未执行,2:>6个月未执行*/ private List<Integer> dkProjectList; /**抗衰项目0:1-3个月未执行,1:4-6个月未执行,2:>6个月未执行*/ private List<Integer> ksProjectList; /**核心项目0:1-3个月未执行,1:4-6个月未执行,2:>6个月未执行*/ private List<Integer> hxProjectList; /**RFM 集合 R1..R2..等都是单选*/ /**RFM之间是是【且】,各自是【或】*/ /**查询RFM的R1,把统计范围名(例如:3-6个月)传过来*/ private List<String> rrOneList; /**查询RFM的F1,把统计范围名(例如:3-6个月)传过来*/ private List<String> ffOneList; /**查询RFM的F2,把统计范围名(例如:3-6个月)传过来*/ private List<String> ffTwoList; /**查询RFM的M1,把统计范围名(例如:3-6个月)传过来*/ private List<String> mmOneList; /**查询RFM的M2,把统计范围名(例如:3-6个月)传过来*/ private List<String> mmTwoList; /**客群:等级单选,触达单选*/ /**客群之间是【或】,各自也是【或】*/ /**A客,0:30天无触达,1:3个月无触达,2:6个月无触达,3:1年无触达*/ private List<Integer> aaLevelList; /**B客,0:30天无触达,1:3个月无触达,2:6个月无触达,3:1年无触达*/ private List<Integer> bbLevelList; /**C客,0:30天无触达,1:3个月无触达,2:6个月无触达,3:1年无触达*/ private List<Integer> ccLevelList; /**D客,0:30天无触达,1:3个月无触达,2:6个月无触达,3:1年无触达*/ private List<Integer> ddLevelList; /**颜值规划(一级,二级,三级的用'-'拼接的集合),之间【或】的关系,各自也是【且】*/ private List<String> planList; } phis-feign/src/main/java/com/hz/his/feign/service/marketing/MDoctorService.java
New file @@ -0,0 +1,25 @@ package com.hz.his.feign.service.marketing; import com.hx.resultTool.Result; import com.hz.his.dto.marketing.common.MarketingTotalDto; import com.hz.his.dto.user.room.UserDoctorRoomDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; /** * 营销助手审核接口 */ @FeignClient(name="marketing-assistant-user",path = "/m_assistant",contextId = "m-doctor") public interface MDoctorService { /** * 点诊医生接口 */ @PostMapping(value = "/doctor/apply/diagnosis/add") Result diagnosisAdd(@RequestBody UserDoctorRoomDto userDoctorRoomDto); } phis-feign/src/main/java/com/hz/his/feign/service/phis/SRepoActivityService.java
New file @@ -0,0 +1,42 @@ package com.hz.his.feign.service.phis; import com.hx.resultTool.Result; import com.hz.his.dto.PageDto; import com.hz.his.dto.activity.RepoActivityDto; import com.hz.his.dto.coupon.CouponDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import java.math.BigDecimal; /** * 复购活动service */ @FeignClient(name="phis-provider",path = "/p-his-data",contextId = "repo-activity") public interface SRepoActivityService { /** 门店列表 */ @PostMapping(value = "/repo/activity/shop/list") Result shopList(); /** SPU列表 */ @PostMapping(value = "/repo/activity/spu/list") Result spuList(@RequestBody PageDto dto); /** 项目映射分类列表 */ @PostMapping(value = "/repo/activity/project/type/relation/list") Result projectTypeRelationList(@RequestBody PageDto dto); /** 优惠券列表 */ @PostMapping(value = "/repo/activity/coupon/list") Result couponList(@RequestBody CouponDto couponDto); /** 检查查询用户是否符合参与复购活动 */ @PostMapping(value = "/repo/activity/check/user/can/join") Result checkUserCanJoin(@RequestBody RepoActivityDto repoActivityDto); } phis-feign/src/main/java/com/hz/his/feign/service/platform/SPhipOrderService.java
@@ -186,5 +186,7 @@ @PostMapping(value = "/order/countOrderShouldTotal") Result countOrderShouldTotal(@RequestBody OrderCountShouldTotalDto dto); /** 退款前逻辑检查 */ @PostMapping(value = "/order/reufnd/afrer/check") Result refundAfterCheck(@RequestBody OrderRefundDto dto); } phis-feign/src/main/java/com/hz/his/feign/service/platform/bi/BiUserService.java
@@ -4,6 +4,7 @@ import com.hz.his.dto.report.UserDetailReportDto; import com.hz.his.dto.report.UserReportDto; import com.hz.his.dto.report.UserReportListDto; import com.hz.his.dto.report.user.UserDetailSelectDto; import com.hz.his.dto.user.UserDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -109,7 +110,7 @@ * rfm客户概览-搜索用户列表 */ @PostMapping("/admin/rfmUser/report/user/search/list") Result userSearchList(@RequestBody UserDetailReportDto userDetailReportDto); Result userSearchList(@RequestBody UserDetailSelectDto userDetailSelectDto); } phis-feign/src/main/java/com/hz/his/feign/service/platform/fdd/SPhipFddSignTaskService.java
@@ -60,4 +60,10 @@ @PostMapping(value = "/fdd/sign/task/signTaskGetFile") Result signTaskGetFile(@RequestBody FddDto dto); /** 签署任务详情 - 法大大 */ @PostMapping(value = "/fdd/sign/task/detail/fdd") Result detailFdd(@RequestBody FddDto dto); } phis-feign/src/main/java/com/hz/his/vo/doctor/DisNumVo.java
New file @@ -0,0 +1,16 @@ package com.hz.his.vo.doctor; import lombok.Data; /** * 点诊审核数据 * */ @Data public class DisNumVo { /**当月点诊通过数量*/ private Integer passNum = 0; /**当月点诊上限数量*/ private Integer maxNum = 0; } phis-feign/src/main/java/com/hz/his/vo/label/LabelFindVo.java
@@ -7,8 +7,9 @@ */ @Data public class LabelFindVo { /**范围标识*/ /**范围标识-新(因为旧字段的处理查询被屏蔽)*/ private String rangeCodeNew; /**范围标识-旧*/ private String rangeCode; /**用户标识*/ private String userId;