You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

521 lines
24 KiB

2 months ago
7 days ago
7 days ago
2 months ago
7 days ago
2 months ago
7 days ago
2 months ago
2 months ago
2 months ago
7 days ago
2 months ago
2 months ago
7 days ago
2 months ago
2 months ago
7 days ago
7 days ago
7 days ago
2 months ago
7 days ago
2 months ago
7 days ago
7 days ago
7 days ago
2 months ago
  1. package com.example.demo.serviceImpl.cash;
  2. import com.example.demo.domain.entity.Admin;
  3. import com.example.demo.Util.BusinessException;
  4. import com.example.demo.Util.GoldTistV2;
  5. import com.example.demo.config.RabbitMQConfig;
  6. import com.example.demo.domain.entity.Market;
  7. import com.example.demo.domain.entity.User;
  8. import com.example.demo.domain.entity.UserGoldRecord;
  9. import com.example.demo.domain.vo.cash.*;
  10. import com.example.demo.domain.vo.coin.Messages;
  11. import com.example.demo.domain.vo.coin.Result;
  12. import com.example.demo.exception.SystemException;
  13. import com.example.demo.mapper.cash.CashCollectionMapper;
  14. import com.example.demo.mapper.cash.CashRefundMapper;
  15. import com.example.demo.mapper.coin.AuditMapper;
  16. import com.example.demo.mapper.coin.MarketMapper;
  17. import com.example.demo.mapper.coin.OperationLogMapper;
  18. import com.example.demo.mapper.coin.RefundMapper;
  19. import com.example.demo.service.cash.RefundService;
  20. import com.github.pagehelper.PageHelper;
  21. import com.github.pagehelper.PageInfo;
  22. import org.springframework.amqp.rabbit.core.RabbitTemplate;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.stereotype.Service;
  25. import java.math.BigDecimal;
  26. import java.math.RoundingMode;
  27. import java.time.LocalDate;
  28. import java.util.*;
  29. import java.util.function.Function;
  30. import java.util.stream.Collectors;
  31. import static org.apache.commons.lang3.StringUtils.substring;
  32. /**
  33. * @program: GOLD
  34. * @ClassName CashRefundServiceImpl
  35. * @description:
  36. * @author: huangqizhen
  37. * @create: 202509-28 15:02
  38. * @Version 1.0
  39. **/
  40. @Service
  41. public class CashRefundServiceImpl implements RefundService {
  42. @Autowired
  43. private CashRefundMapper cashRefundMapper;
  44. @Autowired
  45. private RefundMapper refundMapper;
  46. @Autowired
  47. private AuditMapper auditMapper;
  48. @Autowired
  49. private MarketMapper marketMapper;
  50. @Autowired
  51. private RabbitTemplate rabbitTemplate;
  52. @Autowired
  53. private OperationLogMapper operationLogMapper;
  54. @Autowired
  55. private CashCollectionMapper cashCollectionMapper;
  56. @Override
  57. public PageInfo<CashRecordDTO> select(Integer pageNum, Integer pageSize, CashRecordDTO cashRecordDTO) {
  58. PageHelper.startPage(pageNum, pageSize);
  59. List<CashRecordDTO> list = cashRefundMapper.select(cashRecordDTO);
  60. if (list.isEmpty()) {
  61. return new PageInfo<>(list);
  62. }
  63. System.out.println("135");
  64. // 批量收集ID
  65. Set<Integer> relatedIds = new HashSet<>();
  66. Set<Integer> marketIds = new HashSet<>();
  67. Set<Integer> submitterIds = new HashSet<>();
  68. Set<Integer> auditIds = new HashSet<>();
  69. list.forEach(item -> {
  70. if (item.getRelatedId() != null) relatedIds.add(item.getRelatedId());
  71. if (item.getMarket() != null) marketIds.add(item.getMarket());
  72. if (item.getSubmitterId() != null) submitterIds.add(item.getSubmitterId());
  73. if (item.getAuditId() != null) auditIds.add(item.getAuditId());
  74. });
  75. // 批量查询
  76. Map<Integer, CashCollection> cashCollectionMap = cashCollectionMapper.selectBatchIds(relatedIds)
  77. .stream().collect(Collectors.toMap(CashCollection::getId, Function.identity()));
  78. Map<Integer, String> marketNameMap = marketMapper.getMarketByIds(marketIds)
  79. .stream().collect(Collectors.toMap(Market::getId, Market::getName));
  80. Map<Integer, String> submitterNameMap = auditMapper.getNamesByIds(submitterIds)
  81. .stream().collect(Collectors.toMap(Admin::getId, Admin::getAdminName));
  82. Map<Integer, LhlAudit> auditMap = cashRefundMapper.getAuditBatch(auditIds)
  83. .stream().collect(Collectors.toMap(LhlAudit::getId, Function.identity()));
  84. // 处理数据
  85. list.forEach(item -> {
  86. CashCollection cashCollection = cashCollectionMap.get(item.getRelatedId());
  87. if (cashCollection != null) {
  88. processCashCollection(item, cashCollection);
  89. }
  90. String marketName = marketNameMap.get(item.getMarket());
  91. String submitter = submitterNameMap.get(item.getSubmitterId());
  92. LhlAudit lhlAudit = auditMap.get(item.getAuditId());
  93. item.setMarketName(marketName != null ? marketName : "");
  94. item.setSubmitter(submitter != null ? submitter : "");
  95. if (lhlAudit != null) {
  96. item.setAreaServise(lhlAudit.getAreaServise());
  97. item.setAreaFinance(lhlAudit.getAreaFinance());
  98. item.setAreaCharge(lhlAudit.getAreaCharge());
  99. item.setHeadFinance(lhlAudit.getHeadFinance());
  100. }
  101. });
  102. return new PageInfo<>(list);
  103. }
  104. private void processCashCollection(CashRecordDTO item, CashCollection cashCollection) {
  105. // 设置默认值
  106. Integer freeGold = cashCollection.getFreeGold() != null ? cashCollection.getFreeGold() : 0;
  107. Integer permanentGold = cashCollection.getPermanentGold() != null ? cashCollection.getPermanentGold() : 0;
  108. BigDecimal free = new BigDecimal(freeGold).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
  109. BigDecimal permanent = new BigDecimal(permanentGold).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
  110. item.setGold(permanent);
  111. item.setFree(free);
  112. item.setActivity(cashCollection.getActivity());
  113. item.setPaymentCurrency(cashCollection.getPaymentCurrency());
  114. item.setPaymentAmount(cashCollection.getPaymentAmount());
  115. item.setReceivedCurrency(cashCollection.getReceivedCurrency());
  116. item.setReceivedAmount(cashCollection.getReceivedAmount());
  117. item.setPayType(cashCollection.getPayType());
  118. item.setPayTime(cashCollection.getPayTime());
  119. item.setPayBankCode(cashCollection.getBankCode());
  120. item.setPaySubmitter(cashCollection.getSubmitterName());
  121. item.setAudit(cashCollection.getAuditName());
  122. item.setReceivedTime(cashCollection.getReceivedTime());
  123. item.setPayVoucher(cashCollection.getVoucher());
  124. item.setPayRemark(cashCollection.getRemark());
  125. item.setHandlingCharge(cashCollection.getHandlingCharge());
  126. // 处理金币金额
  127. if (item.getPermanentGold() != null) {
  128. item.setPermanentGold(item.getPermanentGold().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
  129. }
  130. if (item.getFreeGold() != null) {
  131. item.setFreeGold(item.getFreeGold().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
  132. }
  133. }
  134. @Override
  135. public int add(CashRecordRefund cashRecordRefund) throws Exception {
  136. if(cashRecordRefund.getJwcode()==null){
  137. throw new Exception("未输入精网号") ;
  138. }
  139. if(cashRecordRefund.getRefundModel()== null){
  140. throw new Exception("请填充退款类型") ;
  141. }
  142. if(cashRecordRefund.getRefundReason()== null){
  143. throw new Exception("请填写退款理由") ;
  144. }
  145. CashRecordDone cashRecordDonetwo = new CashRecordDone();
  146. cashRecordDonetwo.setAreaServise(cashRecordRefund.getAreaServise());
  147. cashRefundMapper.addAudit(cashRecordDonetwo);
  148. cashRecordRefund.setAuditId(cashRecordDonetwo.getId());
  149. cashRecordRefund.setStatus(10);
  150. //生成订单号后半部分
  151. String orderNumber = cashRecordRefund.getOrderCode();
  152. //构建订单信息
  153. cashRecordRefund.setOrderCode("TK" + orderNumber); //订单号
  154. cashRecordRefund.setMarket(String.valueOf(Integer.valueOf(marketMapper.getMarketId(cashRecordRefund.getMarket()))));
  155. cashRefundMapper.insert(cashRecordRefund);
  156. CashRecordDone cashRecordDone1 = new CashRecordDone();
  157. cashRecordDone1.setId(cashRecordRefund.getOriginalOrderId());
  158. cashRecordDone1.setStatus(6);
  159. if (cashRecordDone1.getId()!=null||cashRecordDone1.getOrderCode()!= null)
  160. cashRefundMapper.updateStatus(cashRecordDone1);
  161. else return Result.error("提交失败").getCode();
  162. // 发送退款创建消息
  163. Messages message = new Messages();
  164. message.setJwcode(cashRecordRefund.getJwcode());
  165. message.setName(cashRecordRefund.getName());
  166. message.setStatus(cashRecordRefund.getStatus());
  167. message.setDesc(cashRecordRefund.getJwcode()+"用户有条退款订单需审核");
  168. message.setTitle("现金退款--新增退款");
  169. message.setType(1);
  170. message.setTypeId(cashRecordRefund.getId());
  171. message.setMarket(Integer.valueOf(cashRecordRefund.getMarket()));
  172. rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_REFUND_EXCHANGE, "cash.refund.save", message);
  173. return Result.success("提交成功").getCode();
  174. }
  175. @Override
  176. public int update(CashRecordDone cashRecordDone) throws Exception {
  177. if (cashRecordDone.getJwcode()== null) {
  178. throw new RuntimeException("未输入精网号");
  179. }
  180. if (cashRecordDone.getPaymentAmount()== null) {
  181. throw new RuntimeException("未输入付款金额");
  182. }
  183. if (cashRecordDone.getPaymentCurrency()== null){
  184. throw new RuntimeException("未输入付款币种");
  185. }
  186. if (cashRecordDone.getRefundModel()== null) {
  187. throw new RuntimeException("请填写退款类型");
  188. }
  189. if (cashRecordDone.getRefundReason()== null) {
  190. throw new RuntimeException("请填写退款理由");
  191. }
  192. int result = cashRefundMapper.update(cashRecordDone);
  193. return (result > 0 ? Result.success("提交成功") : Result.error("提交失败")).getCode();
  194. }
  195. @Override
  196. public int withdraw(CashRecordDone cashRecordDone) {
  197. return cashRefundMapper.withdraw(cashRecordDone.getId());
  198. }
  199. @Override
  200. public int review(CashRecordDone cashRecordDone) throws Exception {
  201. if(cashRecordDone.getStatus()== 12|| cashRecordDone.getStatus()== 22){
  202. if(cashRecordDone.getOrderCode()== null){
  203. throw new RuntimeException("未输入订单号");
  204. }
  205. CashRecordDone cashRecordDone1 = new CashRecordDone();
  206. cashRecordDone1.setOrderCode(cashRecordDone.getOrderCode().substring(2));
  207. cashRecordDone1.setStatus(4);
  208. if (cashRecordDone1.getId()!=null||cashRecordDone1.getOrderCode()!= null){
  209. cashRefundMapper.updateStatus(cashRecordDone1);
  210. }}
  211. cashRefundMapper.updateAudit(cashRecordDone);
  212. int result = cashRefundMapper.review(cashRecordDone);
  213. CashRecordDTO cashRecordDTO = cashRefundMapper.selectById(cashRecordDone.getId());
  214. if (result > 0) {
  215. // 发送审核消息
  216. Messages message = new Messages();
  217. message.setJwcode(cashRecordDTO.getJwcode());
  218. message.setName(cashRecordDTO.getName());
  219. message.setStatus(cashRecordDTO.getStatus());
  220. message.setDesc(cashRecordDTO.getJwcode()+"用户有条退款订单需审核");
  221. message.setTitle("现金退款--当地退款审核");
  222. message.setType(1);
  223. message.setTypeId(cashRecordDTO.getId());
  224. message.setMarket(cashRecordDTO.getMarket());
  225. if (cashRecordDTO.getStatus() != 12 || cashRecordDTO.getStatus() != 22) {
  226. rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_REFUND_EXCHANGE, "cash.refund.save", message);
  227. }
  228. }
  229. return (result > 0 ? Result.success("提交成功") : Result.error("提交失败")).getCode();
  230. }
  231. @Override
  232. public int executor(CashRecordDone cashRecordDone) throws Exception {
  233. if(cashRecordDone.getRefundVoucher()== null){
  234. throw new RuntimeException("未输入退款凭证");
  235. }
  236. if(cashRecordDone.getRefundTime()== null){
  237. throw new RuntimeException("未输入退款时间");
  238. }
  239. if(cashRecordDone.getRefundRemark()== null){
  240. throw new RuntimeException("未输入退款备注");
  241. }
  242. if(cashRecordDone.getRefundChannels()== null){
  243. throw new RuntimeException("未输入退款途径");
  244. }
  245. if(cashRecordDone.getRefundCurrency()== null){
  246. throw new RuntimeException("未输入退款币种");
  247. }
  248. if(cashRecordDone.getRefundAmount()== null){
  249. throw new RuntimeException("未输入退款金额");
  250. }
  251. int result = cashRefundMapper.executor(cashRecordDone);
  252. return (result > 0 ? Result.success("提交成功") : Result.error("提交失败")).getCode();
  253. }
  254. @Override
  255. public int updateStatus(CashRecordDone cashRecordDone) {
  256. return cashRefundMapper.updateStatus(cashRecordDone);
  257. }
  258. @Override
  259. public int finalreview(CashRecordDone cashRecordDone) {
  260. if(cashRecordDone.getPermanentGold()== null){
  261. cashRecordDone.setPermanentGold(0);
  262. }
  263. if(cashRecordDone.getFreeGold()== null){
  264. cashRecordDone.setFreeGold(0);
  265. }
  266. if(cashRecordDone.getStatus()== 32){
  267. CashRecordDone cashRecordDone1 = new CashRecordDone();
  268. cashRecordDone1.setOrderCode(cashRecordDone.getOrderCode().substring(2));
  269. cashRecordDone1.setStatus(4);
  270. if (cashRecordDone1.getId()!=null||cashRecordDone1.getOrderCode()!= null){
  271. cashRefundMapper.updateStatus(cashRecordDone1);
  272. }}
  273. if (cashRecordDone.getGoodsName() != null &&cashRecordDone.getStatus() ==40 &&
  274. (cashRecordDone.getGoodsName().equals("金币充值") ||
  275. cashRecordDone.getGoodsName().contains("金币充值"))) {
  276. UserGoldRecord userGoldRecord = new UserGoldRecord();
  277. userGoldRecord.setOrderCode(cashRecordDone.getOrderCode());
  278. userGoldRecord.setType((byte) 2);
  279. userGoldRecord.setIsRefund((byte) 1);
  280. userGoldRecord.setRefundType("金币退款");
  281. userGoldRecord.setCrefundModel(cashRecordDone.getRefundModel());
  282. userGoldRecord.setJwcode(cashRecordDone.getJwcode());
  283. userGoldRecord.setSumGold(cashRecordDone.getPermanentGold()+cashRecordDone.getFreeGold());
  284. userGoldRecord.setPermanentGold(cashRecordDone.getPermanentGold());
  285. int currentMonth = LocalDate.now().getMonthValue();
  286. if (currentMonth >= 1 && currentMonth <= 6) {
  287. // 1-6月:设置12月额度,6月保持默认值
  288. userGoldRecord.setFreeJune(0);
  289. userGoldRecord.setFreeDecember(cashRecordDone.getFreeGold());
  290. } else {
  291. // 7-12月:设置6月额度,12月保持默认值
  292. userGoldRecord.setFreeJune(cashRecordDone.getFreeGold());
  293. userGoldRecord.setFreeDecember(0);
  294. }
  295. userGoldRecord.setGoodsName(cashRecordDone.getGoodsName());
  296. userGoldRecord.setPayPlatform("金币系统");
  297. userGoldRecord.setRemark(cashRecordDone.getRemark());
  298. userGoldRecord.setAdminId(cashRecordDone.getAuditId());
  299. userGoldRecord.setAuditStatus(1);
  300. userGoldRecord.setTaskGold(0);
  301. userGoldRecord.setCreateTime(new Date());
  302. userGoldRecord.setUpdateTime(new Date());
  303. String auditName = auditMapper.getName(cashRecordDone.getAuditId());
  304. refundMapper.add(userGoldRecord);
  305. User user = new User();
  306. user.setJwcode(userGoldRecord.getJwcode());
  307. user.setCurrentPermanentGold(BigDecimal.valueOf(-userGoldRecord.getPermanentGold())); //当前永久金币
  308. user.setCurrentFreeJune(BigDecimal.valueOf(-userGoldRecord.getFreeJune())); //当前六月免费金币
  309. user.setCurrentFreeDecember(BigDecimal.valueOf(-userGoldRecord.getFreeDecember())); //当前十二月免费金币
  310. auditMapper.updateUserGold(user);
  311. GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 58, //退款免费+永久金币-充值
  312. (double) (userGoldRecord.getFreeDecember()+userGoldRecord.getFreeJune()+userGoldRecord.getPermanentGold() ) /100,
  313. userGoldRecord.getRemark(),(double) userGoldRecord.getPermanentGold() / 100, auditName, "退款金币充值");}
  314. cashRefundMapper.updateAudit(cashRecordDone);
  315. int result = cashRefundMapper.review(cashRecordDone);
  316. CashRecordDTO cashRecordDTO = cashRefundMapper.selectById(cashRecordDone.getId());
  317. if (result > 0) {
  318. // 发送审核消息
  319. Messages message = new Messages();
  320. message.setJwcode(cashRecordDTO.getJwcode());
  321. message.setName(cashRecordDTO.getName());
  322. message.setStatus(cashRecordDTO.getStatus());
  323. message.setDesc(cashRecordDTO.getJwcode()+"用户有条退款订单需审核");
  324. message.setTitle("现金退款--执行人退款提交");
  325. message.setType(1);
  326. message.setTypeId(cashRecordDTO.getId());
  327. message.setMarket(cashRecordDTO.getMarket());
  328. if (cashRecordDTO.getStatus() != 32) {
  329. rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_REFUND_EXCHANGE, "cash.refund.save", message);
  330. }
  331. }
  332. return (result > 0 ? Result.success("提交成功") : Result.error("提交失败")).getCode();
  333. }
  334. @Override
  335. public PageInfo<CashRecordDTO> financeSelect(Integer pageNum, Integer pageSize, CashRecordDTO cashRecordDTO) {
  336. PageHelper.startPage(pageNum, pageSize);
  337. // System.out.println(goldDetail.getMarkets());
  338. List<CashRecordDTO> list = cashRefundMapper.financeSelect(cashRecordDTO);
  339. if (list.isEmpty()) {
  340. return new PageInfo<>(list);
  341. }
  342. // 批量收集ID
  343. Set<Integer> relatedIds = new HashSet<>();
  344. Set<Integer> marketIds = new HashSet<>();
  345. Set<Integer> submitterIds = new HashSet<>();
  346. Set<Integer> auditIds = new HashSet<>();
  347. list.forEach(item -> {
  348. if (item.getRelatedId() != null) relatedIds.add(item.getRelatedId());
  349. if (item.getMarket() != null) marketIds.add(item.getMarket());
  350. if (item.getSubmitterId() != null) submitterIds.add(item.getSubmitterId());
  351. if (item.getAuditId() != null) auditIds.add(item.getAuditId());
  352. });
  353. // 批量查询
  354. Map<Integer, CashCollection> cashCollectionMap = cashCollectionMapper.selectBatchIds(relatedIds)
  355. .stream().collect(Collectors.toMap(CashCollection::getId, Function.identity()));
  356. Map<Integer, String> marketNameMap = marketMapper.getMarketByIds(marketIds)
  357. .stream().collect(Collectors.toMap(Market::getId, Market::getName));
  358. Map<Integer, String> submitterNameMap = auditMapper.getNamesByIds(submitterIds)
  359. .stream().collect(Collectors.toMap(Admin::getId, Admin::getAdminName));
  360. Map<Integer, LhlAudit> auditMap = cashRefundMapper.getAuditBatch(auditIds)
  361. .stream().collect(Collectors.toMap(LhlAudit::getId, Function.identity()));
  362. // 处理数据
  363. list.forEach(item -> {
  364. CashCollection cashCollection = cashCollectionMap.get(item.getRelatedId());
  365. if (cashCollection != null) {
  366. processCashCollection(item, cashCollection);
  367. }
  368. String marketName = marketNameMap.get(item.getMarket());
  369. String submitter = submitterNameMap.get(item.getSubmitterId());
  370. LhlAudit lhlAudit = auditMap.get(item.getAuditId());
  371. item.setMarketName(marketName != null ? marketName : "");
  372. item.setSubmitter(submitter != null ? submitter : "");
  373. if (lhlAudit != null) {
  374. item.setAreaServise(lhlAudit.getAreaServise());
  375. item.setAreaFinance(lhlAudit.getAreaFinance());
  376. item.setAreaCharge(lhlAudit.getAreaCharge());
  377. item.setHeadFinance(lhlAudit.getHeadFinance());
  378. }
  379. });
  380. return new PageInfo<>(list);
  381. }
  382. @Override
  383. public PageInfo<CashRecordDTO> exSelect(Integer pageNum, Integer pageSize, CashRecordDTO cashRecordDTO) {
  384. PageHelper.startPage(pageNum, pageSize);
  385. // System.out.println(goldDetail.getMarkets());
  386. List<CashRecordDTO> list = cashRefundMapper.exSelect(cashRecordDTO);
  387. if (list.isEmpty()) {
  388. return new PageInfo<>(list);
  389. }
  390. // 批量收集ID
  391. Set<Integer> relatedIds = new HashSet<>();
  392. Set<Integer> marketIds = new HashSet<>();
  393. Set<Integer> submitterIds = new HashSet<>();
  394. Set<Integer> auditIds = new HashSet<>();
  395. list.forEach(item -> {
  396. if (item.getRelatedId() != null) relatedIds.add(item.getRelatedId());
  397. if (item.getMarket() != null) marketIds.add(item.getMarket());
  398. if (item.getSubmitterId() != null) submitterIds.add(item.getSubmitterId());
  399. if (item.getAuditId() != null) auditIds.add(item.getAuditId());
  400. });
  401. // 批量查询
  402. Map<Integer, CashCollection> cashCollectionMap = cashCollectionMapper.selectBatchIds(relatedIds)
  403. .stream().collect(Collectors.toMap(CashCollection::getId, Function.identity()));
  404. Map<Integer, String> marketNameMap = marketMapper.getMarketByIds(marketIds)
  405. .stream().collect(Collectors.toMap(Market::getId, Market::getName));
  406. Map<Integer, String> submitterNameMap = auditMapper.getNamesByIds(submitterIds)
  407. .stream().collect(Collectors.toMap(Admin::getId, Admin::getAdminName));
  408. Map<Integer, LhlAudit> auditMap = cashRefundMapper.getAuditBatch(auditIds)
  409. .stream().collect(Collectors.toMap(LhlAudit::getId, Function.identity()));
  410. // 处理数据
  411. list.forEach(item -> {
  412. CashCollection cashCollection = cashCollectionMap.get(item.getRelatedId());
  413. if (cashCollection != null) {
  414. processCashCollection(item, cashCollection);
  415. }
  416. String marketName = marketNameMap.get(item.getMarket());
  417. String submitter = submitterNameMap.get(item.getSubmitterId());
  418. LhlAudit lhlAudit = auditMap.get(item.getAuditId());
  419. item.setMarketName(marketName != null ? marketName : "");
  420. item.setSubmitter(submitter != null ? submitter : "");
  421. if (lhlAudit != null) {
  422. item.setAreaServise(lhlAudit.getAreaServise());
  423. item.setAreaFinance(lhlAudit.getAreaFinance());
  424. item.setAreaCharge(lhlAudit.getAreaCharge());
  425. item.setHeadFinance(lhlAudit.getHeadFinance());
  426. }
  427. });
  428. return new PageInfo<>(list);
  429. }
  430. @Override
  431. public void addOnline(CashRecordRefund cashRecordRefund) {
  432. if(cashRecordRefund.getJwcode()==null){
  433. throw new BusinessException("未输入精网号") ;
  434. }
  435. if(cashRecordRefund.getRefundModel()== null){
  436. throw new BusinessException("请填充退款类型") ;
  437. }
  438. if(cashRecordRefund.getRefundReason()== null){
  439. throw new BusinessException("请填写退款理由") ;
  440. }
  441. CashRecordDone cashRecordDonetwo = new CashRecordDone();
  442. cashRecordDonetwo.setAreaServise(cashRecordRefund.getAreaServise());
  443. cashRefundMapper.addAudit(cashRecordDonetwo);
  444. cashRecordRefund.setAuditId(cashRecordDonetwo.getId());
  445. cashRecordRefund.setStatus(20);
  446. //生成订单号后半部分
  447. String orderNumber = cashRecordRefund.getOrderCode();
  448. //构建订单信息
  449. cashRecordRefund.setOrderCode("TK" + orderNumber); //订单号
  450. cashRecordRefund.setMarket(String.valueOf(Integer.valueOf(marketMapper.getMarketId(cashRecordRefund.getMarket()))));
  451. cashRefundMapper.insert(cashRecordRefund);
  452. CashRecordDone cashRecordDone1 = new CashRecordDone();
  453. cashRecordDone1.setId(cashRecordRefund.getId());
  454. cashRecordDone1.setStatus(6);
  455. if (cashRecordDone1.getId()!=null||cashRecordDone1.getOrderCode()!= null)
  456. cashRefundMapper.updateStatus(cashRecordDone1);
  457. else throw new SystemException("提交失败") ;
  458. }
  459. }