CreditsDetailController.java 31 KB

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