소스 검색

Merge remote-tracking branch 'origin/zx_saas_goods' into zx_saas_goods

yuanliang 1 년 전
부모
커밋
317de1f834

+ 3 - 8
mec-application/src/main/java/com/ym/mec/web/controller/APIController.java

@@ -12,12 +12,7 @@ import com.ym.mec.biz.service.*;
 import com.ym.mec.biz.service.impl.GoodsServiceImpl;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.dto.SchoolDto;
-import com.ym.mec.common.entity.GoodsSubModel;
-import com.ym.mec.common.entity.GoodsSubStockModel;
-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.RefundModel;
+import com.ym.mec.common.entity.*;
 import com.ym.mec.thirdparty.adapay.entity.BaseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -172,8 +167,8 @@ public class APIController extends BaseController {
 
 	// 同步商城订单发货状态
 	@PostMapping("/updateShippedStatus")
-	public HttpResponseResult updateShippedStatus(@RequestBody List<String> orderNo) throws Exception {
-		studentPaymentOrderService.updateShippedStatus(orderNo);
+	public HttpResponseResult updateShippedStatus(@RequestBody List<OrderSkuSync> orderSkuSyncs) throws Exception {
+		studentPaymentOrderService.updateShippedStatus(orderSkuSyncs);
 		return succeed();
 	}
 

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SellOrderDao.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dto.StudentPaymentOrderExportDto;
 import com.ym.mec.biz.dal.entity.OperatingReport;
 import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.OrderSkuSync;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
@@ -243,4 +244,6 @@ public interface SellOrderDao extends BaseDAO<Integer, SellOrder> {
     List<String> getMallProductCategory(@Param("database") String database);
 
     void updateShippedStatus(@Param("orderNos") List<String> orderNos);
+
+    void updateOrganGoodsCost(@Param("orderSkuSync") OrderSkuSync orderSkuSync);
 }

+ 70 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MusicGroupCalenderRefundPeriodWrapper.java

@@ -0,0 +1,70 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import java.math.BigDecimal;
+
+public class MusicGroupCalenderRefundPeriodWrapper {
+
+
+    @Data
+    public static class MusicGroupCalenderRefundPeriod {
+
+        /**  */
+        private Integer id;
+
+        @ApiModelProperty(value = "分部",required = false)
+        private Integer organId;
+
+        @ApiModelProperty(value = "合作单位编号",required = false)
+        private Integer cooperationOrganId;
+
+        @ApiModelProperty(value = "缴费项目编号",required = false)
+        private Long calenderId;
+
+        @ApiModelProperty(value = "回款时间",required = false)
+        private String refundDate;
+
+        @ApiModelProperty(value = "回款金额",required = false)
+        private java.math.BigDecimal refundAmount;
+
+        @ApiModelProperty(value = "已回款金额",required = false)
+        private java.math.BigDecimal income = BigDecimal.ZERO;
+
+        @ApiModelProperty(value = "剩余待回款金额",required = false)
+        private java.math.BigDecimal subRefundAmount;
+
+        @ApiModelProperty(value = "是否完成回款",required = false)
+        private Boolean refundFlag = false;
+
+        @ApiModelProperty(value = "订单编号",required = false)
+        private String orderNos;
+
+        @ApiModelProperty(value = "备注",required = false)
+        private String memo;
+
+        @ApiModelProperty(value = "责任人",required = false)
+        private Integer responsiblePerson;
+
+
+        @ApiModelProperty(value = "责任人",required = false)
+        private String responsiblePersonName;
+
+        @ApiModelProperty(value = "是否发送回款提醒",required = false)
+        private Boolean sendRemind = false;
+
+        /**  */
+        private java.util.Date createTime;
+
+        /**  */
+        private java.util.Date updateTime;
+
+        @Override
+        public String toString() {
+            return ToStringBuilder.reflectionToString(this);
+        }
+
+    }
+}

+ 67 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MusicGroupPaymentCalenderAddressWrapper.java

@@ -0,0 +1,67 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class MusicGroupPaymentCalenderAddressWrapper {
+
+
+    @Data
+    public static class MusicGroupPaymentCalenderAddress{
+        @ApiModelProperty(value = "主键")
+        private Long id;
+
+        @ApiModelProperty(value = "缴费项目编号")
+        private Long calenderId;
+
+        @ApiModelProperty("订单编号")
+        private String orderNo;
+
+        @ApiModelProperty("是否发货")
+        private Boolean deliveryFlag = false;
+
+        @ApiModelProperty(value = "收货人")
+        private String name;
+
+        @ApiModelProperty(value = "收货人手机号")
+        private String phone;
+
+        @ApiModelProperty(value = "省")
+        private String province;
+
+        @ApiModelProperty(value = "市")
+        private String city;
+
+        @ApiModelProperty(value = "区")
+        private String region;
+
+
+        @ApiModelProperty(value = "省")
+        private String provinceName;
+
+        @ApiModelProperty(value = "市")
+        private String cityName;
+
+        @ApiModelProperty(value = "区")
+        private String regionName;
+
+        @ApiModelProperty(value = "邮编")
+        private String postCode;
+
+        @ApiModelProperty(value = "详细地址")
+        private String address;
+
+        @ApiModelProperty(value = "创建时间")
+        private Date createTime;
+
+        @ApiModelProperty(value = "更新时间")
+        private Date updateTime;
+    }
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -6,6 +6,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.common.entity.OrderSkuSync;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
@@ -276,5 +277,5 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
     List<OperatingTotalIncomeDto> queryOperatingSummaryIncome(Map<String, Object> params);
 
     //商品已发货
-    void updateShippedStatus(List<String> orderNo);
+    void updateShippedStatus(List<OrderSkuSync> orderSkuSyncs);
 }

+ 35 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -14,6 +14,8 @@ import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.BaseOrganQueryInfo;
 import com.ym.mec.biz.dal.page.MusicGroupPaymentCalenderQueryInfo;
+import com.ym.mec.biz.dal.wrapper.MusicGroupCalenderRefundPeriodWrapper;
+import com.ym.mec.biz.dal.wrapper.MusicGroupPaymentCalenderAddressWrapper;
 import com.ym.mec.biz.event.source.GroupEventSource;
 import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.biz.service.*;
@@ -579,7 +581,21 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
         }
         //获取商品采购信息
         result.put("goods",musicGroupPaymentCalenderGoodsService.lambdaQuery().eq(MusicGroupPaymentCalenderGoods::getCalenderId,calenderId).list());
-        result.put("address",musicGroupPaymentCalenderAddressService.lambdaQuery().eq(MusicGroupPaymentCalenderAddress::getCalenderId,calenderId).one());
+        MusicGroupPaymentCalenderAddress one = musicGroupPaymentCalenderAddressService.lambdaQuery().eq(MusicGroupPaymentCalenderAddress::getCalenderId, calenderId).one();
+        MusicGroupPaymentCalenderAddressWrapper.MusicGroupPaymentCalenderAddress musicGroupPaymentCalenderAddress = JSON
+            .parseObject(JSON.toJSONString(one), MusicGroupPaymentCalenderAddressWrapper.MusicGroupPaymentCalenderAddress.class);
+
+        // 查询地区信息
+        List<String> areaIds = new ArrayList<>();
+        areaIds.add(one.getProvince());
+        areaIds.add(one.getCity());
+        areaIds.add(one.getRegion());
+        areaIds = areaIds.stream().filter(StringUtils::isNotBlank).distinct().collect(Collectors.toList());
+        Map<String, String> nameMapByIds = sysAreaService.getNameMapByIds(areaIds);
+        musicGroupPaymentCalenderAddress.setProvinceName(nameMapByIds.getOrDefault(one.getProvince(),""));
+        musicGroupPaymentCalenderAddress.setCityName(nameMapByIds.getOrDefault(one.getCity(),""));
+        musicGroupPaymentCalenderAddress.setRegionName(nameMapByIds.getOrDefault(one.getRegion(),""));
+        result.put("address", musicGroupPaymentCalenderAddress);
         return result;
     }
 
