From a0ee72503f51825f465f4564dc8c19b727d00c6e Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 27 十二月 2024 14:59:19 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/eyes

---
 manage/src/main/java/com/jilongda/manage/mapper/TOrderMapper.java            |    9 ++++
 manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java                  |    7 ++-
 manage/src/main/java/com/jilongda/manage/model/TOrder.java                   |    3 +
 manage/src/main/resources/mapping/TOrderMapper.xml                           |   16 +++++++-
 manage/src/main/java/com/jilongda/manage/controller/TOrderController.java    |   43 +++++++++++++++++++--
 manage/src/main/java/com/jilongda/manage/service/TOrderService.java          |    8 ++++
 manage/src/main/java/com/jilongda/manage/vo/TOrderVO.java                    |    4 ++
 manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java         |    4 ++
 manage/src/main/resources/mapping/TOptometryDetailMapper.xml                 |    4 +
 manage/src/main/java/com/jilongda/manage/service/impl/TOrderServiceImpl.java |    5 ++
 10 files changed, 94 insertions(+), 9 deletions(-)

diff --git a/manage/src/main/java/com/jilongda/manage/controller/TOrderController.java b/manage/src/main/java/com/jilongda/manage/controller/TOrderController.java
index 97f7f0a..c1ee985 100644
--- a/manage/src/main/java/com/jilongda/manage/controller/TOrderController.java
+++ b/manage/src/main/java/com/jilongda/manage/controller/TOrderController.java
@@ -10,21 +10,21 @@
 import com.jilongda.manage.model.TCoupon;
 import com.jilongda.manage.model.TCouponReceive;
 import com.jilongda.manage.model.TOptometryDetail;
+import com.jilongda.manage.model.TOrder;
 import com.jilongda.manage.query.TOptometryQuery;
 import com.jilongda.manage.service.*;
 import com.jilongda.manage.utils.LoginInfoUtil;
 import com.jilongda.manage.vo.TOptometryVO;
+import com.jilongda.manage.vo.TOrderVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -48,6 +48,10 @@
     private TCouponReceiveService couponReceiveService;
     @Autowired
     private TCouponService couponService;
+    @Autowired
+    private TOrderService orderService;
+    @Autowired
+    private TOptometryDetailService optometryDetailService;
 
     @ApiOperation(value = "查询用户信息")
     @GetMapping(value = "/getUserById")
@@ -93,8 +97,39 @@
     @PostMapping(value = "/addOrder")
     public ApiResult addOrder(@RequestBody TOrderDTO dto) {
 
+        // 查询店员
+        SecUser user = secUserService.getById(dto.getSysId());
+        if(Objects.nonNull(user)){
+            dto.setStoreId(user.getStoreId());
+        }
+        orderService.save(dto);
+
+        List<TOptometryDetail> optometryDetails = dto.getOptometryDetails();
+        if (!CollectionUtils.isEmpty(optometryDetails)){
+            for (TOptometryDetail optometryDetail : optometryDetails) {
+                optometryDetail.setOrderId(dto.getId());
+            }
+            optometryDetailService.saveBatch(optometryDetails);
+        }
+
+        // TODO 周哥 补库存
+
         return ApiResult.success();
     }
 
+    @ApiOperation(value = "销售订单详情")
+    @GetMapping(value = "/getOrderDetailById")
+    public ApiResult getOrderDetailById(@RequestParam Integer orderId) {
+
+        TOrderVO orderVO = orderService.getOrderDetailById(orderId);
+
+        // TODO 周哥 商品信息集合
+
+        // TODO 周哥 验光处方 判断是关联或者手动
+
+
+        return ApiResult.success(orderVO);
+    }
+
 }
 
diff --git a/manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java b/manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java
index 08de188..239258b 100644
--- a/manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java
+++ b/manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java
@@ -1,15 +1,18 @@
 package com.jilongda.manage.dto;
 
