SettlementController.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package com.poteviohealth.ym.ipos.controller;
  2. import com.poteviohealth.cgp.common.controller.BaseWebController;
  3. import com.poteviohealth.cgp.common.facade.log.OperateType;
  4. import com.poteviohealth.cgp.common.facade.log.OperationLog;
  5. import com.poteviohealth.cgp.common.filter.TokenContext;
  6. import com.poteviohealth.cgp.common.integrated.IntegerParams;
  7. import com.poteviohealth.cgp.common.integrated.StringParams;
  8. import com.poteviohealth.cgp.common.model.CommonPage;
  9. import com.poteviohealth.cgp.common.model.VaultsResponse;
  10. import com.poteviohealth.ym.ipos.model.split.SplitWithdraw;
  11. import com.poteviohealth.ym.ipos.model.split.back.AccountBalanceBack;
  12. import com.poteviohealth.ym.ipos.model.split.back.SettlementQueryBack;
  13. import com.poteviohealth.ym.ipos.model.split.back.WithdrawBack;
  14. import com.poteviohealth.ym.ipos.model.split.detail.SettlementQueryDetail;
  15. import com.poteviohealth.ym.ipos.model.split.dto.SplitWithdrawDto;
  16. import com.poteviohealth.ym.ipos.model.split.dto.WithdrawDto;
  17. import com.poteviohealth.ym.ipos.service.ISplitService;
  18. import com.poteviohealth.ym.ipos.service.ISplitWithdrawService;
  19. import io.swagger.annotations.Api;
  20. import io.swagger.annotations.ApiOperation;
  21. import org.apache.commons.lang.StringUtils;
  22. import org.springframework.web.bind.annotation.PostMapping;
  23. import org.springframework.web.bind.annotation.RequestBody;
  24. import org.springframework.web.bind.annotation.RequestMapping;
  25. import org.springframework.web.bind.annotation.RestController;
  26. import javax.annotation.Resource;
  27. /**
  28. * 结算管理
  29. * @author Qin
  30. */
  31. @RestController
  32. @RequestMapping("/ipos/web/settlement")
  33. @Api(value = "SettlementController", tags = "结算管理")
  34. public class SettlementController extends BaseWebController {
  35. @Resource
  36. private ISplitService splitService;
  37. @Resource
  38. private ISplitWithdrawService splitWithdrawService;
  39. @PostMapping("/merchantQuery")
  40. @ApiOperation(value = "结算查询")
  41. @OperationLog(type = OperateType.SELECT, description ="结算查询")
  42. public VaultsResponse<SettlementQueryBack> merchantQuery(@RequestBody SettlementQueryDetail detail) {
  43. return splitService.merchantSettlementQuery(detail);
  44. }
  45. @PostMapping("/accountBalanceQuery")
  46. @ApiOperation(value = "单账户查询")
  47. @OperationLog(type = OperateType.SELECT, description ="单账户查询")
  48. public VaultsResponse<AccountBalanceBack> accountBalanceQuery(@RequestBody StringParams params) {
  49. if(StringUtils.isEmpty(params.getId())){
  50. params.setId(TokenContext.cureWebUser().getIposMerchantId());
  51. }
  52. return splitService.accountBalanceQuery(params.getId());
  53. }
  54. @PostMapping("/withdraw")
  55. @ApiOperation(value = "取现")
  56. @OperationLog(type = OperateType.SELECT, description ="取现")
  57. public VaultsResponse<WithdrawBack> withdraw(@RequestBody WithdrawDto dto) {
  58. if(StringUtils.isEmpty(dto.getMerchantId())){
  59. dto.setMerchantId(TokenContext.cureWebUser().getIposMerchantId());
  60. }
  61. return splitService.withdraw(dto);
  62. }
  63. @PostMapping("/withdrawQuery")
  64. @ApiOperation(value = "取现查询")
  65. @OperationLog(type = OperateType.SELECT, description ="取现查询")
  66. public VaultsResponse<WithdrawBack> withdrawQuery(@RequestBody StringParams params) {
  67. return splitService.withdrawQuery(params.getId());
  68. }
  69. @PostMapping("/list")
  70. @ApiOperation(value = "取现记录",notes = "list")
  71. public VaultsResponse<CommonPage<SplitWithdraw>> list(@RequestBody SplitWithdrawDto dto){
  72. // dto.setIposMerchantId(TokenContext.cureWebUser().getIposMerchantId());
  73. return VaultsResponse.success(splitWithdrawService.pageList(dto));
  74. }
  75. @PostMapping("/withdrawSuccess")
  76. @ApiOperation(value = "提现申请通过")
  77. @OperationLog(type = OperateType.SELECT, description ="提现申请通过")
  78. public VaultsResponse withdrawSuccess(@RequestBody IntegerParams params) {
  79. SplitWithdraw splitWithdraw = splitWithdrawService.getById(params.getId());
  80. splitWithdraw.setTransStatus("s");
  81. splitWithdrawService.withdrawSuccess(TokenContext.cureOperatorId(),splitWithdraw.getId());
  82. splitWithdrawService.updateById(splitWithdraw);
  83. return VaultsResponse.success();
  84. }
  85. @PostMapping("/withdrawFail")
  86. @ApiOperation(value = "提现申请驳回")
  87. @OperationLog(type = OperateType.SELECT, description ="提现申请驳回")
  88. public VaultsResponse withdrawFail(@RequestBody IntegerParams params) {
  89. SplitWithdraw splitWithdraw = splitWithdrawService.getById(params.getId());
  90. splitWithdraw.setTransStatus("f");
  91. splitWithdraw.setErrorMsg(params.getName());
  92. splitWithdrawService.withdrawFail(TokenContext.cureOperatorId(),splitWithdraw.getId());
  93. splitWithdrawService.updateById(splitWithdraw);
  94. return VaultsResponse.success();
  95. }
  96. }