PayItemController.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package com.chuanghai.smartschool.tuitionpayment.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.chuanghai.smartschool.tuitionpayment.anno.AdminLoginCheck;
  5. import com.chuanghai.smartschool.tuitionpayment.common.exception.BizCodeEnume;
  6. import com.chuanghai.smartschool.tuitionpayment.common.exception.RRException;
  7. import com.chuanghai.smartschool.tuitionpayment.common.utils.CommonResult;
  8. import com.chuanghai.smartschool.tuitionpayment.entity.PayDetailBank;
  9. import com.chuanghai.smartschool.tuitionpayment.entity.PayItem;
  10. import com.chuanghai.smartschool.tuitionpayment.service.PayItemService;
  11. import com.chuanghai.smartschool.tuitionpayment.vo.PayItemDetailVO;
  12. import org.apache.poi.ss.formula.functions.T;
  13. import org.springframework.beans.BeanUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.List;
  17. /**
  18. * @Author: bingo
  19. * @Date: 2022/6/22 星期三 14:36
  20. * @Description: com.chuanghai.smartschool.tuitionpayment.controller
  21. * @version: 1.0
  22. */
  23. @RestController
  24. @RequestMapping("tuitionpayment/payitem")
  25. public class PayItemController {
  26. @Autowired
  27. private PayItemService payItemService;
  28. @Autowired
  29. private PayDetailBankController payDetailBankController;
  30. /**
  31. * 用于缴费项目的新增
  32. *
  33. * @param adminToken 管理员token
  34. * @param jsonParam
  35. * @return
  36. */
  37. @AdminLoginCheck
  38. @PostMapping("/insertPayItem")
  39. public CommonResult<PayItem> insertPayItem(@RequestHeader("admin_token") String adminToken,
  40. @RequestBody JSONObject jsonParam) {
  41. try {
  42. PayItem payItem = JSONObject.toJavaObject(jsonParam, PayItem.class);
  43. payItem.setItemAsk(Boolean.FALSE);
  44. payItem.setItemExcept(Boolean.FALSE);
  45. payItem.setItemAskDay("7");
  46. payItem.setItemAskCount("2");
  47. payItem.setRequestCount("0");
  48. QueryWrapper<PayItem> wrapper = new QueryWrapper<>();
  49. wrapper.eq("item_name", payItem.getItemName());
  50. PayItem one = payItemService.getOne(wrapper);
  51. if (one != null) {
  52. throw new RRException(BizCodeEnume.PAY_ITEM_EXIST);
  53. }
  54. payItemService.saveOrUpdate(payItem);
  55. return CommonResult.ok();
  56. } catch (NullPointerException n) {
  57. n.printStackTrace();
  58. }
  59. return CommonResult.fail();
  60. }
  61. /**
  62. * 查询所有缴费项目
  63. *
  64. * @return
  65. */
  66. @PostMapping("/queryPayItem")
  67. public CommonResult<PayItem> queryPayItem() {
  68. try {
  69. QueryWrapper<PayItem> wapper = new QueryWrapper<>();
  70. wapper.eq("item_status", "1");
  71. List<PayItem> payItemList = payItemService.list(wapper);
  72. return CommonResult.ok().setResult(payItemList);
  73. } catch (NullPointerException n) {
  74. n.printStackTrace();
  75. }
  76. return CommonResult.fail();
  77. }
  78. /**
  79. * 查询所有缴费项目
  80. *
  81. * @return
  82. */
  83. @PostMapping("/queryPayItemByName")
  84. public String queryPayItemByName(String name) {
  85. QueryWrapper<PayItem> wapper = new QueryWrapper<>();
  86. wapper.eq("item_name", name);
  87. List<PayItem> list = payItemService.list(wapper);
  88. String itemAccount = "";
  89. if (list.size() > 0) {
  90. PayItem payItem = list.get(0);
  91. itemAccount = payItem.getItemAccount();
  92. String start = itemAccount.substring(0, 3);
  93. String end = itemAccount.substring(itemAccount.length() - 4);
  94. itemAccount = payItem.getItemBank() + " (" + start + "****" + end + ")";
  95. }
  96. return itemAccount;
  97. }
  98. /**
  99. * 更新项目缴费配置
  100. * adminToken 管理员token
  101. *
  102. * @param jsonObject 封装的缴费项目对象参数
  103. * @return
  104. */
  105. @AdminLoginCheck
  106. @PutMapping("/updatePayItem")
  107. public CommonResult<T> updatePayItem(@RequestHeader("admin_token") String adminToken,
  108. @RequestBody JSONObject jsonObject) {
  109. PayItemDetailVO payItemDetailVO = JSONObject.toJavaObject(jsonObject, PayItemDetailVO.class);
  110. PayItem payItem = new PayItem();
  111. PayDetailBank payDetailBank = new PayDetailBank();
  112. BeanUtils.copyProperties(payItemDetailVO, payItem);
  113. BeanUtils.copyProperties(payItemDetailVO, payDetailBank);
  114. System.out.println(payDetailBank);
  115. System.out.println(payItem);
  116. //将催缴发送请求计数器归零
  117. payItem.setRequestCount("0");
  118. JSONObject payDetailBankJson = JSONObject.parseObject(payDetailBank.toString());
  119. payDetailBankController.updatePayDetailBank(payDetailBankJson);
  120. boolean b = payItemService.updateById(payItem);
  121. return CommonResult.ok().setResult(b);
  122. }
  123. /**
  124. * 通过itemName 查询缴费项目的设置
  125. *
  126. * @param itemName 缴费项目名称
  127. * @return
  128. */
  129. @GetMapping("/queryByItemNameSetting")
  130. public CommonResult<PayItem> queryByItemNameSetting( @RequestParam("itemName") String itemName) {
  131. QueryWrapper<PayItem> wrapper = new QueryWrapper<>();
  132. wrapper.eq("item_name", itemName);
  133. PayItem payItem = payItemService.getOne(wrapper);
  134. return CommonResult.ok().setResult(payItem);
  135. }
  136. }