+import com.jilongda.manage.model.TOptometryDetail;
 import com.jilongda.manage.model.TOrder;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 @ApiModel(value = "添加订单dto")
 public class TOrderDTO extends TOrder {
 
-//    @ApiModelProperty(value = "配镜处方")
-//    private
+    @ApiModelProperty(value = "手动添加配镜处方使用")
+    private List<TOptometryDetail> optometryDetails;
 
 }
diff --git a/manage/src/main/java/com/jilongda/manage/mapper/TOrderMapper.java b/manage/src/main/java/com/jilongda/manage/mapper/TOrderMapper.java
index c2cd949..59b9d6f 100644
--- a/manage/src/main/java/com/jilongda/manage/mapper/TOrderMapper.java
+++ b/manage/src/main/java/com/jilongda/manage/mapper/TOrderMapper.java
@@ -2,6 +2,8 @@
 
 import com.jilongda.manage.model.TOrder;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jilongda.manage.vo.TOrderVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +15,11 @@
  */
 public interface TOrderMapper extends BaseMapper<TOrder> {
 
+    /**
+     *  销售订单详情
+     * @param orderId
+     * @return
+     */
+    TOrderVO getOrderDetailById(@Param("orderId") Integer orderId);
+
 }
diff --git a/manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java b/manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java
index 63499d3..7a958d9 100644
--- a/manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java
+++ b/manage/src/main/java/com/jilongda/manage/model/TOptometryDetail.java
@@ -41,6 +41,10 @@
     @TableField("optometryId")
     private Integer optometryId;
 
+    @ApiModelProperty(value = "订单id")
+    @TableField("orderId")
+    private Integer orderId;
+
     @ApiModelProperty(value = "球镜")
     @TableField("ballMirror")
     private Double ballMirror;
diff --git a/manage/src/main/java/com/jilongda/manage/model/TOrder.java b/manage/src/main/java/com/jilongda/manage/model/TOrder.java
index a46da60..0340a78 100644
--- a/manage/src/main/java/com/jilongda/manage/model/TOrder.java
+++ b/manage/src/main/java/com/jilongda/manage/model/TOrder.java
@@ -156,5 +156,8 @@
     @ApiModelProperty(value = "微信昵称")
     @TableField("name")
     private Integer name;
+    @ApiModelProperty(value = "支付方式")
+    @TableField("payTypeName")
+    private String payTypeName;
 
 }
diff --git a/manage/src/main/java/com/jilongda/manage/service/TOrderService.java b/manage/src/main/java/com/jilongda/manage/service/TOrderService.java
index cc61e3d..3879ae5 100644
--- a/manage/src/main/java/com/jilongda/manage/service/TOrderService.java
+++ b/manage/src/main/java/com/jilongda/manage/service/TOrderService.java
@@ -2,6 +2,7 @@
 
 import com.jilongda.manage.model.TOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.jilongda.manage.vo.TOrderVO;
 
 /**
  * <p>
@@ -13,4 +14,11 @@
  */
 public interface TOrderService extends IService<TOrder> {
 
+    /**
+     * 销售订单详情
+     * @param orderId
+     * @return
+     */
+    TOrderVO getOrderDetailById(Integer orderId);
+
 }
diff --git a/manage/src/main/java/com/jilongda/manage/service/impl/TOrderServiceImpl.java b/manage/src/main/java/com/jilongda/manage/service/impl/TOrderServiceImpl.java
index ff2913f..4e987e0 100644
--- a/manage/src/main/java/com/jilongda/manage/service/impl/TOrderServiceImpl.java
+++ b/manage/src/main/java/com/jilongda/manage/service/impl/TOrderServiceImpl.java
@@ -4,6 +4,7 @@
 import com.jilongda.manage.mapper.TOrderMapper;
 import com.jilongda.manage.service.TOrderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jilongda.manage.vo.TOrderVO;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +18,8 @@
 @Service
 public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> implements TOrderService {
 
+    @Override
+    public TOrderVO getOrderDetailById(Integer orderId) {
+        return this.baseMapper.getOrderDetailById(orderId);
+    }
 }
