|
@@ -0,0 +1,165 @@
|
|
|
+package com.kmall.admin.service.impl.compared;
|
|
|
+
|
|
|
+import com.google.common.collect.ImmutableBiMap;
|
|
|
+import com.kmall.admin.dao.compared.PayOrderInfoDao;
|
|
|
+import com.kmall.admin.dto.PayOrderDto;
|
|
|
+import com.kmall.admin.entity.compared.PayOrderInfoEntity;
|
|
|
+import com.kmall.admin.fromcomm.entity.SysUserEntity;
|
|
|
+import com.kmall.admin.service.compared.PayOrderInfoService;
|
|
|
+import com.kmall.admin.utils.ShiroUtils;
|
|
|
+import com.kmall.common.constant.Dict;
|
|
|
+import com.kmall.common.utils.*;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * Service实现类
|
|
|
+ *
|
|
|
+ * @author emato
|
|
|
+ * @email admin@qhdswl.com
|
|
|
+ * @date 2020-11-26 10:16:58
|
|
|
+ */
|
|
|
+@Service("payOrderInfoService")
|
|
|
+public class PayOrderInfoServiceImpl implements PayOrderInfoService {
|
|
|
+ @Autowired
|
|
|
+ private PayOrderInfoDao payOrderInfoDao;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PayOrderInfoEntity queryObject(Integer mpoiId) {
|
|
|
+ return payOrderInfoDao.queryObject(mpoiId);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<PayOrderInfoEntity> queryList(Map<String, Object> map) {
|
|
|
+ return payOrderInfoDao.queryList(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int queryTotal(Map<String, Object> map) {
|
|
|
+ return payOrderInfoDao.queryTotal(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int save(PayOrderInfoEntity payOrderInfo) {
|
|
|
+ return payOrderInfoDao.save(payOrderInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int update(PayOrderInfoEntity payOrderInfo) {
|
|
|
+ return payOrderInfoDao.update(payOrderInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int delete(Integer mpoiId) {
|
|
|
+ return payOrderInfoDao.delete(mpoiId);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int deleteBatch(Integer[]mpoiIds) {
|
|
|
+ return payOrderInfoDao.deleteBatch(mpoiIds);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void uploadExcel(List<PayOrderDto> payOrderDtoList, String payFlag) {
|
|
|
+
|
|
|
+ List<PayOrderInfoEntity> insertList = new ArrayList<>();
|
|
|
+
|
|
|
+ if(payOrderDtoList != null && payOrderDtoList.size() > 0){
|
|
|
+
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ SysUserEntity userEntity = ShiroUtils.getUserEntity();
|
|
|
+ for(PayOrderDto payOrderDto : payOrderDtoList){
|
|
|
+ Map<String, Object> valideDate = MapBeanUtil.fromObject(payOrderDto);
|
|
|
+ ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
|
|
|
+ builder.put("merchOrderSn", "商户订单编号");
|
|
|
+
|
|
|
+ R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
|
|
|
+ if (Integer.valueOf(r.get("code").toString()) != 0) {
|
|
|
+ throw new RRException(r.get("msg").toString());
|
|
|
+ } else {
|
|
|
+
|
|
|
+ if(Dict.payFlag.item_alipay.getItem().equals(payFlag)){
|
|
|
+ String style = payOrderDto.getPayFlag();
|
|
|
+ if( !style.equals("在线支付") && !style.equals("退款(交易退款)")){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ PayOrderInfoEntity payOrderInfoEntity = new PayOrderInfoEntity();
|
|
|
+ payOrderInfoEntity.setImporter(userEntity.getUserId()+""); // 导入者id
|
|
|
+ payOrderInfoEntity.setImportTime(format.format(new Date())); // 导入时间
|
|
|
+ if(Dict.payFlag.item_weixin.getItem().equals(payFlag)){
|
|
|
+ if(StringUtils.isNotEmpty(payOrderDto.getOrderAmount()) && !"0".equals(payOrderDto.getOrderAmount())){
|
|
|
+ payOrderInfoEntity.setOrderStatus("300"); // 订单状态
|
|
|
+ payOrderInfoEntity.setOrderAmount(new BigDecimal(payOrderDto.getOrderAmount())); // 订单金额
|
|
|
+ }else{
|
|
|
+ payOrderInfoEntity.setOrderStatus("401"); // 订单状态
|
|
|
+ payOrderInfoEntity.setOrderAmount(new BigDecimal(0)); // 订单金额
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(payOrderDto.getRefundAmount()) && !"0".equals(payOrderDto.getRefundAmount())){
|
|
|
+ payOrderInfoEntity.setPayStatus("5"); // 支付状态
|
|
|
+ payOrderInfoEntity.setRefundAmount(new BigDecimal(payOrderDto.getRefundAmount())); // 退款金额
|
|
|
+ }else{
|
|
|
+ payOrderInfoEntity.setPayStatus("2"); // 支付状态
|
|
|
+ payOrderInfoEntity.setRefundAmount(new BigDecimal(0)); // 退款金额
|
|
|
+ }
|
|
|
+ }else if(Dict.payFlag.item_alipay.getItem().equals(payFlag)){
|
|
|
+ if(StringUtils.isNotEmpty(payOrderDto.getOrderAmount()) ){
|
|
|
+ payOrderInfoEntity.setOrderStatus("300"); // 订单状态
|
|
|
+ payOrderInfoEntity.setOrderAmount(new BigDecimal(payOrderDto.getOrderAmount())); // 订单金额
|
|
|
+ }else{
|
|
|
+ payOrderInfoEntity.setOrderStatus("401"); // 订单状态
|
|
|
+ payOrderInfoEntity.setOrderAmount(new BigDecimal(0)); // 订单金额
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(payOrderDto.getRefundAmount())){
|
|
|
+ payOrderInfoEntity.setPayStatus("5"); // 支付状态
|
|
|
+ payOrderInfoEntity.setRefundAmount(new BigDecimal(payOrderDto.getRefundAmount())); // 退款金额
|
|
|
+ }else{
|
|
|
+ payOrderInfoEntity.setPayStatus("2"); // 支付状态
|
|
|
+ payOrderInfoEntity.setRefundAmount(new BigDecimal(0)); // 退款金额
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ payOrderInfoEntity.setPayFlag(payFlag); // 支付方式
|
|
|
+ payOrderInfoEntity.setPayTime(payOrderDto.getPayTime()); // 交易时间
|
|
|
+
|
|
|
+ payOrderInfoEntity.setMerchOrderSn(payOrderDto.getMerchOrderSn()); // 订单号
|
|
|
+ payOrderInfoEntity.setCompared("0"); // 是否对比过
|
|
|
+ insertList.add(payOrderInfoEntity);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ payOrderInfoDao.saveBatch(insertList);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询所有未对比的订单
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<PayOrderInfoEntity> queryNoComparedOrder() {
|
|
|
+ return payOrderInfoDao.queryNoComparedOrder();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量修改数据
|
|
|
+ *
|
|
|
+ * @param payOrderInfoEntities
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void updateBatch(List<PayOrderInfoEntity> payOrderInfoEntities) {
|
|
|
+ payOrderInfoDao.updateBatch(payOrderInfoEntities);
|
|
|
+ }
|
|
|
+}
|