1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
package com.hz.his.feign.service.phis;
 
import com.hx.resultTool.Result;
import com.hz.his.dto.user.*;
import com.hz.his.dto.user.card.UserCardDto;
import com.hz.his.dto.user.card.UserCardUsedDto;
import com.hz.his.dto.user.coupon.GoodsUsedCouponDto;
import com.hz.his.dto.user.coupon.OrderCanUseCouponDto;
import com.hz.his.dto.user.coupon.UserCanUseCouponDto;
import com.hz.his.dto.user.coupon.UserCouponDto;
import com.hz.his.dto.user.label.UserLabelDto;
import com.hz.his.dto.user.money.*;
import com.hz.his.dto.user.packages.UserPhisPackageDto;
import com.hz.his.dto.user.project.UserProjectDto;
import com.hz.his.dto.user.project.UserProjectUsedDto;
import com.hz.his.dto.user.promotion.UserPromotionUsedDto;
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.RequestParam;
 
import java.util.List;
 
/**
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name="phi-platform-user",path = "/p-his-data",contextId = "user")
public interface SUserService {
 
    /**
     * 查询用户列表
     * */
    @PostMapping(value = "/user/list")
    Result userList(@RequestBody UserDto userDto);
 
    /**
     * 查询用户标识列表
     * */
    @PostMapping(value = "/user/list/ids")
    Result userIdList(@RequestBody UserDto userDto);
 
    /**
     * 获取到用户详情
     * @param userId 用户标识
     * @return 转化使用UserDt
     */
    @PostMapping(value = "/user/info")
    Result userInfo(@RequestParam("userId") String userId);
 
    /**
     * 获取用户资金信息
     * */
    @PostMapping(value = "/user/money/info")
    Result userMoneyInfo(@RequestParam("userId") String userId);
 
    /**
     * 获取用户项目
     */
    @PostMapping(value = "/user/project/list")
    Result userProject(@RequestBody UserProjectDto userProjectDto);
 
    /**
     * 获取用户子项目
     */
    @PostMapping(value = "/user/project/item/list")
    Result userProjectItem(@RequestBody UserProjectDto userProjectDto);
 
    /**
     * 获取用户子项目使用记录
     */
    @PostMapping(value = "/user/project/used")
    Result userProjectUsed(@RequestBody UserProjectUsedDto userProjectUsedDto);
 
 
    /**
     * 获取用户卡包
     */
    @PostMapping(value = "/user/card")
    Result userCard(@RequestBody UserCardDto userCardDto);
 
 
    /**
     * 获取用户的卡项的详情
     * @param cardId 卡包标识
     * @return Result
     */
    @PostMapping(value = "/userCard/detail")
    Result getUserCardDetail(@RequestParam("cardId") String cardId);
 
    /**
     * 获取用户卡包使用记录
     */
    @PostMapping(value = "/user/card/used")
    Result userCardUsed(@RequestBody UserCardUsedDto userCardUsedDto);
 
 
    /**
     * 获取用户促销使用记录
     * */
    @PostMapping(value = "/user/promotion/used")
    Result userPromotionUsed(@RequestBody UserPromotionUsedDto userPromotionUsedDto);
 
 
    /**
     * 获取用户优惠券
     * */
    @PostMapping(value = "/user/coupon")
    Result userCoupon(@RequestBody UserCouponDto userCouponDto);
 
    /**
     * 获取用户优惠券使用记录
     * */
    @PostMapping(value = "/user/coupon/used")
    Result userCouponUsed(@RequestParam UserCouponDto userCouponDto);
 
 
    /**
     * 获取用户可用优惠券
     * */
    @PostMapping(value = "/user/can/use/coupon")
    Result userCanUseCoupon(@RequestBody UserCanUseCouponDto userCanUseCouponDto);
 
    /**
     * 获取商品可用优惠券
     * */
    @PostMapping(value = "/goods/can/use/coupon")
    Result goodsCanUseCoupon(@RequestBody GoodsUsedCouponDto goodsUsedCouponDto);
 
    /**
     * 判断订单是否可用该优惠券
     * 转化使用 CouponNumberDto
     */
    @PostMapping(value = "/order/can/use/coupon")
    Result orderCanUseCoupon(@RequestBody OrderCanUseCouponDto orderCanUseCouponDto);
 
 
    /**
     * 获取用户增值金列表
     * */
    @PostMapping(value = "/user/increment/list")
    Result userIncrementList(@RequestBody UserIncrementDto userIncrementDto);
 
    /**
     * 获取用户增值金使用记录
     * */
    @PostMapping(value = "/user/increment/used")
    Result userIncrementUsed(@RequestBody UserIncrementDto userIncrementDto);
 
    /**
     * 获取用户储值金列表
     * */
    @PostMapping(value = "/user/recharge/list")
    Result userRechargeList(@RequestBody UserRechargeDto userRechargeDto);
 
    /**
     * 获取用户资金使用记录
     * */
    @PostMapping(value = "/user/money/used")
    Result userConsumeDt(@RequestBody UserConsumeDto userConsumeDto);
 
    /**
     * 获取用户积分列表
     * */
    @PostMapping(value = "/user/integral/list")
    Result userIntegralList(@RequestBody UserIntegralDto userIntegralDto);
 
    /**
     * 获取用户积分使用记录
     * */
    @PostMapping(value = "/user/integral/used")
    Result userIntegralUsed(@RequestBody UserIntegralDto userIntegralDto);
 
 
    /**
     * 获取用户拥有统计
     * 返回使用UserHaveDt
     * */
    @PostMapping(value = "/user/have/count")
    Result userHaveCount(@RequestBody UserHaveDto userHaveDto);
 
 
    /**
     * 获取用户标签
     * @param
     * */
    @PostMapping(value = "/user/label")
    Result userLabel(@RequestBody UserLabelDto userLabelDto);
 
 
    /**
     * 获取用户消费数据
     * */
    @PostMapping(value = "/user/consume/count")
    Result userConsumeCount(@RequestBody UserConsumeDto userConsumeDto);
 
 
    /**
     * 获取用户预约数据
     * */
    @PostMapping(value = "/user/appointment/list")
    Result userAppointment(@RequestBody UserAppointmentDto userAppointmentDto);
 
    /**
     * 获取用户划扣记录
     * */
    @PostMapping(value = "/user/project/deduction/list")
    Result userProjectDeduction(@RequestBody UserProjectDto userProjectDto);
 
    /**
     * 获取会员等级变化记录
     * */
    @PostMapping(value = "/user/level/record/list")
    Result userLevelRecord(@RequestBody UserLevelDto userLevelDto);
 
    /**
     * 获取用户待领取增值金列表
     * */
    @PostMapping(value = "/user/wait/increment/list")
    Result userWaitIncList(@RequestBody UserWaitIncDto userWaitIncDto);
 
    /**
     * 获取用户颜值规划列表
     * */
    @PostMapping(value = "/user/appearance/list")
    Result userAppearanceList(@RequestBody UserDto userDto);
 
    /**
     * 获取用户颜值规划详情
     * */
    @PostMapping(value = "/user/appearance/info")
    Result userAppearanceInfo(@RequestParam("appearanceId") String appearanceId);
 
    /**
     * 获取人群包列表(可传筛选的参数:会员等级,做过的项目,会员创建时间,最后一次消费时间,最后一次到店时间)
     * */
    @PostMapping(value = "/user/package/list")
    Result userPackageList(@RequestBody UserPhisPackageDto userPhisPackageDto);
 
    /**根据标识集合筛选用户*/
    @PostMapping(value = "/user/idList/list")
    Result userIdSelectList(@RequestBody UserIdsDto userIdsDto);
 
    /**获取用户信息,短信模板专用
     * 获取根据id或者CIQ或者hisId查找用户
     * @param userDto 只使用id和CIQ
     * @return 转化使用UserDt
     */
    @PostMapping(value = "/user/sms-find")
    Result userSms(@RequestBody UserDto userDto);
 
    /**
     * 获取用户信息,导入人群包专用
     * 根据CIQ或者名称全匹配查找用户
     * @param userDto 只使用name和CIQ
     * @return 转化使用UserDt
     */
    @PostMapping(value = "/user/crowd/import")
    Result userCrowdImport(@RequestBody UserDto userDto);
 
    /**
     * 获取用户信息,导入人群包专用
     * 根据CIQ或者名称全匹配查找用户
     */
    @PostMapping(value = "/user/crowd/import/new")
    Result userCrowdImportNew(@RequestBody UserPackListDto userPackListDto);
 
 
    /**
     * 获取用户子项目
     */
    @PostMapping(value = "/user/project/items")
    Result findUserProjectItem(@RequestBody UserProjectDto userProjectDto);
 
    /**
     * 获取到用户详情(同步使用)
     * @param userId 用户标识
     * @return 转化使用UserDt
     */
    @PostMapping(value = "/user/info/baseInfo")
    Result userInfoBaseInfo(@RequestParam("userId") String userId);
 
    /**
     * 获取到用户
     */
    @PostMapping(value = "/user/sync/by/idList")
    Result userSyncList(@RequestBody List<String> hisIdList);
 
    /**
     *  判断用户是否是会员
     * @param userDto userId
     * @return
     */
    @PostMapping(value = "/user/check/member")
    Result checkMember(@RequestBody UserDto userDto);
 
    /**
     * 查询用户会员等级下一级
     * */
    @PostMapping(value = "/user/next/level")
    Result nextLevel(@RequestBody UserDto userDto);
 
    /**
     * 查询累计返佣
     * */
    @PostMapping(value = "/user/query/rebate")
    Result queryRebate(@RequestBody UserDto userDto);
 
    /**
     * 查询用户首天消费累计
     * */
    @PostMapping(value = "/user/first/day/consumption")
    Result firstDayConsumption(@RequestBody UserDto userDto);
 
    /**
     * 查询用户首天消费累计
     * */
    @PostMapping(value = "/user/accumulat/consumption")
    Result accumulateConsumption(@RequestBody UserDto userDto);
 
    /**
     * 判断用户是否为再升美学会员(是否有购买再升美学卡项订单)
     * */
    @PostMapping(value = "/user/check/upgraded/aesthetics")
    Result checkUpgradedAesthetics(@RequestBody UserDto userDto);
 
    /**
     * 判断用户是否为再升美学会员(是否有购买再升美学卡项订单)
     * */
    @PostMapping(value = "/user/check/consumption")
    Result checkConsumption(@RequestBody UserDto userDto);
 
    /**
     * 查询用户累计返佣
     * */
    @PostMapping(value = "/user/rebate/userId")
    Result queryRebateByUserId(@RequestBody UserDto userDto);
 
    /**
     * 查询用户累计返佣
     * */
    @PostMapping(value = "/user/query/oldNewPerformance")
    Result queryOldNewPerformance(@RequestBody UserDto userDto);
 
 
    @PostMapping(value = "/user/draw/list")
    Result drawGetUserDt(@RequestBody UserDto userDto);
 
    /**
     * 查询用户科室关系
     * */
    @PostMapping(value = "/user/room/list")
    Result userRoomList(@RequestBody UserDto userDto);
 
 
    /**
     * 查询用户优惠券 已经过期和未过期的且过滤生日券
     * */
    @PostMapping(value = "/user/coupon/by/valid/state")
    Result userCouponByValidState(@RequestBody UserCouponDto userCouponDto);
 
 
    /**
     * 用户优惠券列表 获取订单全额退款-退回已过期优惠券
     * */
    @PostMapping(value = "/user/refund/order/overdue/coupon")
    Result userRefundOrderOverdueCoupon(@RequestBody UserCouponDto userCouponDto);
 
    /**
     * 用户点诊医生记录
     * */
    @PostMapping(value = "/user/doctor/data/list")
    Result userDoctorDataList(@RequestBody UserDto userDto);
 
    /**
     * 查询用户年度账单
     * */
    @PostMapping(value = "/user/statement/details")
    Result statementDetails(@RequestBody UserDto userDto);
 
 
    /**
     * 查询用户最新的合并账号记录
     * */
    @PostMapping(value = "/user/merge/log")
    Result userMergeLog(@RequestBody UserDto userDto);
 
 
    /**
     * 查询用户VIP记录以及要领取的优惠券,传userId字段
     * 返回实体转换 UserCouponDataVo
     * */
    @PostMapping(value = "/user/vip/log/coupon")
    Result userVipLogCoupon(@RequestBody UserDto userDto);
 
}