From c6332a2118d9d8fe43d773495a403d4a9edf533d Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期二, 15 八月 2023 18:15:59 +0800
Subject: [PATCH] 管理后台:积分商品的购买详情,列表页面;todo核销操作

---
 cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsPayedVo.java              |   24 ++
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java   |    4 
 cloud-server-activity/src/main/java/com/dsh/activity/service/ICouponService.java                          |    2 
 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java                  |    1 
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java              |   85 ++++++
 cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsVo.java                   |   38 +++
 cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js                            |   35 +-
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsVo.java      |   38 +++
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java        |   12 +
 cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java              |    5 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_pay.html                        |   48 ++++
 cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js                         |   99 ++++++++
 cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js                       |    3 
 cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java            |    4 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java   |  123 ++++++++-
 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsPayedVo.java |   24 ++
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html                       |  154 ++++++++++++
 17 files changed, 659 insertions(+), 40 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index f1e511e..b176c57 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -12,9 +12,7 @@
 import com.dsh.activity.feignclient.other.StoreClient;
 import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse;
 import com.dsh.activity.model.PointMerchandiseVo;
-import com.dsh.activity.model.request.AppUserGoodResp;
-import com.dsh.activity.model.request.CommodityRequest;
-import com.dsh.activity.model.request.IntegralGoodsOfSearch;
+import com.dsh.activity.model.request.*;
 import com.dsh.activity.service.*;
 import com.dsh.activity.util.GDMapGeocodingUtil;
 import com.dsh.activity.util.StrUtils;
@@ -28,6 +26,7 @@
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -540,8 +539,8 @@
         if (mapList.size() > 0){
             for (Map<String, Object> stringObjectMap : mapList) {
                 Integer o = (Integer) stringObjectMap.get("id");
-                Object startTime = stringObjectMap.get("startTime");
-                Object endTime = stringObjectMap.get("endTime");
+                String startTime = (String) stringObjectMap.get("startTime");
+                String endTime = (String) stringObjectMap.get("endTime");
                 stringObjectMap.put("timeValue",startTime + "至"+endTime);
                 int count1 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>()
                         .eq(UserPointsMerchandise::getPointsMerchandiseId, o));
@@ -550,16 +549,29 @@
                         .eq(UserPointsMerchandise::getStatus,2));
                 stringObjectMap.put("hasExchangeQty",count1);
                 stringObjectMap.put("hasPickQty",count2);
+
+                stringObjectMap.put("activeStatus",dealTimeStatus(startTime,endTime));
             }
             if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){
                 mapList = dealTimeData(mapList,ofSearch.getActiveStatus());
             }
         }
-        // TODO: 2023/8/14 state 活动状态
         System.out.println("mapList->"+mapList);
         return mapList;
     }
 
