소스 검색

管乐迷商城改造

zouxuan 1 년 전
부모
커밋
eda721149b

+ 25 - 92
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -1,87 +1,24 @@
 package com.ym.mec.biz.service.impl;
 
-import static com.ym.mec.biz.dal.enums.DealStatusEnum.CLOSE;
-import static com.ym.mec.biz.dal.enums.DealStatusEnum.SUCCESS;
-
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
-
-import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.service.*;
-import com.ym.mec.common.entity.OrderSkuSync;
-import com.ym.mec.thirdparty.exception.ThirdpartyException;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.http.HttpStatus;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
-import com.ym.mec.biz.dal.dao.GoodsDao;
-import com.ym.mec.biz.dal.dao.GoodsProcurementDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.SellOrderDao;
-import com.ym.mec.biz.dal.dao.StudentDao;
-import com.ym.mec.biz.dal.dao.StudentGoodsSellDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentRouteOrderDao;
-import com.ym.mec.biz.dal.dao.StudentRepairDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
-import com.ym.mec.biz.dal.dto.GoodsOrderItemVO;
-import com.ym.mec.biz.dal.dto.OperatingTotalIncomeDto;
-import com.ym.mec.biz.dal.dto.PageInfoOrder;
-import com.ym.mec.biz.dal.dto.SporadicChargeInfoDto;
-import com.ym.mec.biz.dal.dto.StudentGoodsSellDto;
-import com.ym.mec.biz.dal.dto.StudentPaymentOrderDto;
-import com.ym.mec.biz.dal.dto.StudentPaymentOrderExportDto;
-import com.ym.mec.biz.dal.enums.AccountType;
-import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
-import com.ym.mec.biz.dal.enums.DealStatusEnum;
-import com.ym.mec.biz.dal.enums.GoodsType;
-import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
-import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
-import com.ym.mec.biz.dal.enums.OrderTypeEnum;
-import com.ym.mec.biz.dal.enums.PayStatus;
-import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
-import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
-import com.ym.mec.biz.dal.enums.SellStatus;
-import com.ym.mec.biz.dal.enums.SellTypeEnum;
-import com.ym.mec.biz.dal.enums.SporadicChargeTypeEnum;
-import com.ym.mec.biz.dal.enums.StockType;
-import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.SporadicOrderQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
 import com.ym.mec.biz.dal.vo.StudentPaymentOrderVo;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.MallCreateOrderModel;
 import com.ym.mec.common.entity.OrderCancelModel;
+import com.ym.mec.common.entity.OrderSkuSync;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.PageUtil;
@@ -94,15 +31,29 @@ import com.ym.mec.thirdparty.adapay.Payment;
 import com.ym.mec.thirdparty.adapay.entity.BaseResult;
 import com.ym.mec.thirdparty.adapay.entity.HfMerchantConfig;
 import com.ym.mec.thirdparty.yeepay.YeepayPaymentService;
-import com.ym.mec.thirdparty.yqpay.DateUtils;
-import com.ym.mec.thirdparty.yqpay.Msg;
-import com.ym.mec.thirdparty.yqpay.RsqMsg;
-import com.ym.mec.thirdparty.yqpay.YqPayFeignService;
-import com.ym.mec.thirdparty.yqpay.YqPayUtil;
+import com.ym.mec.thirdparty.yqpay.*;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.http.HttpStatus;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
+
+import static com.ym.mec.biz.dal.enums.DealStatusEnum.CLOSE;
+import static com.ym.mec.biz.dal.enums.DealStatusEnum.SUCCESS;
 
 @Service
 public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, StudentPaymentOrder> implements StudentPaymentOrderService {
@@ -190,8 +141,6 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     @Resource
     private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
     @Resource
-    private MusicGroupPaymentCalenderAddressService musicGroupPaymentCalenderAddressService;
-    @Resource
     private StudentRepairDao studentRepairDao;
     @Resource
     private MusicGroupDao musicGroupDao;
@@ -2216,23 +2165,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
             return;
         }
         List<String> orderNos = orderSkuSyncs.stream().map(e -> e.getOrderNo()).collect(Collectors.toList());