@@ -600,7 +616,24 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
         }
         //如果是学校缴费并且金额不为0,返回费用信息
         if (calender.getPayUserType() == SCHOOL && calender.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) > 0){
-            result.put("calenderRefundPeriods",musicGroupCalenderRefundPeriodService.findByCalenderId(id));
+            List<MusicGroupCalenderRefundPeriod> list = musicGroupCalenderRefundPeriodService.findByCalenderId(id);
+            if (CollectionUtils.isEmpty(list)) {
+
+                result.put("calenderRefundPeriods", list);
+            } else {
+                List<MusicGroupCalenderRefundPeriodWrapper.MusicGroupCalenderRefundPeriod> parseArray = JSON.parseArray(JSON.toJSONString(list), MusicGroupCalenderRefundPeriodWrapper.MusicGroupCalenderRefundPeriod.class);
+
+                List<Integer> userIds = list.stream().map(o -> o.getResponsiblePerson()).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+                if (CollectionUtils.isNotEmpty(userIds)) {
+                    Map<Long, SysUser> mapByIds = sysUserService.getMapByIds(userIds);
+                    parseArray.forEach(o -> {
+                        if (o.getResponsiblePerson() != null) {
+                            o.setResponsiblePersonName(mapByIds.getOrDefault(o.getResponsiblePerson().longValue(),new SysUser()).getRealName());
+                        }
+                    });
+                }
+                result.put("calenderRefundPeriods", parseArray);
+            }
         }
 
         if (calender.getOrganId() != null) {

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SellOrderServiceImpl.java

@@ -274,7 +274,7 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
     public List<SellOrder> addOrderDetail2SellOrder(List<StudentPaymentOrderDetail> orderDetails,
                                                     StudentPaymentOrder studentPaymentOrder, MusicGroup musicGroup,BigDecimal balancePaymentAmount) {
         //过去非商品详情
-        List<StudentPaymentOrderDetail> goodsOrderDetails = orderDetails.stream().filter(e -> StringUtils.isEmpty(e.getGoodsIdList())).collect(Collectors.toList());
+        List<StudentPaymentOrderDetail> goodsOrderDetails = orderDetails.stream().filter(e -> StringUtils.isNotEmpty(e.getGoodsIdList())).collect(Collectors.toList());
         if(CollectionUtils.isEmpty(goodsOrderDetails)){
             throw new BizException("商品详情为空");
         }
@@ -292,7 +292,7 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
         //剩余待分配现金
         BigDecimal subDetailActualAmount = detailTotalPrice.subtract(balancePaymentAmount);
         for (int i = 0; i < goodsOrderDetails.size(); i++) {
-            StudentPaymentOrderDetail orderDetail = orderDetails.get(i);
+            StudentPaymentOrderDetail orderDetail = goodsOrderDetails.get(i);
             //获取支付金额比例
             BigDecimal ratioAmount = BigDecimal.ZERO;
             if(detailTotalPrice.compareTo(BigDecimal.ZERO) > 0){
@@ -561,7 +561,7 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
     public List<OrderCreate.OrderItem> convertMallOrder(List<SellOrder> sellOrderList) {
         List<OrderCreate.OrderItem> orderItems = new ArrayList<>();
         for (SellOrder e : sellOrderList) {
-            List<GoodsSub> list = goodsSubService.lambdaQuery().eq(GoodsSub::getGoodsId, e.getGoodsId()).list();
+            List<GoodsSub> list = goodsSubService.lambdaQuery().eq(GoodsSub::getGoodsId, e.getParentGoodsId()).list();
             if(CollectionUtils.isEmpty(list)){
                 throw new RuntimeException("子商品不存在,请联系管理员");
             }
@@ -593,6 +593,7 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void syncSellOrder2Mall(List<SellOrder> sellOrders, StudentPaymentOrder studentPaymentOrder) {
         List<OrderCreate.OrderItem> orderItems = this.convertMallOrder(sellOrders);
         OrderCreate mallOrder = new OrderCreate();

+ 7 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -20,6 +20,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
 import com.ym.mec.biz.service.*;
+import com.ym.mec.common.entity.OrderSkuSync;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -2202,8 +2203,12 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public void updateShippedStatus(List<String> orderNo) {
-        sellOrderDao.updateShippedStatus(orderNo);
+    @Transactional(rollbackFor = Exception.class)
+    public void updateShippedStatus(List<OrderSkuSync> orderSkuSyncs) {
+        for (OrderSkuSync orderSkuSync : orderSkuSyncs) {
+            //更新商品订单成本
+            sellOrderDao.updateOrganGoodsCost(orderSkuSync);
+        }
     }
 
     public BigDecimal getActualAmount(BigDecimal price, StudentPaymentOrderExportDto row) {

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/SellOrderMapper.xml

@@ -281,6 +281,12 @@
             #{orderNo}
         </foreach>
     </update>
+    <update id="updateOrganGoodsCost">
+        <foreach collection="orderSkuSync.skuSyncList" item="sellOrder" separator=";">
+            update sell_order SET organ_sell_cost_ = #{sellOrder.price} ,delivery_time_ = NOW()
+                              where order_no_ = #{orderSkuSync.orderNo} AND goods_sku_id_ = #{sellOrder.sku}
+        </foreach>
+    </update>
 
     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
         insert into sell_order (organ_id_, cooperation_organ_id_, trans_no_,order_id_, order_no_, expect_amount_,

+ 0 - 2
mec-client-api/src/main/java/com/ym/mec/web/WebFeignService.java

@@ -60,8 +60,6 @@ public interface WebFeignService {
 	@PostMapping("/api/cancelOrder")
 	HttpResponseResult<OrderCancelModel> cancelOrder(@RequestParam("orderNo") String orderNo,@RequestParam("reason") String reason);
 
-
-
 	@PostMapping("/api/mallSaveOrderInfo")
 	HttpResponseResult<Map> mallSaveOrderInfo(@RequestBody MallCreateOrderModel model);
 

+ 1 - 0
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderServiceImpl.java

@@ -725,6 +725,7 @@ public class OmsOrderServiceImpl implements OmsOrderService {
             omsOrderItem.setOrderId(detail.getId());
             omsOrderItem.setOrderSn(detail.getOrderSn());
             omsOrderItem.setProductId(pmsProduct.getId());
+            omsOrderItem.setProductSn(pmsProduct.getProductSn());
             omsOrderItem.setProductPic(pmsProduct.getPic());
             omsOrderItem.setProductName(pmsProduct.getName());
             omsOrderItem.setProductBrand(pmsProduct.getBrandName());