+    public int dealTimeStatus(String startTime, String endTime){
+        LocalDate now = LocalDate.now();
+        LocalDate start = LocalDate.parse(startTime);
+        LocalDate end = LocalDate.parse(endTime);
+        if (now.isBefore(start)) {
+            return 1; // 未开始
+        } else if (now.isAfter(end)) {
+            return 3; // 已结束
+        } else {
+            return 2; // 已开始
+        }
+    }
 
     /**
      *
@@ -606,4 +618,65 @@
         }
         return null;
     }
+
+
+    @PostMapping("/base/pointMerchars/queryPointMerchaseDetailOfId")
+    public PointMercharsVo queryPointMerchaseDetailOfId(@RequestBody Integer pointMercharsId){
+        PointMercharsVo vo = new PointMercharsVo();
+        PointsMerchandise byId = pmdsService.getById(pointMercharsId);
+        if (ToolUtil.isNotEmpty(byId)){
+            vo.setName(byId.getName());
+            vo.setCover(byId.getCover());
+            vo.setPics(byId.getProductImages());
+            vo.setQuantityIssued(byId.getQuantityIssued());
+            vo.setPickUpQuantity(byId.getPickUpQuantity());
+            vo.setSort(byId.getSort());
+            vo.setContent(byId.getRedemptionInstructions());
+        }
+        return vo;
+    }
+
+
+    @PostMapping("/base/pointMerchars/updateGoodsGroudingStatus")
+    boolean updateGoodsGroudingStatus(@RequestBody Map<String,Integer> map){
+        Integer id = map.get("id");
+        Integer type = map.get("type");
+        System.out.println(id);
+        System.out.println(type);
+        try {
+            PointsMerchandise byId = pmdsService.getById(id);
+            byId.setShelves(type);
+            pmdsService.updateById(byId);
+            return true;
+        }catch (Exception e){
+            return false;
+        }
+    }
+
+
+    @ResponseBody
+    @PostMapping("/base/pointMerchars/queryUserPayedGoodsList")
+    public List<Map<String, Object>> queryUserPayedGoodsList(@RequestBody PointMercharsPayedVo pointMercharsPayedVo){
+        System.out.println(pointMercharsPayedVo);
+        List<Map<String, Object>>  mapList = new ArrayList<>();
+        LambdaQueryWrapper<UserPointsMerchandise> userPointsMerchandiseLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getPointsMerchandiseId,pointMercharsPayedVo.getId());
+        if (ToolUtil.isNotEmpty(pointMercharsPayedVo.getStatus())){
+            userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getStatus,pointMercharsPayedVo.getStatus());
+        }
+        List<UserPointsMerchandise> list = upmseService.list(userPointsMerchandiseLambdaQueryWrapper);
+        System.out.println(list);
+        if (list.size() > 0 ){
+            for (UserPointsMerchandise pointsMerchandise : list) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("id",pointsMerchandise.getId());
+                map.put("userId",pointsMerchandise.getUserId());
+                map.put("status", pointsMerchandise.getStatus());
+                mapList.add(map);
+            }
+        }
+        System.out.println(mapList);
+        return mapList;
+    }
+
 }
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java
index 3b5bbf0..ab12b53 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserPointsMerchandiseMapper.java
@@ -1,7 +1,12 @@
 package com.dsh.activity.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dsh.activity.entity.UserPointsMerchandise;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsPayedVo.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsPayedVo.java
new file mode 100644
index 0000000..271e056
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsPayedVo.java
@@ -0,0 +1,24 @@
+package com.dsh.activity.model.request;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Map;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PointMercharsPayedVo {
+
+    Integer id;
+
+    String name;
+
+    String phone;
+
+    Integer status;
+
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsVo.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsVo.java
new file mode 100644
index 0000000..e781c0e
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/request/PointMercharsVo.java
@@ -0,0 +1,38 @@
+package com.dsh.activity.model.request;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PointMercharsVo {
+
+    String name;
+    /**
+     * 封面图
+     */
+    String cover;
+    /**
+     * 图片
+     */
+    String pics;
+    /**
+     * 发放数量
+     */
+    Integer quantityIssued;
+    /**
+     * 限领数量
+     */
+    Integer pickUpQuantity;
+    /**
+     * 商品说明
+     */
+    String content;
+    /**
+     * 排序
+     */
+    Integer sort;
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/ICouponService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/ICouponService.java
index 8df533f..3f7fcf6 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/ICouponService.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/ICouponService.java
@@ -6,7 +6,9 @@
 import com.dsh.activity.feignclient.model.CouponExamineListSearch;
 import com.dsh.activity.feignclient.model.CouponListOfSearch;
 import com.dsh.activity.model.CouponListVo;
+import com.dsh.activity.model.request.IntegralGoodsOfSearch;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java
index b8c2f1e..81e58a7 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/UserPointsMerchandiseService.java
@@ -2,6 +2,10 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.dsh.activity.entity.UserPointsMerchandise;
+import com.dsh.activity.model.request.PointMercharsPayedVo;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
index bc5edce..1483b1c 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
@@ -15,6 +15,7 @@
 import com.dsh.activity.feignclient.model.CouponListOfSearch;
 import com.dsh.activity.mapper.CouponMapper;
 import com.dsh.activity.model.CouponListVo;
+import com.dsh.activity.model.request.IntegralGoodsOfSearch;
 import com.dsh.activity.service.ICouponService;
 import org.springframework.stereotype.Service;
 
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java
index c989bb4..0ba9902 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserPointsMerchandiseServiceImpl.java
@@ -3,9 +3,13 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dsh.activity.entity.UserPointsMerchandise;
 import com.dsh.activity.mapper.UserPointsMerchandiseMapper;
