From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 08 五月 2025 09:21:57 +0800
Subject: [PATCH] bug修改

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java |  115 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 93 insertions(+), 22 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
index 6db3b75..cb753c5 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
@@ -14,6 +14,9 @@
 import com.dsh.course.feignClient.activity.PointMercharsClient;
 import com.dsh.course.feignClient.activity.model.*;
 import com.dsh.course.feignClient.course.CourseClient;
+import com.dsh.course.feignClient.course.CoursePackageClient;
+import com.dsh.course.feignClient.course.model.CoursePackagePaymentConfig;
+import com.dsh.course.feignClient.course.model.TCoursePackage;
 import com.dsh.guns.config.UserExt;
 import com.dsh.guns.core.base.controller.BaseController;
 import com.dsh.guns.core.base.tips.ErrorTip;
@@ -24,10 +27,12 @@
 import com.dsh.guns.modular.system.service.ICityService;
 import com.dsh.guns.modular.system.service.IRegionService;
 import com.dsh.guns.modular.system.service.IStoreService;
+import com.dsh.guns.modular.system.service.ITSiteService;
 import com.dsh.guns.modular.system.util.OBSUploadUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -56,7 +61,8 @@
 
     @Resource
     private IRegionService regiService;
-
+    @Autowired
+    private ITSiteService siteService;
     @Resource
     private IStoreService storeService;
 
@@ -73,6 +79,8 @@
 
     @Autowired
     private CourseClient courseClient;
+    @Autowired
+    private CoursePackageClient coursePackageClient;
 
     @Resource
     private PointMercharsClient pointMercharsClient;
@@ -89,6 +97,7 @@
     }
     @RequestMapping("/audit")
     public String audit(Model model) {
+
         return PREFIX1 + "TGoodsAudit.html";
     }
 
@@ -136,11 +145,17 @@
             model.addAttribute("shopName",byId.getName());
             Integer coursePackageId = pointMercharsVo.getCoursePackageId();
             List<String> name = courseClient.queryPackageById(coursePackageId);
+            if(null != name){
+                model.addAttribute("typeName",name.get(0));
+                model.addAttribute("pageName",name.get(1));
+            }else{
+                model.addAttribute("typeName", "");
+                model.addAttribute("pageName", "");
+            }
             Integer coursePackageId1 = pointMercharsVo.getCoursePackageId();
-            String classHours = courseClient.getHours(coursePackageId1);
-            model.addAttribute("typeName",name.get(0));
-            model.addAttribute("pageName",name.get(1));
-            model.addAttribute("classHours",classHours);
+            List<CoursePackagePaymentConfig> hoursByPackageId = courseClient.getHoursByPackageId(coursePackageId1);
+
+            model.addAttribute("classHours",hoursByPackageId);
             String productImages = pointMercharsVo.getProductImages();
             ArrayList<String> strings = new ArrayList<>();
             for (String s : productImages.split(",")) {
@@ -162,25 +177,24 @@
                 List<StoreVos> storeVos = pointMercharsClient.getStoreList(id);
                 model.addAttribute("store",storeVos);
             }
+            // 门票选的指定场地
+            if (infoOneVo.getUseScope() == 4){
+                List<StoreVos> storeVos = pointMercharsClient.getStoreList(id);
+                model.addAttribute("sites",storeVos);
+            }
             model.addAttribute("pictures",list);
             model.addAttribute("exchangeMethod",infoOneVo.getExchangeMethod());
             return PREFIX + "TGoods_detail_one.html";
         }
-
-
     }
-
 
     @RequestMapping("/coupon_record/{id}")
     public String memberCouponAdd(@PathVariable Integer id,Model model) {
         Coupon coupon = client.queryCouponById(id);
-
         model.addAttribute("id",id);
         model.addAttribute("type",coupon.getType());
         return PREFIX + "TCouponRecord.html";
     }
-
-
 
     @RequestMapping("/coupon_detail/{id}")
     public String memberCouponDetail(@PathVariable Integer id,Model model) {
@@ -259,6 +273,13 @@
         List<TCity> provinceList = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
         model.addAttribute("list",provinceList);
         return PREFIX + "TStoreListOne.html";
+    }
+    // 场地列表
+    @RequestMapping("/siteList1")
+    public String storePage2(Model model) {
+        List<TCity> provinceList = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+        model.addAttribute("list",provinceList);
+        return PREFIX + "TSiteListOne.html";
     }
     @RequestMapping("/updateType")
     @ResponseBody
@@ -401,8 +422,10 @@
      */
     @PostMapping(value = "/update")
     @ResponseBody
