From 5c67ffa649378a06b01f78bf42c768517b42eaf6 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 10 一月 2025 18:31:08 +0800
Subject: [PATCH] bug修改

---
 manage/src/main/java/com/jilongda/manage/controller/TOrderController.java |  156 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 137 insertions(+), 19 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 5770045..3c602bc 100644
--- a/manage/src/main/java/com/jilongda/manage/controller/TOrderController.java
+++ b/manage/src/main/java/com/jilongda/manage/controller/TOrderController.java
@@ -28,6 +28,7 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -70,6 +71,19 @@
     private TBrandService brandService;
     @Autowired
     private TOptometryService optometryService;
+    @Autowired
+    private TWarehousingService warehousingService;
+    @Autowired
+    private TLensWarehousingDetailService lensWarehousingDetailService;
+    @Autowired
+    private TFrameWarehousingDetailService frameWarehousingDetailService;
+    @Autowired
+    private TSupplierService supplierService;
+    @Autowired
+    private TMaterialService materialService;
+    @Autowired
+    private TLineUpService lineUpService;
+
     @PostMapping("/obs-upload")
     @ApiOperation(value = "文件上传",tags = "管理后台-文件上传")
     public ApiResult<String> uploadOSS(@RequestPart("file") MultipartFile file) {
@@ -93,14 +107,14 @@
             query.setEndTime(query.getEndTime()+" 23:59:59");
         }
         List<Integer> orderIds = new ArrayList<>();
-        List<Integer> collect = tAppUserService.lambdaQuery()
-                .eq(StringUtils.hasLength(query.getWxName()), TAppUser::getName, query.getWxName())
-                .eq(StringUtils.hasLength(query.getPhone()), TAppUser::getName, query.getPhone()).list()
-                .stream().map(TAppUser::getId).collect(Collectors.toList());
-        if (StringUtils.hasLength(query.getWxName())||StringUtils.hasLength(query.getPhone())){
-            query.setUserIds(collect);
-            if (collect.isEmpty())return ApiResult.success(new PageInfo<>());
-        }
+//        List<Integer> collect = tAppUserService.lambdaQuery()
+//                .eq(StringUtils.hasLength(query.getWxName()), TAppUser::getName, query.getWxName())
+//                .eq(StringUtils.hasLength(query.getPhone()), TAppUser::getName, query.getPhone()).list()
+//                .stream().map(TAppUser::getId).collect(Collectors.toList());
+//        if (StringUtils.hasLength(query.getWxName())||StringUtils.hasLength(query.getPhone())){
+//            query.setUserIds(collect);
+//            if (collect.isEmpty())return ApiResult.success(new PageInfo<>());
+//        }
         List<Integer> collect1 = orderGoodsService.lambdaQuery()
                 .eq(StringUtils.hasLength(query.getBrandLens()), TOrderGoods::getBrandName, query.getBrandLens())
                 .eq(StringUtils.hasLength(query.getSeries()), TOrderGoods::getSeriesName, query.getSeries())
@@ -178,15 +192,10 @@
             TAppUser byId = tAppUserService.getById(dto.getUserId());
             dto.setName(byId.getName());
             dto.setPhone(byId.getPhone());
+
         }
         orderService.save(dto);
-        List<TOptometryDetail> optometryDetails = dto.getOptometryDetails();
-        if (!CollectionUtils.isEmpty(optometryDetails)){
-            for (TOptometryDetail optometryDetail : optometryDetails) {
-                optometryDetail.setOrderId(dto.getId());
-            }
-            optometryDetailService.saveBatch(optometryDetails);
-        }
+
 
         List<TOrderGoods> orderGoods = dto.getOrderGoods();
         List<TLensGoods> tLensGoods = new ArrayList<>();
@@ -204,12 +213,12 @@
                 }else {
                     split = orderGood.getLLens().split(",");
                 }