+import com.dsh.activity.model.request.PointMercharsPayedVo;
 import com.dsh.activity.service.UserPointsMerchandiseService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 用户积分商品领取记录 服务实现类
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
index 57a674d..7c252e3 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
@@ -1,7 +1,10 @@
 package com.dsh.course.feignClient.activity;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dsh.course.feignClient.activity.model.IntegralGoodsOfSearch;
+import com.dsh.course.feignClient.activity.model.PointMercharsPayedVo;
+import com.dsh.course.feignClient.activity.model.PointMercharsVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -15,4 +18,13 @@
     @PostMapping("/base/pointMerchars/queryGoodsListSearch")
     List<Map<String,Object>> getIntegralGoodsListOfSearch(@RequestBody IntegralGoodsOfSearch ofSearch);
 
+    @PostMapping("/base/pointMerchars/queryPointMerchaseDetailOfId")
+    PointMercharsVo queryPointMerchaseDetailOfId(@RequestBody Integer pointMercharsId);
+
+    @PostMapping("/base/pointMerchars/updateGoodsGroudingStatus")
+    boolean updateGoodsGroudingStatus(@RequestBody Map<String,Integer> map);
+
+    @PostMapping("/base/pointMerchars/queryUserPayedGoodsList")
+    List<Map<String, Object>> queryUserPayedGoodsList(@RequestBody PointMercharsPayedVo pointMercharsPayedVo);
+
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsPayedVo.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsPayedVo.java
new file mode 100644
index 0000000..5a8db1a
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsPayedVo.java
@@ -0,0 +1,24 @@
+package com.dsh.course.feignClient.activity.model;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Map;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PointMercharsPayedVo {
+
+    Integer id;
+
+    String name;
+
+    String phone;
+
+    Integer status;
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsVo.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsVo.java
new file mode 100644
index 0000000..ab8d03b
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/PointMercharsVo.java
@@ -0,0 +1,38 @@
+package com.dsh.course.feignClient.activity.model;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PointMercharsVo {
+
+    String name;
+    /**
+     * 封面图
+     */
+    String cover;
+    /**
+     * 图片
+     */
+    String pics;
+    /**
+     * 发放数量
+     */
+    Integer quantityIssued;
+    /**
+     * 限领数量
+     */
+    Integer pickUpQuantity;
+    /**
+     * 商品说明
+     */
+    String content;
+    /**
+     * 排序
+     */
+    Integer sort;
+}
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 df6e422..58c86e5 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
@@ -9,10 +9,12 @@
 import com.dsh.course.feignClient.account.model.CityManager;
 import com.dsh.course.feignClient.account.model.QueryByNamePhone;
 import com.dsh.course.feignClient.account.model.TAppUser;
+import com.dsh.course.feignClient.account.model.TCityManager;
 import com.dsh.course.feignClient.activity.CouponClient;
 import com.dsh.course.feignClient.activity.PointMercharsClient;
 import com.dsh.course.feignClient.activity.model.*;
 import com.dsh.guns.config.UserExt;
+import com.dsh.guns.core.base.tips.ErrorTip;
 import com.dsh.guns.core.base.tips.SuccessTip;
 import com.dsh.guns.core.common.constant.factory.PageFactory;
 import com.dsh.guns.core.util.ToolUtil;
@@ -215,23 +217,6 @@
         return storeList;
     }
 
