Explorar el Código

管乐迷商城改造

zouxuan hace 1 año
padre
commit
6068fd6b2c

+ 1 - 20
mec-application/src/main/java/com/ym/mec/web/controller/StudentPaymentRouteOrderController.java

@@ -1,13 +1,9 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.biz.dal.dao.SellOrderDao;
 import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentRouteOrderDao;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.OutOrderInfoDto;
 import com.ym.mec.biz.dal.dto.StudentPaymentRouteOrderDto;
-import com.ym.mec.biz.dal.entity.SellOrder;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
@@ -43,10 +39,6 @@ public class StudentPaymentRouteOrderController extends BaseController {
     private OrganizationService organizationService;
     @Autowired
     private StudentPaymentOrderDao studentPaymentOrderDao;
-    @Autowired
-    private SellOrderDao sellOrderDao;
-    @Autowired
-    private StudentPaymentRouteOrderDao studentPaymentRouteOrderDao;
 
     @ApiOperation(value = "财务订单列表")
     @GetMapping("/finance")
@@ -143,18 +135,7 @@ public class StudentPaymentRouteOrderController extends BaseController {
     @GetMapping("/getOrderInfo")
     @PreAuthorize("@pcs.hasPermissions('routeOrder/getOrderInfo')")
     public HttpResponseResult<OutOrderInfoDto> getOrderInfo(Long orderId) {
-        OutOrderInfoDto outOrderInfoDto = new OutOrderInfoDto();
-        StudentPaymentOrder order = studentPaymentOrderDao.get(orderId);
-        outOrderInfoDto.setStudentPaymentOrder(order);
-        StudentPaymentRouteOrder routeOrder = studentPaymentRouteOrderDao.getByOrderNo(order.getOrderNo());
-        outOrderInfoDto.setCalenderId(routeOrder.getCalenderId());
-        List<SellOrder> sellOrders = sellOrderDao.getOrderSellOrder(orderId);
-        BigDecimal goodsAmount = sellOrders.stream().map(SellOrder::getActualAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
-        BigDecimal serviceAmount = outOrderInfoDto.getStudentPaymentOrder().getActualAmount().subtract(goodsAmount);
-        outOrderInfoDto.setServiceAmount(serviceAmount);
-        outOrderInfoDto.setGoodsAmount(goodsAmount);
-        outOrderInfoDto.setSellOrders(sellOrders);
-        return succeed(outOrderInfoDto);
+        return succeed(studentPaymentRouteOrderService.getRouteOrder(orderId));
     }
 
     @ApiOperation(value = "删除订单")

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/GoodsNameDto.java

@@ -0,0 +1,20 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class GoodsNameDto {
+	@ApiModelProperty(value = "商品数量", required = false)
+	private Integer goodsNum = 1;
+
+	@ApiModelProperty(value = "商品编号", required = false)
+	private Integer goodsId;
+
+	@ApiModelProperty(value = "商品名称", required = false)
+	private String goodsName;
+
+}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/OutOrderInfoDto.java

@@ -20,8 +20,19 @@ public class OutOrderInfoDto {
     @ApiModelProperty(value = "缴费单号",required = true)
     private Long calenderId;
 
+    @ApiModelProperty(value = "合作单位",required = true)
+    private String coopName;
+
     private List<SellOrder> sellOrders;
 
+    public String getCoopName() {
+        return coopName;
+    }
+
+    public void setCoopName(String coopName) {
+        this.coopName = coopName;
+    }
+
     public List<SellOrder> getSellOrders() {
         return sellOrders;
     }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentRouteOrderService.java

@@ -5,6 +5,7 @@ import java.math.BigDecimal;
 import java.util.List;
 
 import com.ym.mec.biz.dal.dao.StudentPaymentRouteOrderDao;
+import com.ym.mec.biz.dal.dto.OutOrderInfoDto;
 import com.ym.mec.biz.dal.dto.PageInfoOrder;
 import com.ym.mec.biz.dal.dto.StudentPaymentRouteOrderDto;
 import com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder;
@@ -76,4 +77,6 @@ public interface StudentPaymentRouteOrderService extends BaseService<Long, Stude
 	 * @return
 	 */
 	HttpResponseResult<List<StudentPaymentRouteOrder>> importRouteOrder(MultipartFile file) throws Exception;
+
+    OutOrderInfoDto getRouteOrder(Long orderId);
 }

+ 7 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SellOrderServiceImpl.java

@@ -352,14 +352,16 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void mallRefundByOrderId(List<SellOrder> sellOrders) {
-        String skuIds = sellOrders.stream().map(e -> e.getGoodsSkuId().toString()).collect(Collectors.joining(","));
         ReturnApplyDto returnApply = new ReturnApplyDto();
         returnApply.setOrderSn(sellOrders.get(0).getOrderNo());
         returnApply.setReason("管乐迷商品更换退货");
-        returnApply.setSkuIds(skuIds);
-        CommonResult<Boolean> result = mallFeignService.returnApply(returnApply);
-        if (result.getCode() != 200){
-            throw new BizException("商城订单退货失败",result.getMessage());
+        if(sellOrders.get(0).getGoodsSkuId() != null){
+            String skuIds = sellOrders.stream().map(e -> e.getGoodsSkuId() == null ?"":e.getGoodsSkuId().toString()).collect(Collectors.joining(","));
+            returnApply.setSkuIds(skuIds);
+            CommonResult<Boolean> result = mallFeignService.returnApply(returnApply);
+            if (result.getCode() != 200){
+                throw new BizException("商城订单退货失败",result.getMessage());
+            }
         }
     }
 

+ 46 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentRouteOrderServiceImpl.java

@@ -5,9 +5,7 @@ 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.GoodsSellDto;
-import com.ym.mec.biz.dal.dto.PageInfoOrder;
-import com.ym.mec.biz.dal.dto.StudentPaymentRouteOrderDto;
+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.StudentPaymentOrderQueryInfo;
@@ -24,6 +22,7 @@ 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.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.stereotype.Service;
@@ -68,6 +67,8 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
     private MusicGroupPaymentCalenderDetailDao musicGroupPaymentCalenderDetailDao;
     @Resource
     private MusicGroupCalenderRefundPeriodService musicGroupCalenderRefundPeriodService;
+    @Resource
+    private CooperationOrganDao cooperationOrganDao;
 
     @Override
     public BaseDAO<Long, StudentPaymentRouteOrder> getDAO() {
@@ -511,4 +512,46 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
         return httpResponseResult;
     }
 
+    @Override
+    public OutOrderInfoDto getRouteOrder(Long orderId) {
+        OutOrderInfoDto outOrderInfoDto = new OutOrderInfoDto();
+        StudentPaymentOrder order = studentPaymentOrderService.get(orderId);
+        outOrderInfoDto.setStudentPaymentOrder(order);
+        StudentPaymentRouteOrder routeOrder = studentPaymentRouteOrderDao.getByOrderNo(order.getOrderNo());
+        String goodsJson = routeOrder.getGoodsJson();
+        if(StringUtils.isNotEmpty(goodsJson)){
+            JSONObject jsonObj = JSON.parseObject(goodsJson);
+            List<GoodsNameDto> goodsSellDtos = new ArrayList<>();
+            for (Map.Entry<String, Object> goodsMap : jsonObj.entrySet()) {
+                GoodsNameDto goodsSellDto = new GoodsNameDto();
+                goodsSellDto.setGoodsId(Integer.parseInt(goodsMap.getKey()));
+                goodsSellDto.setGoodsNum(Integer.parseInt(goodsMap.getValue().toString()));
+                goodsSellDtos.add(goodsSellDto);
+            }
+            List<Integer> goosIds = goodsSellDtos.stream().map(e -> e.getGoodsId()).collect(Collectors.toList());
+            List<Goods> goodies = goodsDao.getGoodies(goosIds);
+            if(CollectionUtils.isNotEmpty(goodies)){
+                Map<Integer, String> goodsMap = goodies.stream().collect(Collectors.toMap(Goods::getId, Goods::getName));
+                goodsSellDtos.forEach(e -> e.setGoodsName(goodsMap.get(e.getGoodsId())));
+            }
+        }
+        outOrderInfoDto.setCalenderId(routeOrder.getCalenderId());
+        if(order.getCooperationId() != null){
+            CooperationOrgan cooperationOrgan = cooperationOrganDao.get(order.getCooperationId());
+            if (cooperationOrgan != null) {
+                outOrderInfoDto.setCoopName(cooperationOrgan.getName());
+            }
+        }
+        List<SellOrder> sellOrders = sellOrderDao.getOrderSellOrder(orderId);
+        if(CollectionUtils.isNotEmpty(sellOrders)){
+            BigDecimal goodsAmount = sellOrders.stream().map(SellOrder::getActualAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+            outOrderInfoDto.setSellOrders(sellOrders);
+            BigDecimal serviceAmount = outOrderInfoDto.getStudentPaymentOrder().getActualAmount().subtract(goodsAmount);
+            outOrderInfoDto.setServiceAmount(serviceAmount);
+            outOrderInfoDto.setGoodsAmount(goodsAmount);
+        }
+
+        return outOrderInfoDto;
+    }
+
 }