diff --git a/manage/src/main/java/com/jilongda/manage/vo/TOrderVO.java b/manage/src/main/java/com/jilongda/manage/vo/TOrderVO.java
index 7b57961..2e99b08 100644
--- a/manage/src/main/java/com/jilongda/manage/vo/TOrderVO.java
+++ b/manage/src/main/java/com/jilongda/manage/vo/TOrderVO.java
@@ -14,4 +14,8 @@
 
     @ApiModelProperty(value = "店铺名称")
     private String storeName;
+    @ApiModelProperty(value = "员工昵称")
+    private String staffName;
+    @ApiModelProperty(value = "优惠券名称")
+    private String couponName;
 }
diff --git a/manage/src/main/resources/mapping/TOptometryDetailMapper.xml b/manage/src/main/resources/mapping/TOptometryDetailMapper.xml
index 363055b..204a955 100644
--- a/manage/src/main/resources/mapping/TOptometryDetailMapper.xml
+++ b/manage/src/main/resources/mapping/TOptometryDetailMapper.xml
@@ -22,11 +22,13 @@
         <result column="createBy" property="createBy" />
         <result column="updateBy" property="updateBy" />
         <result column="isDelete" property="isDelete" />
+        <result column="orderId" property="orderId" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, type, optometryId, ballMirror, columnMirror, axis, add, pupilHeight, pupilDistance, correct, storeId, status, registerTime, createTime, updateTime, createBy, updateBy, isDelete
+        id, type, optometryId, ballMirror, columnMirror, axis, add, pupilHeight, pupilDistance, correct, storeId,
+            status, registerTime, createTime, updateTime, createBy, updateBy, isDelete,orderId
     </sql>
 
 </mapper>
diff --git a/manage/src/main/resources/mapping/TOrderMapper.xml b/manage/src/main/resources/mapping/TOrderMapper.xml
index da23834..fc53659 100644
--- a/manage/src/main/resources/mapping/TOrderMapper.xml
+++ b/manage/src/main/resources/mapping/TOrderMapper.xml
@@ -41,13 +41,25 @@
         <result column="realName" property="realName" />
         <result column="age" property="age" />
         <result column="gender" property="gender" />
+        <result column="payTypeName" property="payTypeName" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, code, userId, optometryId, storeId, modelId, color, series, rLens, lLens, type, refractiveIndex, createTime, updateTime, createBy,
+        id, code, userId, optometryId, storeId, modelId, color, series, rLens, lLens, `type`, refractiveIndex, createTime, updateTime, createBy,
             updateBy, isDelete, sysId, couponId, itemsId, remark, isMail, mailName, mailPhone, mailAddress, orderMoney, couponMoney, payMoney,
-            isMachining, machiningCode, isAccounting, accountingName, accountingTime,phone, realName, age, gender
+            isMachining, machiningCode, isAccounting, accountingName, accountingTime,phone, realName, age, gender,payTypeName
     </sql>
+    <select id="getOrderDetailById" resultType="com.jilongda.manage.vo.TOrderVO">
+        select  o.id, o.code, o.userId, o.optometryId, o.storeId, o.modelId, o.color, o.series, o.rLens, o.lLens, o.`type`, o.refractiveIndex, o.createTime, o.updateTime, o.createBy,
+                o.updateBy, o.isDelete, o.sysId, o.couponId, o.itemsId, o.remark, o.isMail, o.mailName, o.mailPhone, o.mailAddress, o.orderMoney, o.couponMoney, o.payMoney,
+                o.isMachining, o.machiningCode, o.isAccounting, o.accountingName, o.accountingTime,o.phone, o.realName, o.age, o.gender,o.payTypeName,
+                su.nick_name AS staffName,s.name AS storeName,tc.name AS couponName
+        from t_order o
+        left join sec_user su on o.sysId = su.id
+        left join t_store s on s.id = o.storeId
+        left join t_coupon_receive tcr on tcr.id = o.couponId
+        left join t_coupon tc on tc.id = tcr.couponId
+    </select>
 
 </mapper>

--
Gitblit v1.7.1