-//    /**
-//     * 获取 优惠券管理
-//     */
-//    @RequestMapping(value = "/list")
-//    @ResponseBody
-//    public Object listOfDatas(String name, Integer type, Integer distributionMethod , Integer userPopulation, Integer status, Integer state) {
-//        Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-//        CouponListOfSearch ofSearch = new CouponListOfSearch();
-//        ofSearch.setPage(page);
-//        ofSearch.setName(name);
-//        ofSearch.setType(type);
-//        ofSearch.setDistributionMethod(distributionMethod);
-//        ofSearch.setUserPopulation(userPopulation);
-//        ofSearch.setStatus(status);
-//        ofSearch.setState(state);
-//        return client.getCouponListOfSearch(ofSearch);
-//    }
     @RequestMapping(value = "/listRecord")
     @ResponseBody
     public Object listRecord(Integer id,String name, Integer type, String phone) {
@@ -352,4 +337,108 @@
 
 
 
+    /**
+     * 跳转到修改车辆管理
+     */
+    @RequestMapping("/tGoods_update/{id}")
+    public String tCityUpdate(@PathVariable Integer id, Model model) {
+        System.out.println("id:"+id);
+        PointMercharsVo pointMercharsVo = pointMercharsClient.queryPointMerchaseDetailOfId(id);
+        System.out.println("pointMercharsVo:"+pointMercharsVo);
+        String[] split = pointMercharsVo.getPics().split(",");
+        model.addAttribute("item",pointMercharsVo);
+        model.addAttribute("pictures",split);
+        return PREFIX + "TGoods_edit.html";
+    }
+
+    /**
+     *  上下架处理操作
+     * @param id 商品id
+     * @param type 1=上架操作 2=下架操作
+     * @return
+     */
+    @RequestMapping("/grounding")
+    @ResponseBody
+    public Object updateGrounding(Integer id,Integer type) {
+        System.out.println(id);
+        System.out.println(type);
+        Map<String,Integer> map = new HashMap<>();
+        map.put("id",id);
+        map.put("type",type);
+        boolean b = pointMercharsClient.updateGoodsGroudingStatus(map);
+        System.out.println(b);
+        return new SuccessTip<>();
+    }
+
+
+
+    /**
+     *  购买详情
+     * @param id 商品id
+     * @return
+     */
+    @RequestMapping("/tPay_detail/{id}")
+    public String payOfDetails(@PathVariable(value = "id") Integer id,Model model) {
+        System.out.println(id);
+        model.addAttribute("id",id);
+        return PREFIX + "TGoods_pay.html";
+    }
+
+
+    /**
+     * 获取 购买记录列表
+     */
+    @ResponseBody
+    @RequestMapping(value = "/payList/{id}")
+    public Object payList(@PathVariable(value = "id") Integer id, String name, String phone, Integer status) {
+        PointMercharsPayedVo  payedVo = new PointMercharsPayedVo();
+        payedVo.setId(id);
+        payedVo.setName(name);
+        payedVo.setPhone(phone);
+        payedVo.setStatus(status);
+        List<Map<String,Object>> points = pointMercharsClient.queryUserPayedGoodsList(payedVo);
+        System.out.println(points);
+        if (points.size() > 0 ){
+            for (Map<String, Object> point : points) {
+                Integer userId = (Integer) point.get("userId");
+                TAppUser tAppUser = appUserClient.queryById(userId);
+                if (ToolUtil.isNotEmpty(tAppUser)){
+                    point.put("name",tAppUser.getName());
+                    point.put("phone",tAppUser.getPhone());
+                }
+            }
+            if (ToolUtil.isNotEmpty(name)){
+                points = points.stream()
+                        .filter(data -> {
+                            String obtName = (String) data.get("name");
+                            return obtName != null && obtName.contains(name);
+                        })
+                        .collect(Collectors.toList());
+            }
+            if (ToolUtil.isNotEmpty(phone)){
+                points = points.stream()
+                        .filter(data -> {
+                            String obtPhone = (String) data.get("phone");
+                            return obtPhone != null && obtPhone.contains(phone);
+                        })
+                        .collect(Collectors.toList());
+            }
+        }
+        return points;
+    }
+
+    /**
+     *  核销操作
+     * @param id 商品id
+     * @return
+     */
+    @RequestMapping("/write_off")
+    @ResponseBody
+    public Object GoodsWriteOff(Integer id){
+        System.out.println(id);
+        // TODO: 2023/8/15 核销操作
+        return new SuccessTip<>();
+    }
+
+
 }
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html
new file mode 100644
index 0000000..59b18fe
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_edit.html
@@ -0,0 +1,154 @@
+@layout("/common/_container.html"){
+<style>
+    .avatar-uploader .el-upload {
+        border: 1px dashed #d9d9d9;
+        border-radius: 6px;
+        cursor: pointer;
+        position: relative;
+        height: 100px;
+        width: 100px;
+        overflow: hidden;
+    }
+
+    .avatar-uploader .el-upload:hover {
+        border-color: #409eff;
+    }
+
+    .avatar-uploader-icon {
+        font-size: 28px;
+        color: #8c939d;
+        width: 100px;
+        height: 100px;
+        line-height: 110px;
+        margin-top: 40px;
+        text-align: center;
+    }
+
+    .avatar {
+        width: 100px;
+        height: 100px;
+        display: block;
+    }
+
+    .col-sm-12 {
+        margin-top: 20px;
+    }
+
+    .col-sm-12 select {
+        height: 33px;
+    }
+</style>
+<div class="ibox float-e-margins">
+    <div class="ibox-content">
+        <div class="form-horizontal" id="carInfoForm">
+            <div id="b1">
+
+                <#input id="name" name="商品名称" type="text" value="${item.name}" readonly="true" />
+
+                <#avatar id="cover" name="商品封面:" avatarImg="${item.cover}" />
+
+
+                <div class="row" id="app" style="margin-left: 225px;">
+                    <div class="col-sm-6">
+                        <div class="form-group">
+                            <label class="col-sm-3 control-label">商品图片(请上传不超过五张图片): </label>
+                            <div class="col-sm-2" style="width: 100%;margin-left: 12%;margin-top: 1%">
+                                <el-upload
+                                        :limit="5"
+                                        class="avatar-uploader"
+                                        action="/tCouponManage/uploadPic"
+                                        list-type="picture-card"
+                                        accept=".jpg,.jpeg,.png,.JPG,.JPEG"
+                                        :on-success="handleAvatarSuccess"
+                                        :on-remove="handleRemove">
+                                    <i class="el-icon-plus"></i>
+                                </el-upload>
+                                <el-dialog :visible.sync="dialogVisible">
+<!--                                    <img width="100%" :src="imageUrl1" alt="">-->
+                                    @for(im in pictures){
+                                    <img width="100%" src="${im}">
+                                    @}
+                            </div>
+                        </div>
+
+                    </div>
+                </div>
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">发放数量:</label>
+                    <div class="col-sm-9">
+                        <input class="form-control" id="quantityIssued" name="quantityIssued" type="text" value="${item.quantityIssued}">
+                    </div>
+                </div>
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">限领数量:</label>
+                    <div class="col-sm-9">
+                        <input class="form-control" id="pickUpQuantity" name="pickUpQuantity" type="text"  value="${item.pickUpQuantity}">
+                    </div>
+                </div>
+
+                <div class="form-group" style="margin-left:262px">
+                    <label class="col-sm-1 control-label">兑换说明:</label>
+                    <div class="col-sm-5">
+                        <textarea type="text/plain" id="editor"  style="height: 300px;width: 800px;">${item.content}</textarea>
+                    </div>
+                </div>
+
+                <div class="form-group">
+                    <label class="col-sm-3 control-label">排序:</label>
+                    <div class="col-sm-9">
+                        <input class="form-control" id="sort" name="sort" type="text"  value="${item.sort}">
+                    </div>
+                </div>
+            </div>
+
+
+        </div>
+    </div>
+
+    <div class="row btn-group-m-t">
+        <div class="col-sm-10 col-sm-offset-5">
+            <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCarInfoDlg.editSubmit()"/>
+            <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/>
+        </div>
+    </div>
+
+</div>
+
+</div>
+</div>
+<script src="${ctxPath}/js/vue/vue.js"></script>
+<script src="${ctxPath}/js/elementui/index.js"></script>
+<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css">
+<script src="${ctxPath}/modular/system/tGoods/tGoods_info.js"></script>
+<script>
+    var vue2 = new Vue({
+        el: '#app',
+        data: {
+            autoUpload: true,//自动上传
+            imageUrl1: '',//模型数据,用于上传图片完成后图片预览
+            dialogVisible: false
+        },
+        methods: {
+            handleAvatarSuccess(res, file) {
+                TCarInfoDlg.goodsPicArray.push(file);
+            },
+            beforeAvatarUpload(file) {
+                const isLt2M = file.size / 1024 / 1024 < 10;
+                if (!isLt2M) {
+                    this.$message.error('上传图片大小不能超过 10MB!');
+                }
+                return isLt2M;
+            },
+            handleRemove(file, fileList) {
+                TCarInfoDlg.goodsPicArray = TCarInfoDlg.goodsPicArray.filter(item => {
+                    return item.uid != file.uid;
+                });
+            },
+        },
+        created() {
+        },
+    });
+</script>
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_pay.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_pay.html
new file mode 100644
index 0000000..0f1e6ef
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_pay.html
@@ -0,0 +1,48 @@
+@layout("/common/_container.html"){
+<div class="row">
+    <div class="col-sm-12">
+        <div class="ibox float-e-margins">
+            <input id="id" value="${id}" hidden="hidden">
+            <div class="ibox-content">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
+                        <div class="row">
+
+                            <div class="col-sm-3">
+                                <#NameCon id="name" name="姓名" />
+                            </div>
+                            <div class="col-sm-3">
+                                <#NameCon id="phone" name="联系方式:" />
+                            </div>
+                            <div class="col-sm-3">
+                                <#SelectCon id="status" name="状态:">
+                                <option value="">全部</option>
+                                <option value="1">未使用</option>
+                                <option value="2">已使用</option>
+                                </#SelectCon>
+                        </div>
+                        <div class="col-sm-3">
+                            <#button name="搜索" icon="fa-search" clickFun="TPayInfo.search()"/>
+                            <#button name="重置" icon="fa-trash" clickFun="TPayInfo.resetSearch()" space="true"/>
+                        </div>
+                    </div>
+                    <div class="hidden-xs" id="TPayInfoTableToolbar" role="group">
+                        <#button name="核销" icon="fa-plus" clickFun="TPayInfo.WriteOff()"/>
+                    </div>
+                    <#table id="TPayInfoTable"/>
+
+                    <div style="margin-left: 40%">
+                        <button type="button" class="btn btn-info button-margin" onclick="TPayInfo.close()"
+                                id="submit" style="width: 30%;height: 40px;background: #0d8ddb;color: white;border: none;">
+                            <i class="fa fa-check"></i>&nbsp;关闭
+                        </button>
+                    </div>
+
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</div>
+<script src="${ctxPath}/modular/system/tGoods/tPay_info.js"></script>
+@}
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js
index a913f80..f323923 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js
@@ -49,8 +49,10 @@
         },
         {title: '排序', field: 'sort', visible: true, align: 'center', valign: 'middle'
         },