-        Map<String, List<OrderSkuSync.SkuSync>> skuMap = orderSkuSyncs.stream().collect(Collectors.toMap(OrderSkuSync::getOrderNo, OrderSkuSync::getSkuSyncList));
         List<SellOrder> sellOrders = sellOrderDao.queryByOrganNos(orderNos);
-        //检查学校商品采购订单
-        List<MusicGroupPaymentCalenderAddress> calenderAddresses = musicGroupPaymentCalenderAddressService.lambdaQuery().
-                in(MusicGroupPaymentCalenderAddress::getOrderNo, orderNos).
-                eq(MusicGroupPaymentCalenderAddress::getDeliveryFlag, false).list();
-        if (CollectionUtils.isNotEmpty(calenderAddresses)) {
-            Map<String, MusicGroupPaymentCalenderAddress> addressMap = calenderAddresses.stream().
-                    collect(Collectors.toMap(MusicGroupPaymentCalenderAddress::getOrderNo, e -> e));
-            List<String> addressOrders = calenderAddresses.stream().map(MusicGroupPaymentCalenderAddress::getOrderNo).collect(Collectors.toList());
-            for (String addressOrder : addressOrders) {
-                MusicGroupPaymentCalenderAddress address = addressMap.get(addressOrder);
-                address.setDeliveryDetail(JSON.toJSONString(skuMap.get(addressOrder)));
-                address.setDeliveryFlag(true);
-            }
-            musicGroupPaymentCalenderAddressService.updateBatchById(calenderAddresses);
-        }
         if (CollectionUtils.isEmpty(sellOrders)) {
             return;
         }

+ 40 - 137
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentRouteOrderServiceImpl.java

@@ -1,89 +1,78 @@
 package com.ym.mec.biz.service.impl;
 
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.Map.Entry;
-import java.util.stream.Collectors;
-
-import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.ComplementGoodsDto;
+import com.ym.mec.biz.dal.dto.PageInfoOrder;
+import com.ym.mec.biz.dal.dto.StudentPaymentRouteOrderDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
+import com.ym.mec.biz.service.MusicGroupCalenderRefundPeriodService;
+import com.ym.mec.biz.service.SellOrderService;
+import com.ym.mec.biz.service.StudentPaymentOrderService;
+import com.ym.mec.biz.service.StudentPaymentRouteOrderService;
 import com.ym.mec.common.api.CommonResult;
+import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.dto.OrderCreate;
 import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.common.entity.OrderSkuSync;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
+import com.ym.mec.common.service.IdGeneratorService;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.mall.MallFeignService;
+import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.excel.POIUtil;
 import com.ym.mec.util.ini.IniFileUtil;
