SysUserBankCardServiceImpl.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. package com.ydtech.modules.admin.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.ydtech.core.page.HttpResult;
  6. import com.ydtech.exception.SystemException;
  7. import com.ydtech.modules.admin.dao.SysUserBankCardMapper;
  8. import com.ydtech.modules.admin.model.po.SysUserBankCard;
  9. import com.ydtech.modules.admin.model.po.SysUserBankCardHistory;
  10. import com.ydtech.modules.admin.model.vo.SysUserBankCardVO;
  11. import com.ydtech.modules.admin.service.SysUserBankCardHistoryService;
  12. import com.ydtech.modules.admin.service.SysUserBankCardService;
  13. import com.ydtech.modules.base.controller.BaseController;
  14. import com.ydtech.modules.order.entity.BasePageResult;
  15. import com.ydtech.modules.protocol.utils.AssertionUtils;
  16. import org.apache.commons.lang3.StringUtils;
  17. import org.springframework.beans.BeanUtils;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import javax.annotation.Resource;
  21. import java.util.Date;
  22. import java.util.List;
  23. /**
  24. * @author Administrator
  25. * @description 针对表【sys_user_bank_card(银行卡号)】的数据库操作Service实现
  26. * @createDate 2024-03-05 11:52:30
  27. */
  28. @Service
  29. public class SysUserBankCardServiceImpl extends ServiceImpl<SysUserBankCardMapper, SysUserBankCard>
  30. implements SysUserBankCardService {
  31. @Resource
  32. private SysUserBankCardService sysUserBankCardService;
  33. @Resource
  34. private SysUserBankCardHistoryService sysUserBankCardHistoryService;
  35. @Override
  36. public BasePageResult<SysUserBankCard> queryByVo(SysUserBankCardVO sysUserBankCardVO) {
  37. Page<SysUserBankCard> page = new Page<>(sysUserBankCardVO.getPageNum(), sysUserBankCardVO.getPageSize());
  38. LambdaQueryWrapper<SysUserBankCard> wrapper = new LambdaQueryWrapper<>();
  39. if (StringUtils.isNotEmpty(sysUserBankCardVO.getUserId())) {
  40. wrapper.eq(SysUserBankCard::getUserId, sysUserBankCardVO.getUserId());
  41. }
  42. if (StringUtils.isNotEmpty(sysUserBankCardVO.getBankNumber())) {
  43. wrapper.eq(SysUserBankCard::getBankNumber, sysUserBankCardVO.getBankNumber());
  44. }
  45. if (StringUtils.isNotEmpty(sysUserBankCardVO.getBankAccount())) {
  46. wrapper.eq(SysUserBankCard::getBankAccount, sysUserBankCardVO.getBankAccount());
  47. }
  48. if (StringUtils.isNotEmpty(sysUserBankCardVO.getBankAddress())) {
  49. wrapper.eq(SysUserBankCard::getBankAddress, sysUserBankCardVO.getBankAddress());
  50. }
  51. if (StringUtils.isNotEmpty(sysUserBankCardVO.getUserName())) {
  52. wrapper.eq(SysUserBankCard::getUserName, sysUserBankCardVO.getUserName());
  53. }
  54. if (sysUserBankCardVO.getAuditStatus() != null) {
  55. wrapper.eq(SysUserBankCard::getAuditStatus, sysUserBankCardVO.getAuditStatus());
  56. }
  57. wrapper.orderByAsc(SysUserBankCard::getAuditTime);
  58. Page<SysUserBankCard> insOrdersPage = page(page, wrapper);
  59. return new BasePageResult<>(sysUserBankCardVO.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
  60. insOrdersPage.getRecords());
  61. }
  62. @Override
  63. public void deleteSysUserBank(Long id) {
  64. boolean b = removeById(id);
  65. AssertionUtils.isSucceed(b, "删除失败");
  66. }
  67. @Override
  68. public void unbind(SysUserBankCard sysUserBankCard) {
  69. SysUserBankCard sub = sysUserBankCardService.getById(sysUserBankCard.getId());
  70. if (!sub.getAuditStatus().equals("1")) {
  71. throw new SystemException("该卡审核还未通过,不可解绑");
  72. }
  73. sub.setDelFlag(sysUserBankCard.getDelFlag());
  74. sub.setAuditStatus(sub.getAuditStatus());
  75. sub.setAuditTime(null);
  76. sub.setAuditUserName(null);
  77. sub.setAuditUserId(null);
  78. sub.setRemark("");
  79. sysUserBankCardService.updateById(sub);
  80. SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory();
  81. sysUserBankCardHistory.setBankNumber(sysUserBankCard.getBankNumber());
  82. sysUserBankCardHistory.setType("unbind");
  83. sysUserBankCardHistory.setCreateTime(new Date());
  84. sysUserBankCardHistory.setCreator(BaseController.getUser().getId());
  85. sysUserBankCardHistory.setBankNumberUserId(sub.getUserId());
  86. sysUserBankCardHistoryService.save(sysUserBankCardHistory);
  87. }
  88. @Override
  89. public void rebind(SysUserBankCard sysUserBankCard) {
  90. SysUserBankCard sub = sysUserBankCardService.getOne(new LambdaQueryWrapper<SysUserBankCard>()
  91. .eq(SysUserBankCard::getBankNumber, sysUserBankCard.getBankNumber()));
  92. sub.setDelFlag(sysUserBankCard.getDelFlag());
  93. sub.setAuditStatus("0");
  94. sub.setAuditTime(null);
  95. sub.setAuditUserId(null);
  96. sub.setAuditUserName(null);
  97. sysUserBankCardService.updateById(sub);
  98. SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory();
  99. sysUserBankCardHistory.setBankNumber(sysUserBankCard.getBankNumber());
  100. sysUserBankCardHistory.setType("rebind");
  101. sysUserBankCardHistory.setCreateTime(new Date());
  102. sysUserBankCardHistory.setCreator(BaseController.getUser().getId());
  103. sysUserBankCardHistory.setBankNumberUserId(sub.getUserId());
  104. sysUserBankCardHistoryService.save(sysUserBankCardHistory);
  105. }
  106. @Override
  107. public void uodate(SysUserBankCardVO sysUserBankCardVO) {
  108. SysUserBankCard sysUserBankCard = new SysUserBankCard();
  109. BeanUtils.copyProperties(sysUserBankCardVO, sysUserBankCard);
  110. super.updateById(sysUserBankCard);
  111. }
  112. @Override
  113. public HttpResult<SysUserBankCardVO> getByUserId(String userId) {
  114. return baseMapper.getByUserId(userId);
  115. }
  116. @Override
  117. public SysUserBankCard getByBankNumber(String bankNumber, String userId) {
  118. return baseMapper.getByBankNumber(bankNumber, userId);
  119. }
  120. @Override
  121. @Transactional
  122. public void insertByBankNumber(SysUserBankCardVO sysUserBankCardVO) {
  123. SysUserBankCard findSysUserBankCard = sysUserBankCardService.getOne(new LambdaQueryWrapper<SysUserBankCard>()
  124. .eq(SysUserBankCard::getBankNumber, sysUserBankCardVO.getBankNumber())
  125. .eq(SysUserBankCard::getUserId, sysUserBankCardVO.getUserId()));
  126. if (findSysUserBankCard != null) {
  127. findSysUserBankCard.setDelFlag("0");
  128. findSysUserBankCard.setAuditStatus("0");
  129. findSysUserBankCard.setAuditUserId(null);
  130. findSysUserBankCard.setAuditUserName(null);
  131. findSysUserBankCard.setAuditTime(null);
  132. findSysUserBankCard.setRemark("");
  133. findSysUserBankCard.setBankAddress(sysUserBankCardVO.getBankAddress());
  134. findSysUserBankCard.setBankAccount(sysUserBankCardVO.getBankAccount());
  135. findSysUserBankCard.setRealUserName(sysUserBankCardVO.getRealUserName());
  136. sysUserBankCardService.updateById(findSysUserBankCard);
  137. SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory();
  138. sysUserBankCardHistory.setBankNumber(sysUserBankCardVO.getBankNumber());
  139. sysUserBankCardHistory.setType("rebind");
  140. sysUserBankCardHistory.setCreateTime(new Date());
  141. sysUserBankCardHistory.setCreator(BaseController.getUser().getId());
  142. sysUserBankCardHistory.setBankNumberUserId(findSysUserBankCard.getUserId());
  143. sysUserBankCardHistoryService.save(sysUserBankCardHistory);
  144. }else {
  145. SysUserBankCard sysUserBankCard = new SysUserBankCard();
  146. BeanUtils.copyProperties(sysUserBankCardVO, sysUserBankCard);
  147. sysUserBankCard.setDelFlag("0");
  148. sysUserBankCard.setCreateTime(new Date());
  149. sysUserBankCard.setAuditStatus("0"); //待审核
  150. sysUserBankCard.setIsDefault(0);
  151. sysUserBankCard.setBankNumber(sysUserBankCardVO.getBankNumber().replaceAll("\\s+", ""));
  152. sysUserBankCard.setUserName(sysUserBankCardVO.getUserName());
  153. sysUserBankCard.setUserId(sysUserBankCardVO.getUserId());
  154. baseMapper.insert(sysUserBankCard);
  155. SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory();
  156. sysUserBankCardHistory.setBankNumber(sysUserBankCardVO.getBankNumber());
  157. sysUserBankCardHistory.setType("add");
  158. sysUserBankCardHistory.setCreateTime(new Date());
  159. sysUserBankCardHistory.setCreator(BaseController.getUser().getId());
  160. sysUserBankCardHistory.setBankNumberUserId(sysUserBankCardVO.getUserId());
  161. sysUserBankCardHistoryService.save(sysUserBankCardHistory);
  162. }
  163. }
  164. @Override
  165. @Transactional
  166. public void auditByBankNumber(SysUserBankCardVO sysUserBankCardVO) {
  167. SysUserBankCard sysUserBankCard = sysUserBankCardService.getById(sysUserBankCardVO.getId());
  168. if(sysUserBankCard != null && StringUtils.isNotBlank(sysUserBankCard.getAuditStatus()) && !"0".equals(sysUserBankCard.getAuditStatus())){
  169. throw new SystemException("账户已审核不能重复审核");
  170. }
  171. sysUserBankCard.setAuditStatus(sysUserBankCardVO.getAuditStatus());
  172. sysUserBankCard.setAuditTime(new Date());
  173. sysUserBankCard.setAuditUserId(BaseController.getUser().getId());
  174. sysUserBankCard.setAuditUserName(BaseController.getUser().getName());
  175. sysUserBankCard.setRemark(sysUserBankCardVO.getRemark());
  176. sysUserBankCardService.updateById(sysUserBankCard);
  177. if (sysUserBankCardVO.getAuditStatus().equals("1")) {
  178. SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory();
  179. sysUserBankCardHistory.setBankNumber(sysUserBankCard.getBankNumber());
  180. sysUserBankCardHistory.setType("pass");
  181. sysUserBankCardHistory.setCreateTime(new Date());
  182. sysUserBankCardHistory.setCreator(BaseController.getUser().getId());
  183. sysUserBankCardHistory.setBankNumberUserId(sysUserBankCard.getUserId());
  184. sysUserBankCardHistoryService.save(sysUserBankCardHistory);
  185. }
  186. if (sysUserBankCardVO.getAuditStatus().equals("2")) {
  187. SysUserBankCardHistory sysUserBankCardHistory = new SysUserBankCardHistory();
  188. sysUserBankCardHistory.setBankNumber(sysUserBankCard.getBankNumber());
  189. sysUserBankCardHistory.setType("refuse");
  190. sysUserBankCardHistory.setCreateTime(new Date());
  191. sysUserBankCardHistory.setCreator(BaseController.getUser().getId());
  192. sysUserBankCardHistory.setBankNumberUserId(sysUserBankCard.getUserId());
  193. sysUserBankCardHistoryService.save(sysUserBankCardHistory);
  194. }
  195. }
  196. @Override
  197. public List<SysUserBankCard> queryUsableCard(SysUserBankCard sysUserBankCard) {
  198. return baseMapper.queryUsableCard(sysUserBankCard);
  199. }
  200. @Override
  201. public HttpResult<List<SysUserBankCard>> getUserBankList(SysUserBankCard sysUserBankCard) {
  202. sysUserBankCard.setUserId(BaseController.getUser().getId());
  203. List<SysUserBankCard> sysUserBankCardList = baseMapper.getUserBankList(sysUserBankCard);
  204. return HttpResult.ok("success", sysUserBankCardList);
  205. }
  206. public HttpResult<List<SysUserBankCard>> getUserBankListByQueryParam(SysUserBankCard sysUserBankCard) {
  207. sysUserBankCard.setUserId(sysUserBankCard.getUserId());
  208. List<SysUserBankCard> sysUserBankCardList = baseMapper.getUserBankList(sysUserBankCard);
  209. return HttpResult.ok("success", sysUserBankCardList);
  210. }
  211. @Override
  212. public HttpResult<List<SysUserBankCardHistory>> getUserBankCardHistoryList(SysUserBankCardHistory sysUserBankCardHistory) {
  213. List<SysUserBankCardHistory> sysUserBankCardHistoryList = baseMapper.getUserBankCardHistoryList(sysUserBankCardHistory);
  214. return HttpResult.ok("success", sysUserBankCardHistoryList);
  215. }
  216. }