-        {title: '活动状态', field: 'state', visible: true, align: 'center', valign: 'middle'
-
+        {title: '活动状态', field: 'activeStatus', visible: true, align: 'center', valign: 'middle',
+            formatter: function (value, row, index) {
+                return {1: "未开始", 2: "已开始", 3: "已结束"}[value]
+            }
         },
         {title: '可售状态', field: 'shelves', visible: true, align: 'center', valign: 'middle',
             formatter: function (value, row, index) {
@@ -145,11 +147,11 @@
     if (this.check()) {
         var index = layer.open({
             type: 2,
-            title:'编辑',
-            area: ['100%', '100%'], //宽高
+            title:'购买详情',
+            area: ['70%', '70%'], //宽高
             fix: false, //不固定
             maxmin: true,
-            content: Feng.ctxPath + '/tGoods/tCity_update/' + TPointProducts.seItem.id
+            content: Feng.ctxPath + '/tGoods/tPay_detail/' + TPointProducts.seItem.id
         });
         this.layerIndex = index;
     }
@@ -166,7 +168,7 @@
             area: ['100%', '100%'], //宽高
             fix: false, //不固定
             maxmin: true,
-            content: Feng.ctxPath + '/tGoods/tCity_update/' + TPointProducts.seItem.id
+            content: Feng.ctxPath + '/tGoods/tGoods_update/' + TPointProducts.seItem.id
         });
         this.layerIndex = index;
     }