-    public Object update( Integer pointMerchandiseId,Integer quantityIssued,Integer pickUpQuantity,String redemptionInstructions,String cover,String productImages,Integer sort){
+    public Object update(String name, Integer pointMerchandiseId,Integer quantityIssued,Integer pickUpQuantity,
+                          String redemptionInstructions,String cover,String productImages,Integer sort){
         Map<String, Object> stringObjectHashMap = new HashMap<>();
+        stringObjectHashMap.put("name",name);
         stringObjectHashMap.put("pointMerchandiseId",pointMerchandiseId);
         stringObjectHashMap.put("quantityIssued",quantityIssued);
         stringObjectHashMap.put("pickUpQuantity",pickUpQuantity);
@@ -410,6 +433,7 @@
         stringObjectHashMap.put("cover",cover);
         stringObjectHashMap.put("productImages",productImages);
         stringObjectHashMap.put("sort",sort);
+        stringObjectHashMap.put("type",UserExt.getUser().getObjectType());
         System.out.println(stringObjectHashMap);
         pointMercharsClient.updateGoodsDetail(stringObjectHashMap);
         return new SuccessTip<>();
@@ -442,9 +466,31 @@
     @ResponseBody
     public Object add( Integer typeAll,String provinceCode,String cityCode,Integer storeId,Integer coursePackageTypeId,Integer coursePackageId,Integer coursePackageConfigId,
                        Double price,Integer type,Integer integral,Double cash,String cover,String imgOne,Integer userPopulation,Integer quantityIssued,Integer pickUpQuantity,
-                       String startTime,String text,Integer sort,String name,Integer useScope,String cityIds,String storeIds,Integer cardType
+                       String startTime,String text,Integer sort,String name,Integer useScope,String cityIds,String storeIds,String sites,Integer cardType
     ) throws ParseException {
+        // 判断当前选择的课包 是不是假期课 然后判断选择的有效期是否在假期课有效期内
+        if (coursePackageId!=null){
+            TCoursePackage tCoursePackage = coursePackageClient.queryById(coursePackageId);
+            if (tCoursePackage.getType()==2){
+                // 如果是假期课 获取到当前课包的开始时间和结束时间
+                Date endTime = tCoursePackage.getEndTime();
+                Date startTime1 = tCoursePackage.getStartTime();
+                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+                Date s = format.parse(startTime.split(" - ")[0]);
+                Date e = format.parse(startTime.split(" - ")[1]);
+                if (s.before(startTime1)){
+                    // 有效期开始时间小于假期课开始时间
+                    return 5009;
+                }
+                if (e.after(endTime)){
+                    // 有效期结束时间大于假期课结束时间
+                    return 5008;
+                }
+            }
+        }
         PointsMerchandise pointsMerchandise = new PointsMerchandise();
+        pointsMerchandise.setAddUserId(UserExt.getUser().getObjectId());
+        pointsMerchandise.setAddType(UserExt.getUser().getObjectType());
         pointsMerchandise.setType(typeAll);
         pointsMerchandise.setName(name);
         pointsMerchandise.setCoursePackageId(coursePackageId);
@@ -465,7 +511,19 @@
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         pointsMerchandise.setStartTime(format.parse(startTime.split(" - ")[0]));
         pointsMerchandise.setEndTime(format.parse(startTime.split(" - ")[1]));
-        pointsMerchandise.setUseScope(useScope);
+        if (UserExt.getUser().getObjectType()==3){
+            if (StringUtils.hasLength(sites)){
+                useScope = 4;
+                storeIds="";
+                pointsMerchandise.setUseScope(4);
+            }else{
+                useScope = 3;
+                pointsMerchandise.setUseScope(3);
+            }
+        }else{
+            pointsMerchandise.setUseScope(useScope);
+
+        }
         if(ToolUtil.isNotEmpty(provinceCode)){
             TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, provinceCode));
             pointsMerchandise.setProvinceCode(provinceCode);
@@ -481,6 +539,9 @@
         pointsMerchandise.setState(1);
         pointsMerchandise.setInsertTime(new Date());
         pointsMerchandise.setCoursePackageConfigId(coursePackageConfigId);
+        if(UserExt.getUser().getObjectType()!=1){
+            pointsMerchandise.setStatus(2);
+        }
         // 代替storeId
         pointsMerchandise.setShelves(1);
         if(typeAll!=2){
@@ -498,8 +559,17 @@
                     objects.add(map);
                 }
                 pointMercharsClient.addCitys(objects);
-            }else if(useScope==3){
-
+            }else if(useScope==3||useScope==4){
+                if(UserExt.getUser().getObjectType()==3){
+                    storeIds=UserExt.getUser().getObjectId().toString();
+                }
+                if (useScope==4){
+                    storeIds ="";
+                }
+                if (useScope==3){
+                    sites ="";
+                }
+                if (StringUtils.hasLength(storeIds)){
                 Integer oid=null;
                 String[] split = storeIds.split(",");
                 for (int i = 0; i < split.length; i++) {
@@ -512,22 +582,21 @@
                         return "5003";
                     }
                 }
+                }
                 Integer id = pointMercharsClient.add(pointsMerchandise);
-                String pam = id+"_"+storeIds;
-                // 添加多个城市 门店
+                String pam = id+"_"+storeIds+"_"+sites;
+                // 添加多个城市 门店 场地
                 try{
                     pointMercharsClient.addOther(pam);
-
                 }catch (Exception e){
                     e.printStackTrace();
                 }
             }else if(useScope==1){
                 Integer id = pointMercharsClient.add(pointsMerchandise);
             }
-
-
-
         }else {
+            pointsMerchandise.setShelves(storeId);
+            pointsMerchandise.setUseScope(3);
             Integer id = pointMercharsClient.add(pointsMerchandise);
         }
         return new SuccessTip<>();
@@ -639,6 +708,8 @@
     public String payOfDetails(@PathVariable(value = "id") Integer id,Model model) {
         System.out.println(id);
         model.addAttribute("id",id);
+        PointsMerchandise byId = pointMercharsClient.getById(id);
+        model.addAttribute("type",byId.getType());
         return PREFIX + "TGoods_pay.html";
     }
     /**

--
Gitblit v1.7.1