-                TBrand one1 = brandService.lambdaQuery().eq(TBrand::getName, orderGood.getBrandName())
+                TBrand brand = brandService.lambdaQuery().eq(TBrand::getName, orderGood.getBrandName())
                         .eq(TBrand::getType, 2).one();
-                TLensSeries one2 = lensSeriesService.lambdaQuery().eq(TLensSeries::getName, orderGood.getSeriesName())
-                        .eq(TLensSeries::getBrandId, one1.getId()).one();
+                TLensSeries lensSeries = lensSeriesService.lambdaQuery().eq(TLensSeries::getName, orderGood.getSeriesName())
+                        .eq(TLensSeries::getBrandId, brand.getId()).one();
                 TLensGoods one = lensGoodsService.lambdaQuery()
-                        .eq(StringUtils.hasLength(orderGood.getSeriesName()),TLensGoods::getSeriesId, one2.getId())
+                        .eq(StringUtils.hasLength(orderGood.getSeriesName()),TLensGoods::getSeriesId, lensSeries.getId())
                         .eq(StringUtils.hasLength(orderGood.getRefractiveIndex()),TLensGoods::getRefractiveIndex, orderGood.getRefractiveIndex())
                         .eq(orderGood.getType()!=null,TLensGoods::getLensType, orderGood.getType())
                         .eq(split.length>0,TLensGoods::getBallMirror, split[0])
@@ -222,6 +231,39 @@
                     // 减少对应库存
                     one.setTotal(one.getTotal()-1);
                     tLensGoods.add(one);
+//                    // 生成销售订单主表
+//
+//                    TWarehousing tWarehousing = new TWarehousing();
+//                    tWarehousing.setStatus(5);
+//                    tWarehousing.setType(2);
+//                    tWarehousing.setStoreId(dto.getStoreId());
+//                    tWarehousing.setRemark("销售订单-镜片");
+//                    tWarehousing.setOrderNum(dto.getId()+"");
+//                    warehousingService.save(tWarehousing);
+//                    // 生成明细记录
+//                    TLensWarehousingDetail tLensWarehousingDetail = new TLensWarehousingDetail();
+//                    tLensWarehousingDetail.setBrand(orderGood.getBrandName());
+//                    TSupplier supplier = supplierService.getById(lensSeries.getSupplierId());
+//                    if (supplier!=null){
+//                        tLensWarehousingDetail.setSupplier(supplier.getName());
+//                    }
+//                    tLensWarehousingDetail.setSeries(lensSeries.getName());
+//                    tLensWarehousingDetail.setRefractiveIndex(orderGood.getRefractiveIndex());
+//                    if (StringUtils.hasLength(orderGood.getLLens())){
+//                        tLensWarehousingDetail.setBallMirror(orderGood.getLLens().split(",")[0]);
+//                        tLensWarehousingDetail.setColumnMirror(orderGood.getLLens().split(",")[0]);
+//                    }
+//                    if (StringUtils.hasLength(orderGood.getRLens())){
+//                        tLensWarehousingDetail.setBallMirror(orderGood.getRLens().split(",")[0]);
+//                        tLensWarehousingDetail.setColumnMirror(orderGood.getRLens().split(",")[0]);
+//                    }
+//                    tLensWarehousingDetail.setType(orderGood.getType());
+//                    tLensWarehousingDetail.setTotal(1);
+//                    tLensWarehousingDetail.setSeriesId(lensSeries.getId());
+//                    tLensWarehousingDetail.setWarehousingId(tWarehousing.getId());
+//                    tLensWarehousingDetail.setOrderId(dto.getId());
+//                    lensWarehousingDetailService.save(tLensWarehousingDetail);
+
                 }else {
                     return ApiResult.failed("商品库存不足");
                 }
@@ -240,11 +282,87 @@
                     // 增加对应库存
                     one.setTotal(one.getTotal()-1);
                     tFrameGoods.add(one);