@@ -178,16 +180,17 @@
  */
 TPointProducts.grounding = function (m) {
     console.log('m:',m);
-    // if (this.check()) {
-    //     var ajax = new $ax(Feng.ctxPath + "/tGoods/freeze", function (data) {
-    //         Feng.success("冻结成功!");
-    //         TPointProducts.table.refresh();
-    //     }, function (data) {
-    //         Feng.error("冻结失败!" + data.responseJSON.message + "!");
-    //     });
-    //     ajax.set("id",this.seItem.id);
-    //     ajax.start();
-    // }
+    if (this.check()) {
+        var ajax = new $ax(Feng.ctxPath + "/tGoods/grounding", function (data) {
+            Feng.success("操作成功!");
+            TPointProducts.table.refresh();
+        }, function (data) {
+            Feng.error("操作失败!" + data.responseJSON.message + "!");
+        });
+        ajax.set("id",this.seItem.id);
+        ajax.set("type",m);
+        ajax.start();
+    }
 };
 
 
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js
index d66b8e2..aff59ba 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js
@@ -52,9 +52,10 @@
  * 关闭此对话框
  */
 TCarInfoDlg.close = function() {
-    parent.layer.close(window.parent.TCompetition.layerIndex);
+    parent.layer.close(window.parent.TPointProducts.layerIndex);
 }
 
