MallPaymentOrderDataServiceImpl.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. package com.kmall.admin.service.impl;
  2. import com.kmall.admin.dao.MallPaymentOrderDataDao;
  3. import com.kmall.admin.entity.MallPaymentOrderDataEntity;
  4. import com.kmall.admin.fromcomm.entity.SysUserEntity;
  5. import com.kmall.admin.service.MallPaymentOrderDataService;
  6. import com.kmall.admin.utils.ShiroUtils;
  7. import com.kmall.common.constant.Dict;
  8. import com.kmall.common.constant.JxlsXmlTemplateName;
  9. import com.kmall.common.utils.excel.ExcelExport;
  10. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  11. import org.apache.poi.ss.usermodel.Row;
  12. import org.apache.poi.ss.usermodel.Sheet;
  13. import org.apache.poi.ss.usermodel.Workbook;
  14. import org.springframework.beans.BeanUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import javax.servlet.http.HttpServletResponse;
  18. import java.io.FileInputStream;
  19. import java.io.FileNotFoundException;
  20. import java.io.IOException;
  21. import java.util.*;
  22. /**
  23. * 支付订单表Service实现类
  24. *
  25. * @author emato
  26. * @email admin@qhdswl.com
  27. * @date 2021-04-22 14:54:43
  28. */
  29. @Service("mallPaymentOrderDataService")
  30. public class MallPaymentOrderDataServiceImpl implements MallPaymentOrderDataService {
  31. @Autowired
  32. private MallPaymentOrderDataDao mall2PaymentOrderDataDao;
  33. @Override
  34. public MallPaymentOrderDataEntity queryObject(Integer payOrderId) {
  35. return mall2PaymentOrderDataDao.queryObject(payOrderId);
  36. }
  37. @Override
  38. public List<MallPaymentOrderDataEntity> queryList(Map<String, Object> map) {
  39. return mall2PaymentOrderDataDao.queryList(map);
  40. }
  41. @Override
  42. public int queryTotal(Map<String, Object> map) {
  43. return mall2PaymentOrderDataDao.queryTotal(map);
  44. }
  45. @Override
  46. public int save(MallPaymentOrderDataEntity mall2PaymentOrderData) {
  47. return mall2PaymentOrderDataDao.save(mall2PaymentOrderData);
  48. }
  49. @Override
  50. public int update(MallPaymentOrderDataEntity mall2PaymentOrderData) {
  51. return mall2PaymentOrderDataDao.update(mall2PaymentOrderData);
  52. }
  53. @Override
  54. public int delete(Integer payOrderId) {
  55. return mall2PaymentOrderDataDao.delete(payOrderId);
  56. }
  57. @Override
  58. public int deleteBatch(Integer[]payOrderIds) {
  59. return mall2PaymentOrderDataDao.deleteBatch(payOrderIds);
  60. }
  61. @Override
  62. public int uploadExcel(List<MallPaymentOrderDataEntity> list,String payFlag) {
  63. SysUserEntity sysUserEntity = ShiroUtils.getUserEntity();
  64. if (list!=null && list.size()>0) {
  65. for (MallPaymentOrderDataEntity paymentOrderDataEntity : list) {
  66. MallPaymentOrderDataEntity orderDataEntity = new MallPaymentOrderDataEntity();
  67. paymentOrderDataEntity.setCreaterSn(sysUserEntity.getUsername());
  68. paymentOrderDataEntity.setCreateTime(new Date());
  69. paymentOrderDataEntity.setPayFlag(payFlag);
  70. BeanUtils.copyProperties(paymentOrderDataEntity,orderDataEntity);
  71. mall2PaymentOrderDataDao.saveData(orderDataEntity);
  72. }
  73. }
  74. return 0;
  75. }
  76. @Override
  77. public void exportDataFormatList(Map<String, Object> map, HttpServletResponse response) {
  78. List<MallPaymentOrderDataEntity> mallList = mall2PaymentOrderDataDao.queryListData(map);
  79. String payFlag = map.get("payFlag").toString();
  80. String itemName = null;
  81. String[] header = null;
  82. LinkedHashMap<String, Object> headerMap = null;
  83. if (Dict.payFlag.item_weixin.getItem().equals(payFlag)) {
  84. //初始化 第一行数据信息
  85. itemName = Dict.payFlag.item_weixin.getItemName();
  86. header = new String[]{"Time Str","Transaction Order", "OutTrade No", "Pay Type", "Transaction Status", "Payment Type","Currency Type","Amount Order","Cash Coupon","Refund Id",
  87. "MerRefund Number", "Refund Money", "Refund RechargpCoupon", "Refund Type", "Refund Status", "Merchant Name","Attach", "Fee Charge", "Rate", "Pay Money",
  88. "ApplyRefund Amount","Rate Remark"};
  89. //初始化 第二行数据信息
  90. headerMap = initHeaderWxMap();
  91. }else if (Dict.payFlag.item_alipay.getItem().equals(payFlag)){
  92. //初始化 第一行数据信息
  93. itemName = Dict.payFlag.item_alipay.getItemName();
  94. header = new String[]{"Time Str","Transaction Order", "Serial Number", "OutTrade No", "Pay Type", "Pay Money","Refund Money","payment Type","Opposite Account","Other Name",
  95. "Bank Order ", "Merchant Name", "Remark", "BusinessBasic Order", "Business Order", "BusinessBilling Source","Business Description", "Payment Notes"};
  96. //初始化 第二行数据信息
  97. headerMap = initHeaderAliMap();
  98. }
  99. // excel 表单名字
  100. ExcelExport ee = new ExcelExport(itemName+"账单");
  101. List<Map<String, Object>> list = new LinkedList<>();
  102. list.add(headerMap);
  103. for (MallPaymentOrderDataEntity orderDataEntity : mallList) {
  104. LinkedHashMap<String, Object> mapLinked = new LinkedHashMap<>(24);
  105. if (Dict.payFlag.item_weixin.getItem().equals(payFlag)) {
  106. //渲染表单数据
  107. mapLinked = initHeaderWxMap(orderDataEntity);
  108. }else if (Dict.payFlag.item_alipay.getItem().equals(payFlag)){
  109. //渲染表单数据
  110. mapLinked = initHeaderAliMap(orderDataEntity);
  111. }
  112. list.add(mapLinked);
  113. }
  114. //渲染excel表单
  115. ee.addSheetByMap(itemName+"账单", list, header);
  116. ee.export(response);
  117. }
  118. private LinkedHashMap<String, Object> initHeaderAliMap() {
  119. LinkedHashMap<String, Object> headerMap = new LinkedHashMap<>();
  120. headerMap.put("timeStr","入账时间");
  121. headerMap.put("transactionOrder","支付宝交易号");
  122. headerMap.put("serialNumber","支付宝流水号");
  123. headerMap.put("outTradeNo","商户订单号");
  124. headerMap.put("payType","账务类型");
  125. headerMap.put("payMoney","收入(+元)");
  126. headerMap.put("refundMoney","支出(-元)");
  127. headerMap.put("paymentType","支付渠道");
  128. headerMap.put("oppositeAccount","对方账户");
  129. headerMap.put("otherName","对方名称");
  130. headerMap.put("bankOrder","银行订单号");
  131. headerMap.put("merchantName","商品名称");
  132. headerMap.put("remark","备注");
  133. headerMap.put("businessBasicOrder","业务基础订单号");
  134. headerMap.put("businessOrder","业务订单号");
  135. headerMap.put("businessBillingSource","业务账单来源");
  136. headerMap.put("businessDescription","业务描述");
  137. headerMap.put("paymentNotes","付款备注");
  138. return headerMap;
  139. }
  140. private LinkedHashMap<String, Object> initHeaderAliMap(MallPaymentOrderDataEntity orderDataEntity) {
  141. LinkedHashMap<String, Object> headerMap = new LinkedHashMap<>();
  142. headerMap.put("timeStr",orderDataEntity.getTimeStr());
  143. headerMap.put("transactionOrder",orderDataEntity.getTransactionOrder());
  144. headerMap.put("serialNumber",orderDataEntity.getSerialNumber());
  145. headerMap.put("outTradeNo",orderDataEntity.getOutTradeNo());
  146. headerMap.put("payType",orderDataEntity.getPayType());
  147. headerMap.put("payMoney",orderDataEntity.getPayMoney());
  148. headerMap.put("refundMoney",orderDataEntity.getRefundMoney());
  149. headerMap.put("paymentType",orderDataEntity.getPaymentType());
  150. headerMap.put("oppositeAccount",orderDataEntity.getOppositeAccount());
  151. headerMap.put("otherName",orderDataEntity.getOtherName());
  152. headerMap.put("bankOrder",orderDataEntity.getBankOrder());
  153. headerMap.put("merchantName",orderDataEntity.getMerchantName());
  154. headerMap.put("remark",orderDataEntity.getRemark());
  155. headerMap.put("businessBasicOrder", orderDataEntity.getBusinessBasicOrder());
  156. headerMap.put("businessOrder",orderDataEntity.getBusinessOrder());
  157. headerMap.put("businessBillingSource",orderDataEntity.getBusinessBillingSource());
  158. headerMap.put("businessDescription",orderDataEntity.getBusinessDescription());
  159. headerMap.put("paymentNotes",orderDataEntity.getPaymentNotes());
  160. return headerMap;
  161. }
  162. private LinkedHashMap<String, Object> initHeaderWxMap() {
  163. LinkedHashMap<String, Object> headerMap = new LinkedHashMap<>();
  164. headerMap.put("timeStr","交易时间");
  165. headerMap.put("transactionOrder","微信订单号");
  166. headerMap.put("outTradeNo","商户订单号");
  167. headerMap.put("payType","交易类型");
  168. headerMap.put("transactionStatus","交易状态");
  169. headerMap.put("paymentType","付款银行");
  170. headerMap.put("currencyType","货币种类");
  171. headerMap.put("amountOrder","应结订单金额");
  172. headerMap.put("cashCoupon","代金券金额");
  173. headerMap.put("refundId","微信退款单号");
  174. headerMap.put("merRefundNumber","商户退款单号");
  175. headerMap.put("refundMoney","退款金额");
  176. headerMap.put("refundRechargpCoupon","充值券退款金额");
  177. headerMap.put("refundType","退款类型");
  178. headerMap.put("refundStatus","退款状态");
  179. headerMap.put("merchantName","商品名称");
  180. headerMap.put("attach","商户数据包");
  181. headerMap.put("feeCharge","手续费");
  182. headerMap.put("rate","费率");
  183. headerMap.put("payMoney","订单金额");
  184. headerMap.put("applyRefundAmount","申请退款金额");
  185. headerMap.put("rateRemark","费率备注");
  186. return headerMap;
  187. }
  188. private LinkedHashMap<String, Object> initHeaderWxMap(MallPaymentOrderDataEntity orderDataEntity) {
  189. LinkedHashMap<String, Object> headerMap = new LinkedHashMap<>();
  190. headerMap.put("timeStr",orderDataEntity.getTimeStr());
  191. headerMap.put("transactionOrder",orderDataEntity.getTransactionOrder());
  192. headerMap.put("outTradeNo",orderDataEntity.getOutTradeNo());
  193. headerMap.put("payType",orderDataEntity.getPayType());
  194. headerMap.put("transactionStatus",orderDataEntity.getTransactionStatus());
  195. headerMap.put("paymentType",orderDataEntity.getPaymentType());
  196. headerMap.put("currencyType",orderDataEntity.getCurrencyType());
  197. headerMap.put("amountOrder",orderDataEntity.getAmountOrder());
  198. headerMap.put("cashCoupon",orderDataEntity.getCashCoupon());
  199. headerMap.put("refundId",orderDataEntity.getRefundId());
  200. headerMap.put("merRefundNumber",orderDataEntity.getMerRefundNumber());
  201. headerMap.put("refundMoney",orderDataEntity.getRefundMoney());
  202. headerMap.put("refundRechargpCoupon",orderDataEntity.getRefundRechargpCoupon());
  203. headerMap.put("refundType",orderDataEntity.getRefundType());
  204. headerMap.put("refundStatus",orderDataEntity.getRefundStatus());
  205. headerMap.put("merchantName",orderDataEntity.getMerchantName());
  206. headerMap.put("attach",orderDataEntity.getAttach());
  207. headerMap.put("feeCharge",orderDataEntity.getFeeCharge());
  208. headerMap.put("rate",orderDataEntity.getRate());
  209. headerMap.put("payMoney",orderDataEntity.getPayMoney());
  210. headerMap.put("applyRefundAmount",orderDataEntity.getApplyRefundAmount());
  211. headerMap.put("rateRemark",orderDataEntity.getRateRemark());
  212. return headerMap;
  213. }
  214. }