-
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.ym.mec.biz.dal.dto.PageInfoOrder;
-import com.ym.mec.biz.dal.dto.StudentPaymentRouteOrderDto;
-import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
-import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.QueryInfo;
-import com.ym.mec.common.service.IdGeneratorService;
-import com.ym.mec.common.service.impl.BaseServiceImpl;
-import com.ym.mec.util.collection.MapUtil;
-
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.Map.Entry;
+import java.util.stream.Collectors;
+
 @Service
 public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, StudentPaymentRouteOrder> implements StudentPaymentRouteOrderService {
 
-    @Autowired
+    @Resource
     private StudentPaymentRouteOrderDao studentPaymentRouteOrderDao;
-    @Autowired
+    @Resource
     private SysUserCashAccountDao sysUserCashAccountDao;
-    @Autowired
+    @Resource
     private StudentPaymentOrderService studentPaymentOrderService;
-    @Autowired
+    @Resource
     private IdGeneratorService idGeneratorService;
-    @Autowired
+    @Resource
     private SellOrderDao sellOrderDao;
-    @Autowired
+    @Resource
     private GoodsDao goodsDao;
-    @Autowired
+    @Resource
     private SellOrderService sellOrderService;
-    @Autowired
+    @Resource
     private SysUserFeignService sysUserFeignService;
-    @Autowired
+    @Resource
     private TeacherDao teacherDao;
-    @Autowired
+    @Resource
     private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
-    @Autowired
+    @Resource
     private MusicGroupPaymentCalenderDetailDao musicGroupPaymentCalenderDetailDao;
-    @Autowired
+    @Resource
     private MusicGroupCalenderRefundPeriodService musicGroupCalenderRefundPeriodService;
-    @Autowired
+    @Resource
     private MallFeignService mallFeignService;
-    @Autowired
-    private MusicGroupPaymentCalenderAddressService musicGroupPaymentCalenderAddressService;
-    @Autowired
-    private MusicGroupPaymentCalenderGoodsService musicGroupPaymentCalenderGoodsService;
-    @Autowired
-    private SysPaymentConfigService sysPaymentConfigService;
-    @Autowired
-    private MusicGroupDao musicGroupDao;
 
     @Override
     public BaseDAO<Long, StudentPaymentRouteOrder> getDAO() {
@@ -210,29 +199,10 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
         studentPaymentRouteOrder.setUpdateTime(nowDate);
         studentPaymentRouteOrder.setAuditComment(memo);
         studentPaymentRouteOrder.setAuditStatus(auditStatus);
-        MusicGroupPaymentCalender musicGroupPaymentCalender = null;
-        MusicGroupPaymentCalenderAddress address = null;
-        MusicGroup musicGroup = null;
-        //是否同步过商城的发货数据
-        Boolean syncFlag = true;
-        if (auditStatus == AuditStatusEnum.PASS) {
-            if (studentPaymentRouteOrder.getCalenderId() != null) {
-                musicGroupPaymentCalender = musicGroupPaymentCalenderDao.get(studentPaymentRouteOrder.getCalenderId());
-                musicGroup = musicGroupDao.get(musicGroupPaymentCalender.getMusicGroupId());
-                if(musicGroupPaymentCalender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.GOODS_PURCHASE){
-                    address = musicGroupPaymentCalenderAddressService.lambdaQuery().
-                            eq(MusicGroupPaymentCalenderAddress::getCalenderId, studentPaymentRouteOrder.getCalenderId()).one();
-                    StudentPaymentOrder addressOrder = studentPaymentOrderService.findOrderByOrderNo(address.getOrderNo());
-                    syncFlag = Objects.nonNull(addressOrder);
-                    if (!syncFlag){
-                        orderNo = address.getOrderNo();
-                    }
-                }
-            }
-            studentPaymentRouteOrder.setOrderNo(orderNo);
-        }
+        studentPaymentRouteOrder.setOrderNo(orderNo);
         studentPaymentRouteOrderDao.update(studentPaymentRouteOrder);
         if (auditStatus == AuditStatusEnum.PASS) {
+            MusicGroupPaymentCalender musicGroupPaymentCalender = musicGroupPaymentCalenderDao.get(studentPaymentRouteOrder.getCalenderId());
             StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
             studentPaymentOrder.setActualAmount(studentPaymentRouteOrder.getRouteAmount());
             if(studentPaymentRouteOrder.getSchoolId() != null) {
@@ -275,7 +245,7 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
                         goodsIdList.add(goodsId);
                     }
                 }
-                List<SellOrder> sellOrders = sellOrderService.initSellOrder(studentPaymentOrder, musicGroup==null?null:musicGroup.getId(), goodsIdList, null, false);
+                List<SellOrder> sellOrders = sellOrderService.initSellOrder(studentPaymentOrder, null, goodsIdList, null, false);
                 sellOrderService.batchInsert(sellOrders);
                 if(calender == null || calender.getPaymentType() != MusicGroupPaymentCalender.PaymentType.GOODS_PURCHASE){
                     OrderCreate mallOrder = new OrderCreate();
@@ -315,73 +285,6 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
             if (studentPaymentRouteOrder.getCalenderId() == null) {
                 return true;
             }
-            //同步商城的发货数据
-            if(!syncFlag){
-                List<MusicGroupPaymentCalenderGoods> calenderGoods = musicGroupPaymentCalenderGoodsService.lambdaQuery()
-                        .eq(MusicGroupPaymentCalenderGoods::getCalenderId, studentPaymentRouteOrder.getCalenderId()).list();
-                List<SellOrder> sellOrderList = new ArrayList<>();
-                for (MusicGroupPaymentCalenderGoods calenderGood : calenderGoods) {
-                    //待分配金额
-                    for (Integer i = 0; i < calenderGood.getNum(); i++) {
-                        List<ComplementGoodsDto> goodsDtoList = JSON.parseArray(calenderGood.getChildGoodsJson(), ComplementGoodsDto.class);
-                        //获取总成本
-                        BigDecimal totalCostPrice = goodsDtoList.stream().map(e->e.getOrganCostPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
-                        //待分配金额
-                        BigDecimal totalAmount = calenderGood.getSinglePrice();
-                        BigDecimal waitAmount = totalAmount;
-                        for (int j = 0; j < goodsDtoList.size(); j++) {
-                            ComplementGoodsDto goodsDto = goodsDtoList.get(j);
-                            //获取比例
-                            BigDecimal proportion = BigDecimal.ZERO;
-                            if (totalCostPrice.compareTo(BigDecimal.ZERO) > 0) {
-                                proportion = goodsDto.getOrganCostPrice().divide(totalCostPrice, 2, BigDecimal.ROUND_HALF_UP);
-                            }
-                            SellOrder sellOrder = new SellOrder();
-                            sellOrder.setGoodsSkuId(goodsDto.getSkuStockId());
-                            sellOrder.setOrganSellCost(goodsDto.getOrganCostPrice());
-                            sellOrder.setOrderId(studentPaymentOrder.getOrganId().longValue());
-                            sellOrder.setType(StringUtils.endsWithIgnoreCase("INSTRUMENT", calenderGood.getGoodsType()) ? SellTypeEnum.INSTRUMENT
-                                    : StringUtils.endsWithIgnoreCase("ACCESSORIES", calenderGood.getGoodsType()) ? SellTypeEnum.ACCESSORIES
-                                    : StringUtils.endsWithIgnoreCase("TEACHING", calenderGood.getGoodsType()) ? SellTypeEnum.TEACHING
-                                    : StringUtils.endsWithIgnoreCase("STAFF", calenderGood.getGoodsType()) ? SellTypeEnum.STAFF
-                                    : SellTypeEnum.OTHER);
-                            sellOrder.setOrderNo(orderNo);
-                            if (j == goodsDtoList.size() - 1) {
-                                sellOrder.setOrderAmount(waitAmount);
-                            } else {
-                                BigDecimal amount = totalAmount.multiply(proportion);
-                                waitAmount = waitAmount.subtract(amount);
-                                sellOrder.setOrderAmount(amount);
-                            }
-                            sellOrder.setActualAmount(sellOrder.getOrderAmount());
-                            sellOrder.setExpectAmount(sellOrder.getOrderAmount());
-                            sellOrder.setCouponRemitAmount(BigDecimal.ZERO);
-                            sellOrder.setBalanceAmount(BigDecimal.ZERO);
-                            sellOrder.setParentGoodsId(calenderGood.getGoodsId());
-                            sellOrder.setNum(1);
-                            sellOrder.setGoodsName(calenderGood.getGoodsName());
-                            sellOrder.setAccountType(AccountType.INTERNAL);
-                            sellOrder.setCooperationOrganId(musicGroup.getCooperationOrganId());
-                            sellOrder.setEduTeacherId(musicGroup.getEducationalTeacherId());
-                            sellOrder.setTransNo(studentPaymentOrder.getTransNo());
-                            sellOrder.setPaymentChannel(studentPaymentOrder.getPaymentChannel());
-                            sellOrder.setMerNo(studentPaymentOrder.getMerNos());
-                            sellOrder.setSellTime(studentPaymentOrder.getCreateTime());
-                            sellOrder.setTenantId(studentPaymentOrder.getTenantId());
-                            sellOrderList.add(sellOrder);
-                        }
-                    }
-                }
-                sellOrderService.batchInsert(sellOrderList);
-                if(address.getDeliveryFlag()){
-                    OrderSkuSync orderSkuSync = new OrderSkuSync();
-                    orderSkuSync.setOrderNo(orderNo);
-                    orderSkuSync.setSkuSyncList(JSONArray.parseArray(address.getDeliveryDetail(), OrderSkuSync.SkuSync.class));
-                    List<OrderSkuSync> orderSkuSyncs = new ArrayList<>();
-                    orderSkuSyncs.add(orderSkuSync);
-                    studentPaymentOrderService.updateShippedStatus(orderSkuSyncs);
-                }
-            }
 
             //根据学校缴费项id,确定缴费状态
 //            BigDecimal amount = studentPaymentRouteOrderDao.sumAmountByCalenderId(studentPaymentRouteOrder.getCalenderId());