+
 /**
  * 收集数据
  */
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js
new file mode 100644
index 0000000..8045689
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js
@@ -0,0 +1,99 @@
+/**
+ * 管理初始化
+ */
+var TPayInfo = {
+    id: "TPayInfoTable",	//表格id
+    seItem: null,		//选中的条目
+    table: null,
+    layerIndex: -1,
+};
+
+/**
+ * 初始化表格的列
+ */
+TPayInfo.initColumn = function () {
+    return [
+        {field: 'selectItem', radio: true},
+        {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
+        {title: '选择', field: '', visible: true, align: 'center', valign: 'middle'},
+        {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle'},
+        {title: '联系方式', field: 'phone', visible: true, align: 'center', valign: 'middle'},
+        {title: '使用状态', field: 'status', visible: true, align: 'center', valign: 'middle',
+            formatter: function (value, row, index) {
+                return {1: "未使用", 2: "待核销"}[value]
+            }
+        },
+    ];
+};
+
+/**
+ * 检查是否选中
+ */
+TPayInfo.check = function () {
+    var selected = $('#' + this.id).bootstrapTable('getSelections');
+    if(selected.length == 0){
+        Feng.info("请先选中表格中的某一记录!");
+        return false;
+    }else{
+        TPayInfo.seItem = selected[0];
+        return true;
+    }
+};
+
+
+/**
+ * 核销操作
+ * @constructor
+ */
+TPayInfo.WriteOff = function (){
+    if (this.check()) {
+        var ajax = new $ax(Feng.ctxPath + "/tGoods/write_off", function (data) {
+            Feng.success("核销成功!");
+            TPayInfo.table.refresh();
+        }, function (data) {
+            Feng.error("核销失败!" + data.responseJSON.message + "!");
+        });
+        ajax.set("id",this.seItem.id);
+        ajax.start();
+    }
+}
+
+
+/**
+ * 关闭此对话框
+ */
+TPayInfo.close = function() {
+    parent.layer.close(window.parent.TPointProducts.layerIndex);
+}
+
+
+/**
+ * 查询列表
+ */
+TPayInfo.search = function () {
+    var queryData = {};
+    queryData['name'] = $("#name").val();
+    queryData['phone'] = $("#phone").val();
+    queryData['status'] = $("#status").val();
+    queryData['id'] = $("#id").val();
+    TPayInfo.table.refresh({query: queryData});
+};
+
+
+/**
+ * 重置搜索
+ */
+TPayInfo.resetSearch = function () {
+    $("#name").val('');
+    $("#phone").val('');
+    $("#status").val('');
+    TPayInfo.search();
+};
+
+$(function () {
+    let goodsId =  $("#id").val();
+    var defaultColunms = TPayInfo.initColumn();
+    var table = new BSTable(TPayInfo.id, "/tGoods/payList/"+goodsId, defaultColunms);
+    table.setPaginationType("client");
+    TPayInfo.table = table.init();
+});

--
Gitblit v1.7.1