CreditsDetailController.java 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564
  1. package com.yihu.jw.controller;/**
  2. * Created by nature of king on 2018/4/27.
  3. */
  4. import com.alibaba.fastjson.JSONArray;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.yihu.jw.entity.health.bank.AccountDO;
  7. import com.yihu.jw.entity.health.bank.CreditsDetailDO;
  8. import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
  9. import com.yihu.jw.restmodel.web.MixEnvelop;
  10. import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
  11. import com.yihu.jw.rm.health.bank.HealthBankMapping;
  12. import com.yihu.jw.service.CreditsDetailService;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import io.swagger.annotations.ApiParam;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.cloud.sleuth.Tracer;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. /**
  22. * @author wangzhinan
  23. * @create 2018-04-27 16:51
  24. * @desc credits log info
  25. **/
  26. @RestController
  27. @RequestMapping(HealthBankMapping.api_health_bank_common)
  28. @Api(tags = "健康积分相关操作",description = "健康积分相关操作")
  29. public class CreditsDetailController extends EnvelopRestEndpoint {
  30. @Autowired
  31. private Tracer tracer;
  32. @Autowired
  33. private CreditsDetailService service;
  34. /**
  35. * 查看积分记录
  36. *
  37. * @param creditsDetail 积分对象
  38. * @param page 页码
  39. * @param size 分页大小
  40. * @return
  41. */
  42. @PostMapping(value = HealthBankMapping.healthBank.findCreditsLogInfo)
  43. @ApiOperation(value = "查看积分记录")
  44. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> selectCreditsLogInfo(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
  45. @RequestParam(value = "creditsDetail",required = false)String creditsDetail,
  46. @ApiParam(name = "page", value = "第几页,从1开始")
  47. @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
  48. @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
  49. @RequestParam(value = "size", required = false)Integer size){
  50. try{
  51. CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
  52. return service.findByCondition(creditsDetailDO,page,size);
  53. }catch (Exception e){
  54. e.printStackTrace();
  55. tracer.getCurrentSpan().logEvent(e.getMessage());
  56. return MixEnvelop.getError(e.getMessage());
  57. }
  58. }
  59. /**
  60. * 添加积分
  61. *
  62. * @param creditsDetail 积分对象
  63. * @return
  64. */
  65. @PostMapping(value = HealthBankMapping.healthBank.createCreditsDetail)
  66. @ApiOperation(value = "添加积分记录")
  67. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> insert(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
  68. @RequestParam(value = "creditsDetail",required = true)String creditsDetail){
  69. try {
  70. CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
  71. return service.insert(creditsDetailDO);
  72. }catch (Exception e){
  73. e.printStackTrace();
  74. tracer.getCurrentSpan().logEvent(e.getMessage());
  75. return MixEnvelop.getError(e.getMessage());
  76. }
  77. }
  78. /**
  79. * 根据活动查找积分
  80. *
  81. * @param activityId 活动id
  82. *
  83. * @param patientId 居民id
  84. *
  85. * @param page 页码
  86. *
  87. * @param size 分页大小
  88. *
  89. * @return
  90. */
  91. @PostMapping(value = HealthBankMapping.healthBank.selectByActivity)
  92. @ApiOperation(value = "根据活动查找积分")
  93. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> seletcByActivity(@ApiParam(name = "activityId",value = "活动id")
  94. @RequestParam(value = "activityId",required = true)String activityId,
  95. @ApiParam(name = "patientId",value = "居民id")
  96. @RequestParam(value = "patientId",required = true) String patientId,
  97. @ApiParam(name = "page", value = "第几页,从1开始")
  98. @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
  99. @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
  100. @RequestParam(value = "size", required = false)Integer size){
  101. try{
  102. return service.selectByActivity(activityId,patientId,page,size);
  103. }catch (Exception e){
  104. e.printStackTrace();
  105. tracer.getCurrentSpan().logEvent(e.getMessage());
  106. return MixEnvelop.getError(e.getMessage());
  107. }
  108. }
  109. /**
  110. * 查看积分排行
  111. *
  112. * @param object {"filter":[""],"page":"","size":""}
  113. * @return
  114. */
  115. @PostMapping(value = HealthBankMapping.healthBank.selectByRanking)
  116. @ApiOperation(value = "查询积分排名")
  117. public MixEnvelop<AccountDO, AccountDO> selectByRanking(@RequestBody JSONObject object){
  118. try{
  119. JSONArray array = object.getJSONArray("filter");
  120. Integer page = object.getInteger("page");
  121. Integer size = object.getInteger("size");
  122. List<String> patientIds = new ArrayList<>();
  123. for (int i=0;array != null && array.size()!=0&& i<array.size();i++){
  124. patientIds.add(array.getString(i));
  125. }
  126. return service.selectByRanking(patientIds,page,size);
  127. }catch (Exception e){
  128. e.printStackTrace();
  129. tracer.getCurrentSpan().logEvent(e.getMessage());
  130. return MixEnvelop.getError(e.getMessage());
  131. }
  132. }
  133. /**
  134. * 活动排名
  135. * @param object
  136. * @return
  137. */
  138. @PostMapping(value = HealthBankMapping.healthBank.selectByActivityRanking)
  139. @ApiOperation(value = "活动排名")
  140. public MixEnvelop<TaskPatientDetailDO, TaskPatientDetailDO> selectByActivityRanking(@RequestBody JSONObject object){
  141. try{
  142. JSONArray array = object.getJSONArray("filter");
  143. String activityId = object.getString("activityId");
  144. Integer page = object.getInteger("page");
  145. Integer size = object.getInteger("size");
  146. List<String> ids = new ArrayList<>();
  147. for (int i=0;array != null && array.size()!=0&& i<array.size();i++){
  148. ids.add(array.getString(i));
  149. }
  150. return service.selectByActivityRanking(activityId,ids,page,size);
  151. }catch (Exception e){
  152. e.printStackTrace();
  153. tracer.getCurrentSpan().logEvent(e.getMessage());
  154. return MixEnvelop.getError(e.getMessage());
  155. }
  156. }
  157. /**
  158. * 根据活动id查找全部活动
  159. *
  160. * @param activityId 活动ID
  161. * @param page 页码
  162. * @param size 分页大小
  163. * @return
  164. */
  165. @PostMapping(value = HealthBankMapping.healthBank.selectByActivityRanking1)
  166. @ApiOperation(value = "根据活动id查找全部排行")
  167. public MixEnvelop<TaskPatientDetailDO, TaskPatientDetailDO> selectByActivityRanking1(@ApiParam(name = "activityId",value = "活动id")
  168. @RequestParam(value = "activityId",required = true)String activityId,
  169. @ApiParam(name = "patientId",value = "居民id")
  170. @RequestParam(value = "patientId",required = true)String patientId,
  171. @ApiParam(name = "page", value = "第几页,从1开始")
  172. @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
  173. @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
  174. @RequestParam(value = "size", required = false)Integer size){
  175. try{
  176. return service.selectByActivityRanking1(activityId,patientId,page,size);
  177. }catch (Exception e){
  178. e.printStackTrace();
  179. tracer.getCurrentSpan().logEvent(e.getMessage());
  180. return MixEnvelop.getError(e.getMessage());
  181. }
  182. }
  183. @PostMapping(value = HealthBankMapping.healthBank.doctorAddIntegrate)
  184. @ApiOperation(value = "添加积分记录")
  185. public MixEnvelop<Boolean, Boolean> doctorAddIntegrate(@RequestBody JSONObject object){
  186. try {
  187. JSONArray array = object.getJSONArray("patient");
  188. String ruleId = object.getString("ruleId");
  189. String description = object.getString("description");
  190. return service.doctorAddIntegrate(array,ruleId,description);
  191. }catch (Exception e){
  192. e.printStackTrace();
  193. tracer.getCurrentSpan().logEvent(e.getMessage());
  194. return MixEnvelop.getError(e.getMessage());
  195. }
  196. }
  197. /**
  198. * 步数获取积分
  199. *
  200. * @param creditsDetail 积分对象
  201. * @return
  202. */
  203. @PostMapping(value = HealthBankMapping.healthBank.addStepIntegrate)
  204. @ApiOperation(value = "步数获取积分")
  205. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> addStepIntegrate(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
  206. @RequestParam(value = "creditsDetail",required = true)String creditsDetail){
  207. try {
  208. CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
  209. return service.stepAddIntegrate(creditsDetailDO);
  210. }catch (Exception e){
  211. e.printStackTrace();
  212. tracer.getCurrentSpan().logEvent(e.getMessage());
  213. return MixEnvelop.getError(e.getMessage());
  214. }
  215. }
  216. @PostMapping(value = HealthBankMapping.healthBank.weekReward)
  217. @ApiOperation(value = "周奖励")
  218. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> weekReward(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
  219. @RequestParam(value = "creditsDetail",required = true)String creditsDetail){
  220. try {
  221. CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
  222. return service.weekReward(creditsDetailDO);
  223. }catch (Exception e){
  224. e.printStackTrace();
  225. tracer.getCurrentSpan().logEvent(e.getMessage());
  226. return MixEnvelop.getError(e.getMessage());
  227. }
  228. }
  229. /**
  230. * 医生手动减积分
  231. * @param ruleId
  232. * @param patientId
  233. * @param hospital
  234. * @param hospitalName
  235. * @param integrate
  236. * @param reason
  237. * @param doctorId
  238. * @return
  239. */
  240. @PostMapping(value = HealthBankMapping.healthBank.doctorDescreaseIntegrate)
  241. @ApiOperation(value = "医生手动减积分")
  242. public MixEnvelop<Boolean, Boolean> doctorDescreaseIntegrate(@ApiParam(name = "ruleId",value = "规则id")
  243. @RequestParam(value = "ruleId",required = false)String ruleId,
  244. @ApiParam(name = "patientId",value = "居民id")
  245. @RequestParam(value = "patientId",required = false)String patientId,
  246. @ApiParam(name = "hospital",value = "机构code")
  247. @RequestParam(value = "hospital",required = false)String hospital,
  248. @ApiParam(name = "hospitalName",value = "机构名称")
  249. @RequestParam(value = "hospitalName",required = false)String hospitalName,
  250. @ApiParam(name = "integrate",value = "扣减的积分")
  251. @RequestParam(value = "integrate",required = false)Integer integrate,
  252. @ApiParam(name = "reason",value = "扣减的原因")
  253. @RequestParam(value = "reason",required = false)String reason,
  254. @ApiParam(name = "doctorId",value = "医生code")
  255. @RequestParam(value = "doctorId",required = false)String doctorId){
  256. try {
  257. return service.doctorDescreaseIntegrate(ruleId,patientId,doctorId,hospital,hospitalName,integrate,reason,null);
  258. }catch (Exception e){
  259. e.printStackTrace();
  260. tracer.getCurrentSpan().logEvent(e.getMessage());
  261. return MixEnvelop.getError(e.getMessage());
  262. }
  263. }
  264. /**
  265. * 医生手动加积分
  266. * @param ruleId
  267. * @param patientId
  268. * @param hospital
  269. * @param hospitalName
  270. * @param integrate
  271. * @param reason
  272. * @param doctorId
  273. * @return
  274. */
  275. @PostMapping(value = HealthBankMapping.healthBank.doctorIncreaseIntegrate)
  276. @ApiOperation(value = "医生手动加积分")
  277. public MixEnvelop<Boolean, Boolean> doctorIncreaseIntegrate(@ApiParam(name = "ruleId",value = "规则id")
  278. @RequestParam(value = "ruleId",required = false)String ruleId,
  279. @ApiParam(name = "patientId",value = "居民id")
  280. @RequestParam(value = "patientId",required = false)String patientId,
  281. @ApiParam(name = "hospital",value = "机构code")
  282. @RequestParam(value = "hospital",required = false)String hospital,
  283. @ApiParam(name = "hospitalName",value = "机构名称")
  284. @RequestParam(value = "hospitalName",required = false)String hospitalName,
  285. @ApiParam(name = "integrate",value = "增加的积分")
  286. @RequestParam(value = "integrate",required = false)Integer integrate,
  287. @ApiParam(name = "reason",value = "增加的原因")
  288. @RequestParam(value = "reason",required = false)String reason,
  289. @ApiParam(name = "doctorId",value = "医生code")
  290. @RequestParam(value = "doctorId",required = false)String doctorId){
  291. try {
  292. return service.doctorDescreaseIntegrate(ruleId,patientId,doctorId,hospital,hospitalName,integrate,reason,"add");
  293. }catch (Exception e){
  294. e.printStackTrace();
  295. tracer.getCurrentSpan().logEvent(e.getMessage());
  296. return MixEnvelop.getError(e.getMessage());
  297. }
  298. }
  299. /**
  300. * 居民获取积分
  301. *
  302. * @param creditsDetail
  303. * @return
  304. */
  305. @PostMapping(value = HealthBankMapping.healthBank.patientGetInteger)
  306. @ApiOperation(value = "居民获取积分")
  307. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> patientGetInteger(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
  308. @RequestParam(value = "creditsDetail",required = true)String creditsDetail){
  309. try {
  310. CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
  311. return service.patientGetInteger(creditsDetailDO);
  312. }catch (Exception e){
  313. e.printStackTrace();
  314. tracer.getCurrentSpan().logEvent(e.getMessage());
  315. return MixEnvelop.getError(e.getMessage());
  316. }
  317. }
  318. /**
  319. * 获取当日积分
  320. *
  321. * @param patient
  322. * @param transactionId
  323. * @return
  324. */
  325. @PostMapping(value = HealthBankMapping.healthBank.selectByPatientAndDate)
  326. @ApiOperation(value = "健康问答--获取当日积分")
  327. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> patientGetInteger(@ApiParam(name = "patient",value = "居民code")
  328. @RequestParam(value = "patient",required = true)String patient,
  329. @ApiParam(name = "transactionId",value = "任务id")
  330. @RequestParam(value = "transactionId",required = true)String transactionId){
  331. try {
  332. return service.selectByDate(patient,transactionId);
  333. }catch (Exception e){
  334. e.printStackTrace();
  335. tracer.getCurrentSpan().logEvent(e.getMessage());
  336. return MixEnvelop.getError(e.getMessage());
  337. }
  338. }
  339. /**
  340. * 分享获取积分
  341. * @param creditsDetail
  342. * @return
  343. */
  344. @PostMapping(value = HealthBankMapping.healthBank.shareIntegrate)
  345. @ApiOperation(value = "分享获取积分")
  346. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> shareIntegrate(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
  347. @RequestParam(value = "creditsDetail",required = true)String creditsDetail){
  348. try {
  349. CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
  350. return service.shareIntegrate(creditsDetailDO);
  351. }catch (Exception e){
  352. e.printStackTrace();
  353. tracer.getCurrentSpan().logEvent(e.getMessage());
  354. return MixEnvelop.getError(e.getMessage());
  355. }
  356. }
  357. /**
  358. * 分享活动链接获取积分
  359. * @param creditsDetail
  360. * @return
  361. */
  362. @PostMapping(value = HealthBankMapping.healthBank.share)
  363. @ApiOperation(value = "分享活动链接获取积分")
  364. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> share(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
  365. @RequestParam(value = "creditsDetail",required = true)String creditsDetail){
  366. try {
  367. CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
  368. List<CreditsDetailDO> creditsDetailDOS = service.share(creditsDetailDO);
  369. MixEnvelop<CreditsDetailDO,CreditsDetailDO> envelop = new MixEnvelop<>();
  370. envelop.setDetailModelList(creditsDetailDOS);
  371. return envelop;
  372. }catch (Exception e){
  373. e.printStackTrace();
  374. tracer.getCurrentSpan().logEvent(e.getMessage());
  375. return MixEnvelop.getError(e.getMessage());
  376. }
  377. }
  378. /**
  379. * 商城积分支付
  380. *
  381. * @param patient 居民code
  382. * @param total 订单总积分
  383. * @param hospital 社区code
  384. * @param hospitalName 社区名称
  385. * @param orders 订单集合[{orders:,integrate}]
  386. * @return
  387. */
  388. @PostMapping(value = HealthBankMapping.healthBank.payIntegrate)
  389. @ApiOperation(value = "商城积分支付")
  390. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> payIntegrate(@ApiParam(name = "patient",value = "居民code")
  391. @RequestParam(value = "patient",required = false)String patient,
  392. @ApiParam(name = "total",value = "需要支付的总积分")
  393. @RequestParam(value = "total",required = false)Double total,
  394. @ApiParam(name = "hospital",value = "社区code")
  395. @RequestParam(value = "hospital",required = false)String hospital,
  396. @ApiParam(name = "hospitalName",value = "社区名称")
  397. @RequestParam(value = "hospitalName",required = false)String hospitalName,
  398. @ApiParam(name = "orders",value = "订单集合")
  399. @RequestParam(value = "orders",required = false)String orders){
  400. try {
  401. JSONArray array = JSONArray.parseArray(orders);
  402. return service.payIntegrate(patient,total,hospital,hospitalName,array);
  403. }catch (Exception e){
  404. e.printStackTrace();
  405. tracer.getCurrentSpan().logEvent(e.getMessage());
  406. return MixEnvelop.getError(e.getMessage());
  407. }
  408. }
  409. /**
  410. * 商城退款
  411. * @param orders
  412. * @return
  413. */
  414. @PostMapping(value = HealthBankMapping.healthBank.refund)
  415. @ApiOperation(value = "商城退款")
  416. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> refund(@ApiParam(name = "orders",value = "订单集合")
  417. @RequestParam(value = "orders",required = false)String orders){
  418. try {
  419. JSONArray array = JSONArray.parseArray(orders);
  420. return service.refundIntegrate(array);
  421. }catch (Exception e){
  422. e.printStackTrace();
  423. tracer.getCurrentSpan().logEvent(e.getMessage());
  424. return MixEnvelop.getError(e.getMessage());
  425. }
  426. }
  427. /**
  428. * 周奖励-连续/间断
  429. * @param creditsDetail
  430. * @param flag 1连续/2间断
  431. * @return
  432. */
  433. @PostMapping(value = HealthBankMapping.healthBank.weekRewardAndIntegrate)
  434. @ApiOperation(value = "周奖励-连续/间断")
  435. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> weekRewardAndIntegrate(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
  436. @RequestParam(value = "creditsDetail",required = true)String creditsDetail,
  437. @ApiParam(name = "flag",value = "积分记录JSON")
  438. @RequestParam(value = "flag",required = true)Integer flag){
  439. try {
  440. CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
  441. return service.weekRewardAndIntegrate(creditsDetailDO,flag);
  442. }catch (Exception e){
  443. e.printStackTrace();
  444. tracer.getCurrentSpan().logEvent(e.getMessage());
  445. return MixEnvelop.getError(e.getMessage());
  446. }
  447. }
  448. /**
  449. * 查询周奖励
  450. * @param patient
  451. * @param taskId
  452. * @param monday
  453. * @param sunday
  454. * @return
  455. */
  456. @PostMapping(value = HealthBankMapping.healthBank.selectWeekReward)
  457. @ApiOperation(value = "查询周奖励")
  458. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> selectWeekReward(@ApiParam(name = "patient",value = "居民code")
  459. @RequestParam(value = "patient",required = false)String patient,
  460. @ApiParam(name = "taskId",value = "任务id")
  461. @RequestParam(value = "taskId",required = false)String taskId,
  462. @ApiParam(name = "monday",value = "本周星期一")
  463. @RequestParam(value = "monday",required = false)String monday,
  464. @ApiParam(name = "sunday",value = "本周星期日")
  465. @RequestParam(value = "sunday",required = false)String sunday){
  466. try {
  467. List<CreditsDetailDO> creditsDetailDOS = service.selectWeekReward(patient,taskId,monday,sunday);
  468. MixEnvelop<CreditsDetailDO,CreditsDetailDO> envelop = new MixEnvelop<>();
  469. envelop.setDetailModelList(creditsDetailDOS);
  470. return envelop;
  471. }catch (Exception e){
  472. e.printStackTrace();
  473. tracer.getCurrentSpan().logEvent(e.getMessage());
  474. return MixEnvelop.getError(e.getMessage());
  475. }
  476. }
  477. @PostMapping(value = HealthBankMapping.healthBank.reduceIntegrate)
  478. @ApiOperation(value ="失效积分")
  479. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> reduceIntegrate(@ApiParam(name = "hospital",value = "社区code" )
  480. @RequestParam(value = "hospital",required = false)String hospital,
  481. @ApiParam(name = "startTime",value = "开始时间")
  482. @RequestParam(value = "startTime",required = false)String startTime,
  483. @ApiParam(name = "endTime",value = "结束时间")
  484. @RequestParam(value = "endTime",required = false)String endTime,
  485. @ApiParam(name = "year",value = "年份")
  486. @RequestParam(value = "year",required = false)Integer year){
  487. try {
  488. service.reduceIntegrate(hospital,startTime,endTime,year);
  489. MixEnvelop<CreditsDetailDO,CreditsDetailDO> envelop = new MixEnvelop<>();
  490. return envelop;
  491. }catch (Exception e){
  492. e.printStackTrace();
  493. tracer.getCurrentSpan().logEvent(e.getMessage());
  494. return MixEnvelop.getError(e.getMessage());
  495. }
  496. }
  497. @PostMapping(value = HealthBankMapping.healthBank.completePlan)
  498. @ApiOperation(value ="完成计划获取积分")
  499. public MixEnvelop<CreditsDetailDO, CreditsDetailDO> completePlan(@ApiParam(name = "hospital",value = "社区code" )
  500. @RequestParam(value = "hospital",required = false)String hospital,
  501. @ApiParam(name = "hospitalName",value = "社区名称")
  502. @RequestParam(value = "hospitalName",required = false)String hospitalName,
  503. @ApiParam(name = "patient",value = "居民code")
  504. @RequestParam(value = "patient",required = true)String patient,
  505. @ApiParam(name = "planCode",value = "计划code")
  506. @RequestParam(value = "planCode",required = true)String planCode,
  507. @ApiParam(name = "idcard",value = "身份证")
  508. @RequestParam(value = "idcard",required = false)String idcard,
  509. @ApiParam(name = "integrate",value = "积分")
  510. @RequestParam(value = "integrate",required = true)Integer integrate){
  511. try {
  512. CreditsDetailDO creditsDetailDO =service.completePlan(planCode,patient,idcard,integrate,hospital,hospitalName);
  513. MixEnvelop<CreditsDetailDO,CreditsDetailDO> envelop = new MixEnvelop<>();
  514. envelop.setObj(creditsDetailDO);
  515. return envelop;
  516. }catch (Exception e){
  517. e.printStackTrace();
  518. tracer.getCurrentSpan().logEvent(e.getMessage());
  519. return MixEnvelop.getError(e.getMessage());
  520. }
  521. }
  522. }