刘俊驰 1 gadu atpakaļ
vecāks
revīzija
2482b66011

+ 5 - 1
mec-common/common-core/src/main/java/com/ym/mec/common/dto/OrderCreate.java

@@ -62,8 +62,12 @@ public class OrderCreate {
     private List<OrderItem> orderItemList;
 
 
-//    @ApiModelProperty(value = "订单来源:0->PC订单;1->app订单 2->学校采购")
+//    @ApiModelProperty(value = "订单来源:0->PC订单;1->app订单 2->学校采购 3 个人订单 4 其他订单")
     private Integer sourceType;
+
+
+//    @ApiModelProperty(value = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单")
+    private Integer status;
     @Data
     public static class OrderItem implements Serializable {
 

+ 38 - 0
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/OpenController.java

@@ -1,10 +1,12 @@
 package com.yonge.cooleshow.admin.controller.open;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.extension.api.R;
 import com.ym.mec.common.dto.PmsProductDto;
 import com.ym.mec.common.dto.PmsProductQueryParamDto;
 import com.ym.mec.common.page.PageInfo;
 import com.yonge.cooleshow.admin.controller.OmsOrderReturnApplyController;
+import com.yonge.cooleshow.admin.dto.OrderCreate;
 import com.yonge.cooleshow.admin.dto.PmsProductCategoryWithChildrenItem;
 import com.yonge.cooleshow.admin.service.*;
 import com.yonge.cooleshow.mall.common.api.CommonPage;
@@ -20,6 +22,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.MediaType;
 import org.springframework.stereotype.Controller;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -58,6 +61,9 @@ public class OpenController {
     @Autowired
     private PmsProductAttributeCategoryService productAttributeCategoryService;
 
+    @Autowired
+    private OmsOrderService orderService;
+
     private static final Logger log = LoggerFactory.getLogger(OmsOrderReturnApplyController.class);
 
     @ApiOperation("完成退货测试接口")
@@ -85,6 +91,38 @@ public class OpenController {
         return CommonResult.failed();
     }
 
+
+
+    /**
+     * 查询商品订单生成
+     * @param order ProductWrapper.OrderCreate
+     * @return String
+     */
+    @PostMapping(value = "/product/orderCreate", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
+    public R<Boolean> productOrderCreate(@RequestBody OrderCreate order) {
+
+        log.info("创建管乐迷订单:{}", JSON.toJSONString(order));
+
+        orderService.mecProductOrderCreate(order);
+
+
+        return R.ok(true);
+    }
+
+
+    // 同步订单状态,
+    /**
+     * 查询商品订单状态
+     * @param orderNo 订单编号
+     * @return status 订单状态  0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单
+     */
+    @GetMapping(value = "/product/updateOrderStatus", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
+    public boolean productUpdateOrderStatus(@RequestParam("orderNo") String orderNo,@RequestParam("status") Integer status) {
+        log.info("同步订单状态:{},{}", orderNo, status);
+        // 已发货订单不可修改状态
+        return orderService.productUpdateOrderStatus(orderNo, status);
+    }
+
     @PostMapping(value = "/product/list")
     @ResponseBody
     public PageInfo<PmsProductDto> getProductList(@RequestBody @Validated PmsProductQueryParamDto productQueryParam){

+ 6 - 2
mec-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/dto/OrderCreate.java → mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/dto/OrderCreate.java

@@ -1,4 +1,4 @@
-package com.yonge.cooleshow.portal.dto;
+package com.yonge.cooleshow.admin.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -58,9 +58,13 @@ public class OrderCreate {
 
     @ApiModelProperty(value = "详细地址")
     private String receiverDetailAddress;
-    @ApiModelProperty(value = "订单来源:0->PC订单;1->app订单 2->学校采购")
+    @ApiModelProperty(value = "订单来源:0->PC订单;1->app订单 2->学校采购 3 个人订单 4 其他订单")
     private Integer sourceType;
 
+
+    @ApiModelProperty(value = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单")
+    private Integer status;
+
     @ApiModelProperty("商品详情")
     private List<OrderItem> orderItemList;
 

+ 6 - 0
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/OmsOrderService.java

@@ -94,4 +94,10 @@ public interface OmsOrderService {
     HomeOrderStatistical orderStatistical(OrderStatisticalSearch search);
 
     List<OrderDetailVo> queryOrderDetail(OmsOrderQueryParam queryParam);
+
+
+    void mecProductOrderCreate(OrderCreate order);
+
+    // 同步订单状态,
+    boolean productUpdateOrderStatus(String orderNo, Integer status);
 }

+ 21 - 0
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/UmsMemberService.java

@@ -0,0 +1,21 @@
+package com.yonge.cooleshow.admin.service;
+
+import com.yonge.cooleshow.mbg.model.UmsMember;
+import org.springframework.security.core.userdetails.UserDetails;
+
+/**
+ * 会员管理Service
+ * Created by macro on 2018/8/3.
+ */
+public interface UmsMemberService {
+    /**
+     * 根据会员编号获取会员
+     */
+    UmsMember getById(Long id);
+
+
+    /**
+     * 获取当前登录会员
+     */
+    UmsMember getCurrentMember();
+}

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

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.admin.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.github.pagehelper.PageHelper;
 import com.google.common.collect.Lists;
 import com.ym.mec.common.dto.SchoolDto;
@@ -13,16 +14,10 @@ import com.yonge.cooleshow.admin.dao.OmsOrderOperateHistoryDao;
 import com.yonge.cooleshow.admin.dto.*;
 import com.yonge.cooleshow.admin.dto.search.OrderStatisticalSearch;
 import com.yonge.cooleshow.admin.dto.search.UserStatisticalSearch;
-import com.yonge.cooleshow.admin.service.OmsOrderReturnApplyService;
-import com.yonge.cooleshow.admin.service.PmsProductService;
-import com.yonge.cooleshow.admin.service.PmsSkuStockService;
-import com.yonge.cooleshow.mbg.mapper.OmsOrderItemMapper;
-import com.yonge.cooleshow.mbg.mapper.OmsOrderMapper;
-import com.yonge.cooleshow.mbg.mapper.OmsOrderOperateHistoryMapper;
-import com.yonge.cooleshow.mbg.mapper.PmsProductSkuStockRecordMapper;
-import com.yonge.cooleshow.mbg.model.*;
-import com.yonge.cooleshow.admin.service.OmsOrderService;
 import com.yonge.cooleshow.admin.enums.OrderStatisticalEnum;
+import com.yonge.cooleshow.admin.service.*;
+import com.yonge.cooleshow.mbg.mapper.*;
+import com.yonge.cooleshow.mbg.model.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -73,6 +68,21 @@ public class OmsOrderServiceImpl implements OmsOrderService {
     @Autowired
     private PmsSkuStockService pmsSkuStockService;
 
+
+    @Autowired
+    private OmsOrderSettingMapper orderSettingMapper;
+
+    @Autowired
+    private UmsMemberService umsMemberService;
+
+    @Autowired
+    private PmsSkuStockMapper skuStockMapper;
+
+    @Autowired
+    private PmsProductMapper pmsProductMapper;
+
+
+
     @Override
     public List<OrderVo> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum) {
         PageHelper.startPage(pageNum, pageSize);
@@ -125,9 +135,34 @@ public class OmsOrderServiceImpl implements OmsOrderService {
 
         // skuid 集合
         List<Long> skuIds = new ArrayList<>(skuIdMap.keySet());
+        updateSkuStock( skuIdMap, orderIds);
+
+
+        //添加操作记录
+        List<OmsOrderOperateHistory> operateHistoryList = deliveryParamList.stream()
+            .map(omsOrderDeliveryParam -> {
+                OmsOrderOperateHistory history = new OmsOrderOperateHistory();
+                history.setOrderId(omsOrderDeliveryParam.getOrderId());
+                history.setCreateTime(new Date());
+                history.setOperateMan("后台管理员");
+                history.setOrderStatus(2);
+                history.setNote("完成发货");
+                return history;
+            }).collect(Collectors.toList());
+        orderOperateHistoryDao.insertList(operateHistoryList);
+
+        return count;
+    }
+
+    /**
+     * 库存更新
+     */
+//    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateSkuStock(Map<Long, Integer> skuIdMap, List<Long> orderIds) {
         // 查询库存
         PmsProductSkuStockRecordExample stockRecordExample = new PmsProductSkuStockRecordExample();
-        stockRecordExample.createCriteria().andProductSkuIdIn(skuIds);
+        stockRecordExample.createCriteria().andProductSkuIdIn(new ArrayList<>(skuIdMap.keySet()));
         List<PmsProductSkuStockRecord> productSkuStockRecords = pmsProductSkuStockRecordMapper.selectByExample(stockRecordExample);
         if (CollectionUtils.isEmpty(productSkuStockRecords)) {
             throw new BizException("库存不足");
@@ -201,20 +236,6 @@ public class OmsOrderServiceImpl implements OmsOrderService {
             pmsProductSkuStockRecordMapper.updateByPrimaryKeySelective(pmsProductSkuStockRecord);
         }
 
-
-        //添加操作记录
-        List<OmsOrderOperateHistory> operateHistoryList = deliveryParamList.stream()
-                .map(omsOrderDeliveryParam -> {
-                    OmsOrderOperateHistory history = new OmsOrderOperateHistory();
-                    history.setOrderId(omsOrderDeliveryParam.getOrderId());
-                    history.setCreateTime(new Date());
-                    history.setOperateMan("后台管理员");
-                    history.setOrderStatus(2);
-                    history.setNote("完成发货");
-                    return history;
-                }).collect(Collectors.toList());
-        orderOperateHistoryDao.insertList(operateHistoryList);
-
         // 调用三方发货通知接口
         OmsOrderExample orderExample = new OmsOrderExample();
         orderExample.createCriteria().andIdIn(orderIds);
@@ -227,9 +248,7 @@ public class OmsOrderServiceImpl implements OmsOrderService {
         }
 
         // 调用三方库存更新接口
-        syncSkuStock(skuIds);
-
-        return count;
+        syncSkuStock(new ArrayList<>(skuIdMap.keySet()));
     }
 
     @Override
@@ -563,4 +582,136 @@ public class OmsOrderServiceImpl implements OmsOrderService {
         }
         return statisticalInfo;
     }
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void mecProductOrderCreate(OrderCreate order) {
+
+
+        // 查询订单是否已存在
+        OmsOrder detail = orderMapper.getByOrderSn(order.getOrderNo());
+        if (detail != null) {
+            throw new BizException("订单已存在");
+        }
+        UmsMember umsMember = null;
+        // 学校订单和其他订单没有个人信息
+        if (order.getPlatformType().equals("STUDENT")) {
+            umsMember = umsMemberService.getById(order.getMemberId());
+        }
+
+
+        // 创建订单
+
+        //设置自动收货天数
+        List<OmsOrderSetting> orderSettings = orderSettingMapper.selectByExample(new OmsOrderSettingExample());
+
+
+        detail = new OmsOrder();
+        detail.setOrchestraId(order.getOrchestraId());
+        detail.setOrderFormType(order.getOrderFormType());
+        detail.setMemberId(order.getMemberId());
+        detail.setPlatformType(order.getPlatformType());
+        detail.setOrderSn(order.getOrderNo());
+        detail.setCreateTime(new Date());
+        if (umsMember !=null) {
+            detail.setMemberUsername(umsMember.getUsername());
+        }
+        detail.setTotalAmount(order.getTotalAmount());
+        detail.setPayAmount(order.getTotalAmount());
+        detail.setFreightAmount(BigDecimal.ZERO);
+        detail.setPromotionAmount(BigDecimal.ZERO);
+        detail.setIntegrationAmount(BigDecimal.ZERO);
+        detail.setCouponAmount(BigDecimal.ZERO);
+        detail.setDiscountAmount(BigDecimal.ZERO);
+        detail.setPayType(order.getPayType());
+        detail.setConfirmStatus(0);
+        detail.setSourceType(order.getSourceType());
+        detail.setStatus(order.getStatus());
+        detail.setOrderType(0);
+        if (CollUtil.isNotEmpty(orderSettings)) {
+            detail.setAutoConfirmDay(orderSettings.get(0).getConfirmOvertime());
+        }
+        detail.setReceiverName(order.getReceiverName());
+        detail.setReceiverPhone(order.getReceiverPhone());
+        detail.setReceiverPostCode(order.getReceiverPostCode());
+        detail.setReceiverProvince(order.getReceiverProvince());
+        detail.setReceiverCity(order.getReceiverCity());
+        detail.setReceiverRegion(order.getReceiverRegion());
+        detail.setReceiverDetailAddress(order.getReceiverDetailAddress());
+        detail.setDeleteStatus(0);
+        detail.setPaymentTime(new Date());
+        detail.setAfterSale(1);
+        detail.setModifyTime(new Date());
+        orderMapper.insert(detail);
+
+        List<OmsOrderItem> orderItemList = new ArrayList<>();
+        // 创建订单详情
+        for (OrderCreate.OrderItem orderItem : order.getOrderItemList()) {
+
+            // 获取商品信息
+            PmsSkuStock pmsSkuStock = skuStockMapper.selectByPrimaryKey(orderItem.getProductSkuId());
+            if (pmsSkuStock == null) {
+                throw new BizException("商品规格不存在");
+            }
+            PmsProduct pmsProduct = pmsProductMapper.selectByPrimaryKey(pmsSkuStock.getProductId());
+
+            if (pmsProduct == null) {
+                throw new BizException("商品不存在");
+            }
+
+            OmsOrderItem omsOrderItem = new OmsOrderItem();
+            omsOrderItem.setOrderId(detail.getId());
+            omsOrderItem.setOrderSn(detail.getOrderSn());
+            omsOrderItem.setProductId(pmsProduct.getId());
+            omsOrderItem.setProductPic(pmsProduct.getPic());
+            omsOrderItem.setProductName(pmsProduct.getName());
+            omsOrderItem.setProductBrand(pmsProduct.getBrandName());
+            omsOrderItem.setProductPrice(pmsProduct.getPrice());
+            omsOrderItem.setProductQuantity(orderItem.getProductQuantity());
+            omsOrderItem.setProductSkuId(pmsSkuStock.getId());
+            omsOrderItem.setProductSkuCode(pmsSkuStock.getSkuCode());
+            omsOrderItem.setProductCategoryId(pmsProduct.getProductCategoryId());
+            omsOrderItem.setPromotionAmount(BigDecimal.ZERO);
+            omsOrderItem.setCouponAmount(BigDecimal.ZERO);
+            omsOrderItem.setIntegrationAmount(BigDecimal.ZERO);
+            omsOrderItem.setRealAmount(orderItem.getRealAmount());
+            omsOrderItem.setProductAttr(pmsSkuStock.getSpData());
+            omsOrderItem.setReturnStatus(-1);
+
+            orderItemList.add(omsOrderItem);
+        }
+
+
+        // 保存数据
+        if (!CollectionUtils.isEmpty(orderItemList)) {
+            omsOrderItemMapper.insertList(orderItemList);
+        }
+        // skuId 数量 map
+        Map<Long, Integer> skuIdMap = orderItemList.stream().collect(Collectors.groupingBy(OmsOrderItem::getProductSkuId,Collectors.summingInt(OmsOrderItem::getProductQuantity)));
+
+        // 如果订单状态是已发货,扣减库存
+        updateSkuStock( skuIdMap, Lists.newArrayList(detail.getId()));
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean productUpdateOrderStatus(String orderNo, Integer status) {
+
+        OmsOrder detail = orderMapper.getByOrderSn(orderNo);
+        if (detail == null) {
+            throw new BizException("订单不存在");
+        }
+        if (detail.getStatus() != 1 ) {
+            throw new BizException("当前订单状态不允许修改");
+        }
+        OmsOrder omsOrder = new OmsOrder();
+        omsOrder.setId(detail.getId());
+        omsOrder.setStatus(status);
+        omsOrder.setModifyTime(new Date());
+        orderMapper.updateByPrimaryKeySelective(omsOrder);
+
+
+        return true;
+    }
 }

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

@@ -0,0 +1,102 @@
+package com.yonge.cooleshow.admin.service.impl;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.common.exception.BizException;
+import com.yonge.cooleshow.admin.service.UmsMemberService;
+import com.yonge.cooleshow.mbg.mapper.UmsMemberLevelMapper;
+import com.yonge.cooleshow.mbg.mapper.UmsMemberMapper;
+import com.yonge.cooleshow.mbg.model.UmsMember;
+import com.yonge.cooleshow.mbg.model.UmsMemberLevel;
+import com.yonge.cooleshow.mbg.model.UmsMemberLevelExample;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 会员管理Service实现类
+ * Created by macro on 2018/8/3.
+ */
+@Service
+public class UmsMemberServiceImpl implements UmsMemberService {
+    private static final Logger LOGGER = LoggerFactory.getLogger(UmsMemberServiceImpl.class);
+
+    @Autowired
+    private UmsMemberMapper memberMapper;
+    @Autowired
+    private UmsMemberLevelMapper memberLevelMapper;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+
+    @Override
+    public UmsMember getById(Long id) {
+        UmsMember umsMember = memberMapper.selectByPrimaryKey(id);
+        if (umsMember == null) {
+            SysUser sysUser = sysUserFeignService.queryUserById(id.intValue());
+            if (sysUser == null || sysUser.getId() == null) {
+                throw new BizException("用户信息获取失败");
+            }
+            umsMember = getUmsMember(sysUser, umsMember);
+        }
+        return umsMember;
+    }
+
+    @Override
+    public UmsMember getCurrentMember() {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null || sysUser.getId() == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        UmsMember umsMember = getById(sysUser.getId().longValue());
+        umsMember = getUmsMember(sysUser, umsMember);
+        return umsMember;
+    }
+
+    private UmsMember getUmsMember(SysUser sysUser, UmsMember umsMember) {
+        // 商城库用户不存在-> 创建
+        if (umsMember == null || umsMember.getId() == null) {
+            umsMember = new UmsMember();
+            umsMember.setId(sysUser.getId().longValue());
+            umsMember.setCreateTime(sysUser.getCreateTime());
+            umsMember.setUsername(sysUser.getUsername());
+            umsMember.setPassword(sysUser.getPassword());
+            umsMember.setPhone(sysUser.getPhone());
+            umsMember.setStatus(sysUser.getLockFlag());
+            umsMember.setIcon(sysUser.getAvatar());
+            umsMember.setGender(sysUser.getGender());
+            umsMember.setBirthday(sysUser.getBirthdate());
+            //获取默认会员等级并设置
+            UmsMemberLevelExample levelExample = new UmsMemberLevelExample();
+            levelExample.createCriteria().andDefaultStatusEqualTo(1);
+            List<UmsMemberLevel> memberLevelList = memberLevelMapper.selectByExample(levelExample);
+            if (!CollectionUtils.isEmpty(memberLevelList)) {
+                umsMember.setMemberLevelId(memberLevelList.get(0).getId());
+            }
+            memberMapper.insert(umsMember);
+        } else {
+            boolean flag = false;
+            if (sysUser.getUsername() != null && !sysUser.getUsername().equals(umsMember.getUsername())) {
+                umsMember.setUsername(sysUser.getUsername());
+                flag = true;
+            }
+            if (sysUser.getPhone() != null && !sysUser.getPhone().equals(umsMember.getUsername())) {
+                umsMember.setPhone(sysUser.getPhone());
+                flag = true;
+            }
+            if (sysUser.getAvatar() != null && !sysUser.getAvatar().equals(umsMember.getIcon())) {
+                umsMember.setIcon(sysUser.getAvatar());
+                flag = true;
+            }
+            if (flag) {
+                memberMapper.updateByPrimaryKeySelective(umsMember);
+            }
+        }
+        return umsMember;
+    }
+
+}

+ 5 - 0
mec-mall/mall-mbg/src/main/java/com/yonge/cooleshow/mbg/mapper/OmsOrderItemMapper.java

@@ -27,4 +27,9 @@ public interface OmsOrderItemMapper {
     int updateByPrimaryKeySelective(OmsOrderItem record);
 
     int updateByPrimaryKey(OmsOrderItem record);
+
+    /**
+     * 批量插入
+     */
+    int insertList(@Param("list") List<OmsOrderItem> list);
 }

+ 19 - 0
mec-mall/mall-mbg/src/main/resources/config/mybatis/OmsOrderItemMapper.xml

@@ -509,4 +509,23 @@
       product_attr = #{productAttr,jdbcType=VARCHAR}
     where id = #{id,jdbcType=BIGINT}
   </update>
+
+        <insert id="insertList">
+            insert into oms_order_item (order_id, order_sn, product_id,
+            product_pic, product_name, product_brand,
+            product_sn, product_price, product_quantity,
+            product_sku_id, product_category_id, product_sku_code,promotion_name,
+            promotion_amount, coupon_amount, integration_amount,
+            real_amount,product_attr,promoter_id,share_proportion_,precision_amount) values
+            <foreach collection="list" item="item" separator="," index="index">
+                (#{item.orderId,jdbcType=BIGINT}, #{item.orderSn,jdbcType=VARCHAR}, #{item.productId,jdbcType=BIGINT},
+                #{item.productPic,jdbcType=VARCHAR}, #{item.productName,jdbcType=VARCHAR}, #{item.productBrand,jdbcType=VARCHAR},
+                #{item.productSn,jdbcType=VARCHAR}, #{item.productPrice,jdbcType=DECIMAL}, #{item.productQuantity,jdbcType=INTEGER},
+                #{item.productSkuId,jdbcType=BIGINT}, #{item.productCategoryId,jdbcType=BIGINT}, #{item.productSkuCode,jdbcType=VARCHAR},
+                #{item.promotionName,jdbcType=VARCHAR},
+                #{item.promotionAmount,jdbcType=DECIMAL}, #{item.couponAmount,jdbcType=DECIMAL},
+                #{item.integrationAmount,jdbcType=DECIMAL},
+                #{item.realAmount,jdbcType=DECIMAL},#{item.productAttr,jdbcType=VARCHAR},#{item.promoterId},#{item.shareProportion},#{item.precisionAmount})
+            </foreach>
+        </insert>
 </mapper>

+ 0 - 33
mec-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/controller/open/OpenShareController.java

@@ -1,7 +1,5 @@
 package com.yonge.cooleshow.portal.controller.open;
 
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.extension.api.R;
 import com.ym.mec.common.controller.BaseController;
 import com.yonge.cooleshow.mall.common.api.CommonResult;
 import com.yonge.cooleshow.portal.dto.OrderCreate;
@@ -13,7 +11,6 @@ import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -60,34 +57,4 @@ public class OpenShareController extends BaseController {
     }
 
 
-
-    /**
-     * 查询商品订单生成
-     * @param order ProductWrapper.OrderCreate
-     * @return String
-     */
-    @PostMapping(value = "/product/orderCreate", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
-    public R<Boolean> productOrderCreate(@RequestBody OrderCreate order) {
-
-        log.info("创建管乐迷订单:{}", JSON.toJSONString(order));
-
-        portalOrderService.mecProductOrderCreate(order);
-
-
-        return R.ok(true);
-    }
-
-
-    // 同步订单状态,
-    /**
-     * 查询商品订单状态
-     * @param orderNo 订单编号
-     * @return status 订单状态  0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单
-     */
-    @GetMapping(value = "/product/updateOrderStatus", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
-    public boolean productUpdateOrderStatus(@RequestParam("orderNo") String orderNo,@RequestParam("status") Integer status) {
-        log.info("同步订单状态:{},{}", orderNo, status);
-        // 已发货订单不可修改状态
-        return portalOrderService.productUpdateOrderStatus(orderNo, status);
-    }
 }

+ 1 - 4
mec-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/dao/PortalOrderItemDao.java

@@ -10,8 +10,5 @@ import java.util.List;
  * Created by macro on 2018/9/3.
  */
 public interface PortalOrderItemDao {
-    /**
-     * 批量插入
-     */
-    int insertList(@Param("list") List<OmsOrderItem> list);
+
 }

+ 0 - 5
mec-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/OmsPortalOrderService.java

@@ -5,7 +5,6 @@ import com.yonge.cooleshow.mbg.model.OmsOrder;
 import com.yonge.cooleshow.portal.domain.ConfirmOrderResult;
 import com.yonge.cooleshow.portal.domain.OmsOrderDetail;
 import com.yonge.cooleshow.portal.domain.OrderParam;
-import com.yonge.cooleshow.portal.dto.OrderCreate;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
@@ -117,8 +116,4 @@ public interface OmsPortalOrderService {
     @Transactional
     void paymentRefundFailedHandle(String payTransNo, String msg, String refundTransNo);
 
-    void mecProductOrderCreate(OrderCreate order);
-
-    // 同步订单状态,
-    boolean productUpdateOrderStatus(String orderNo, Integer status);
 }

+ 1 - 126
mec-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -27,8 +27,6 @@ import com.yonge.cooleshow.portal.dao.PortalOrderDao;
 import com.yonge.cooleshow.portal.dao.PortalOrderItemDao;
 import com.yonge.cooleshow.portal.dao.PortalProductDao;
 import com.yonge.cooleshow.portal.domain.*;
-import com.yonge.cooleshow.portal.dto.OrderCreate;
-import com.yonge.cooleshow.portal.dto.StockOperateModel;
 import com.yonge.cooleshow.portal.service.*;
 import org.redisson.api.RedissonClient;
 import org.slf4j.Logger;
@@ -365,7 +363,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             orderItem.setOrderId(order.getId());
             orderItem.setOrderSn(order.getOrderSn());
         }
-        orderItemDao.insertList(orderItemList);
+        orderItemMapper.insertList(orderItemList);
         //如使用优惠券更新优惠券使用状态
         if (orderParam.getCouponId() != null) {
             // updateCouponStatus(orderParam.getCouponId(), currentMember.getId(), 1);
@@ -1438,127 +1436,4 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
         return calcAmount;
     }
 
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void mecProductOrderCreate(OrderCreate order) {
-
-
-        // 查询订单是否已存在
-        OmsOrder detail = orderMapper.getByOrderSn(order.getOrderNo());
-        if (detail != null) {
-            throw new BizException("订单已存在");
-        }
-
-        UmsMember umsMember = umsMemberService.getById(order.getMemberId());
-
-
-        // 创建订单
-
-        //设置自动收货天数
-        List<OmsOrderSetting> orderSettings = orderSettingMapper.selectByExample(new OmsOrderSettingExample());
-
-
-        detail = new OmsOrder();
-        detail.setOrchestraId(order.getOrchestraId());
-        detail.setOrderFormType(order.getOrderFormType());
-        detail.setMemberId(order.getMemberId());
-        detail.setPlatformType(order.getPlatformType());
-        detail.setOrderSn(order.getOrderNo());
-        detail.setCreateTime(new Date());
-        if (umsMember !=null) {
-            detail.setMemberUsername(umsMember.getUsername());
-        }
-        detail.setTotalAmount(order.getTotalAmount());
-        detail.setPayAmount(order.getTotalAmount());
-        detail.setFreightAmount(BigDecimal.ZERO);
-        detail.setPromotionAmount(BigDecimal.ZERO);
-        detail.setIntegrationAmount(BigDecimal.ZERO);
-        detail.setCouponAmount(BigDecimal.ZERO);
-        detail.setDiscountAmount(BigDecimal.ZERO);
-        detail.setPayType(order.getPayType());
-        detail.setConfirmStatus(0);
-        detail.setSourceType(order.getSourceType());
-        detail.setStatus(1);
-        detail.setOrderType(0);
-        if (CollUtil.isNotEmpty(orderSettings)) {
-            detail.setAutoConfirmDay(orderSettings.get(0).getConfirmOvertime());
-        }
-        detail.setReceiverName(order.getReceiverName());
-        detail.setReceiverPhone(order.getReceiverPhone());
-        detail.setReceiverPostCode(order.getReceiverPostCode());
-        detail.setReceiverProvince(order.getReceiverProvince());
-        detail.setReceiverCity(order.getReceiverCity());
-        detail.setReceiverRegion(order.getReceiverRegion());
-        detail.setReceiverDetailAddress(order.getReceiverDetailAddress());
-        detail.setDeleteStatus(0);
-        detail.setPaymentTime(new Date());
-        detail.setAfterSale(1);
-        detail.setModifyTime(new Date());
-        orderMapper.insert(detail);
-
-        List<OmsOrderItem> orderItemList = new ArrayList<>();
-        // 创建订单详情
-        for (OrderCreate.OrderItem orderItem : order.getOrderItemList()) {
-
-            // 获取商品信息
-            PmsSkuStock pmsSkuStock = skuStockMapper.selectByPrimaryKey(orderItem.getProductSkuId());
-            if (pmsSkuStock == null) {
-                throw new BizException("商品规格不存在");
-            }
-            PmsProduct pmsProduct = pmsProductMapper.selectByPrimaryKey(pmsSkuStock.getProductId());
-
-            if (pmsProduct == null) {
-                throw new BizException("商品不存在");
-            }
-
-            OmsOrderItem omsOrderItem = new OmsOrderItem();
-            omsOrderItem.setOrderId(detail.getId());
-            omsOrderItem.setOrderSn(detail.getOrderSn());
-            omsOrderItem.setProductId(pmsProduct.getId());
-            omsOrderItem.setProductPic(pmsProduct.getPic());
-            omsOrderItem.setProductName(pmsProduct.getName());
-            omsOrderItem.setProductBrand(pmsProduct.getBrandName());
-            omsOrderItem.setProductPrice(pmsProduct.getPrice());
-            omsOrderItem.setProductQuantity(1);
-            omsOrderItem.setProductSkuId(pmsSkuStock.getId());
-            omsOrderItem.setProductSkuCode(pmsSkuStock.getSkuCode());
-            omsOrderItem.setProductCategoryId(pmsProduct.getProductCategoryId());
-            omsOrderItem.setPromotionAmount(BigDecimal.ZERO);
-            omsOrderItem.setCouponAmount(BigDecimal.ZERO);
-            omsOrderItem.setIntegrationAmount(BigDecimal.ZERO);
-            omsOrderItem.setRealAmount(orderItem.getRealAmount());
-            omsOrderItem.setProductAttr(pmsSkuStock.getSpData());
-            omsOrderItem.setReturnStatus(-1);
-
-            orderItemList.add(omsOrderItem);
-        }
-
-
-        // 保存数据
-        if (!CollectionUtils.isEmpty(orderItemList)) {
-            orderItemDao.insertList(orderItemList);
-        }
-    }
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public boolean productUpdateOrderStatus(String orderNo, Integer status) {
-
-        OmsOrderDetail detail = detail(orderNo);
-        if (detail == null) {
-            throw new BizException("订单不存在");
-        }
-        if (detail.getStatus() != 1 ) {
-            throw new BizException("当前订单状态不允许修改");
-        }
-        OmsOrder omsOrder = new OmsOrder();
-        omsOrder.setId(detail.getId());
-        omsOrder.setStatus(status);
-        omsOrder.setModifyTime(new Date());
-        orderMapper.updateByPrimaryKeySelective(omsOrder);
-
-
-        return true;
-    }
 }

+ 1 - 19
mec-mall/mall-portal/src/main/resources/config/mybatis/PortalOrderItemDao.xml

@@ -1,22 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.yonge.cooleshow.portal.dao.PortalOrderItemDao">
-    <insert id="insertList">
-        insert into oms_order_item (order_id, order_sn, product_id,
-        product_pic, product_name, product_brand,
-        product_sn, product_price, product_quantity,
-        product_sku_id, product_category_id, product_sku_code,promotion_name,
-        promotion_amount, coupon_amount, integration_amount,
-        real_amount,product_attr,promoter_id,share_proportion_,precision_amount) values
-        <foreach collection="list" item="item" separator="," index="index">
-            (#{item.orderId,jdbcType=BIGINT}, #{item.orderSn,jdbcType=VARCHAR}, #{item.productId,jdbcType=BIGINT},
-            #{item.productPic,jdbcType=VARCHAR}, #{item.productName,jdbcType=VARCHAR}, #{item.productBrand,jdbcType=VARCHAR},
-            #{item.productSn,jdbcType=VARCHAR}, #{item.productPrice,jdbcType=DECIMAL}, #{item.productQuantity,jdbcType=INTEGER},
-            #{item.productSkuId,jdbcType=BIGINT}, #{item.productCategoryId,jdbcType=BIGINT}, #{item.productSkuCode,jdbcType=VARCHAR},
-            #{item.promotionName,jdbcType=VARCHAR},
-            #{item.promotionAmount,jdbcType=DECIMAL}, #{item.couponAmount,jdbcType=DECIMAL},
-            #{item.integrationAmount,jdbcType=DECIMAL},
-            #{item.realAmount,jdbcType=DECIMAL},#{item.productAttr,jdbcType=VARCHAR},#{item.promoterId},#{item.shareProportion},#{item.precisionAmount})
-        </foreach>
-    </insert>
+
 </mapper>