+                    // 生成销售订单主表
+                    TWarehousing tWarehousing = new TWarehousing();
+                    tWarehousing.setStatus(5);
+                    tWarehousing.setType(1);
+                    tWarehousing.setStoreId(dto.getStoreId());
+                    tWarehousing.setRemark("销售订单-镜架");
+                    tWarehousing.setOrderNum(dto.getId()+"");
+                    warehousingService.save(tWarehousing);
+                    // 生成明细记录
+                    TBrand brand = brandService.getById(one1.getBrandId());
+
+                    TFrameWarehousingDetail tFrameWarehousingDetail = new TFrameWarehousingDetail();
+                    tFrameWarehousingDetail.setWarehousingId(tWarehousing.getId());
+                    if (brand!=null){
+                        tFrameWarehousingDetail.setBrand(brand.getName());
+                    }
+                    TSupplier supplier = supplierService.getById(one1.getSupplierId());
+                    if (supplier!=null){
+                        tFrameWarehousingDetail.setSupplier(supplier.getName());
+                    }
+                    TMaterial material = materialService.getById(one1.getMaterialId());
+                    if (material!=null){
+                        tFrameWarehousingDetail.setMaterial(material.getName());
+                    }
+                    tFrameWarehousingDetail.setTotal(1);
+                    tFrameWarehousingDetail.setColor(orderGood.getColor());
+                    tFrameWarehousingDetail.setModel(one1.getName());
+                    tFrameWarehousingDetail.setModelId(one1.getId());
+                    tFrameWarehousingDetail.setOrderId(dto.getId());
+                    frameWarehousingDetailService.save(tFrameWarehousingDetail);
+
                 }else{
                     return ApiResult.failed("商品库存不足");
                 }
             }
         }
+        if (dto.getUserId()!=null){
+            if (dto.getCouponId()!=null){
+                TCouponReceive couponReceive = couponReceiveService.getById(dto.getCouponId());
+                if (couponReceive==null){
+                    return ApiResult.failed("优惠券不存在");
+                }
+                List<TCouponReceive> couponReceives = couponReceiveService.lambdaQuery()
+                        .eq(TCouponReceive::getUserId, dto.getUserId())
+                        .eq(TCouponReceive::getCouponId, couponReceive.getCouponId())
+                        .orderByDesc(TCouponReceive::getCreateTime).list();
+                if (couponReceives.isEmpty())return ApiResult.failed("优惠券不存在");
+                TCouponReceive tCouponReceive = couponReceives.get(0);
+                tCouponReceive.setStatus(2);
+                tCouponReceive.setUseTime(LocalDateTime.now());
+                couponReceiveService.updateById(tCouponReceive);
+            }
+        }
+        List<TOptometryDetail> optometryDetails = dto.getOptometryDetails();
+        if (!CollectionUtils.isEmpty(optometryDetails)){
+            int temp =0;
+            if (dto.getUserId()!=null){
+                TOptometry optometry = new TOptometry();
+                long count = lineUpService.count(Wrappers.lambdaQuery(TLineUp.class)
+                        .eq(TLineUp::getStoreId, dto.getStoreId()));
+                optometry.setCode(""+(count+1));
+                optometry.setUserId(dto.getUserId());
+                optometry.setAge(dto.getAge());
+                optometry.setGender(dto.getGender());
+                optometry.setRealName(dto.getRealName());
+                optometry.setPhone(dto.getPhone());
+                optometry.setStoreId(dto.getStoreId());
+                optometry.setStatus(3);
+                optometryService.save(optometry);
+                temp = optometry.getId();
+            }
+
+
+            for (TOptometryDetail optometryDetail : optometryDetails) {
+                optometryDetail.setOrderId(dto.getId());
+                if (dto.getUserId()!=null){
+                    optometryDetail.setOptometryId(temp);
+                }
+            }
+            optometryDetailService.saveBatch(optometryDetails);
+        }
         orderGoodsService.saveBatch(orderGoods);
         lensGoodsService.updateBatchById(tLensGoods);
         frameGoodsService.updateBatchById(tFrameGoods);

--
Gitblit v1.7.1