From 0f64a74ee3b818bb42b7b9c9b01a9d33c279781b Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期一, 14 八月 2023 18:31:21 +0800
Subject: [PATCH] 管理后台:修复积分商品列表的数据展示
---
cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java | 13 +
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java | 2
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 79 ++++++
cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java | 6
cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods.js | 354 ++++++++---------------------
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/IntegralGoodsOfSearch.java | 29 ++
cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml | 32 ++
cloud-server-management/src/main/webapp/WEB-INF/view/system/tCity/TCity_edit.html | 2
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java | 18 +
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java | 67 +++-
cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods.html | 72 +++--
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java | 9
cloud-server-activity/src/main/java/com/dsh/activity/model/request/IntegralGoodsOfSearch.java | 29 ++
13 files changed, 407 insertions(+), 305 deletions(-)
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
index 3228d61..4829342 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -441,7 +441,7 @@
}
coupon.setAuditStatus(1);
coupon.setStatus(1);
- coupon.setState(2);
+ coupon.setState(1);
coupon.setInsertTime(new Date());
coupon.setCover(dataVo.getGoodImg());
String goodImgs = dataVo.getGoodImgs();
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 24697ee..f1e511e 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
@@ -14,6 +14,7 @@
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.service.*;
import com.dsh.activity.util.GDMapGeocodingUtil;
import com.dsh.activity.util.StrUtils;
@@ -23,7 +24,10 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import javax.xml.crypto.Data;
+import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
@@ -527,4 +531,79 @@
}
+
+ @ResponseBody
+ @PostMapping("/base/pointMerchars/queryGoodsListSearch")
+ public List<Map<String,Object>> getIntegralGoodsListOfSearch(@RequestBody IntegralGoodsOfSearch ofSearch){
+ System.out.println(ofSearch);
+ List<Map<String, Object>> mapList = pmdsService.queryGoodsListOfSearch(ofSearch);
+ 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");
+ stringObjectMap.put("timeValue",startTime + "至"+endTime);
+ int count1 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>()
+ .eq(UserPointsMerchandise::getPointsMerchandiseId, o));
+ int count2 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>()
+ .eq(UserPointsMerchandise::getPointsMerchandiseId, o)
+ .eq(UserPointsMerchandise::getStatus,2));
+ stringObjectMap.put("hasExchangeQty",count1);
+ stringObjectMap.put("hasPickQty",count2);
+ }
+ if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){
+ mapList = dealTimeData(mapList,ofSearch.getActiveStatus());
+ }
+ }
+ // TODO: 2023/8/14 state 活动状态
+ System.out.println("mapList->"+mapList);
+ return mapList;
+ }
+
+
+ /**
+ *
+ * @param mapLists
+ * @param timeType 1=未开始 2=已开始 3=已结束
+ * @return
+ */
+ public List<Map<String, Object>> dealTimeData(List<Map<String, Object>> mapLists,Integer timeType){
+ Date currentDate = new Date();
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ switch (timeType){
+ case 1:
+ return mapLists.stream()
+ .filter(event -> {
+ try {
+ return simpleDateFormat.parse((String) event.get("startTime")).after(currentDate);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ })
+ .collect(Collectors.toList());
+ case 2:
+ return mapLists.stream()
+ .filter(event -> {
+ try {
+ return simpleDateFormat.parse((String) event.get("startTime")).before(currentDate) && simpleDateFormat.parse((String) event.get("endTime")).after(currentDate);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ })
+ .collect(Collectors.toList());
+ case 3:
+ return mapLists.stream()
+ .filter(event -> {
+ try {
+ return simpleDateFormat.parse((String) event.get("endTime")).before(currentDate);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ })
+ .collect(Collectors.toList());
+ default:
+ break;
+ }
+ return null;
+ }
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java
index 4e3fe33..1293821 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/PointsMerchandiseMapper.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.PointsMerchandise;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -13,4 +18,12 @@
*/
public interface PointsMerchandiseMapper extends BaseMapper<PointsMerchandise> {
+ List<Map<String, Object>> queryGoodsListOfSearch(@Param("name")String name,
+ @Param("type")Integer type,
+ @Param("redemptionMethod")Integer redemptionMethod,
+ @Param("userPopulation") Integer userPopulation,
+ @Param("activeStatus") Integer activeStatus,
+ @Param("state") Integer state,
+ @Param("page") Page<Map<String, Object>> page);
+
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/request/IntegralGoodsOfSearch.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/request/IntegralGoodsOfSearch.java
new file mode 100644
index 0000000..6c2ef5e
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/request/IntegralGoodsOfSearch.java
@@ -0,0 +1,29 @@
+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 IntegralGoodsOfSearch {
+
+ private String name;
+
+ private Integer type;
+
+ private Integer redemptionMethod;
+
+ private Integer userPopulation;
+
+ private Integer activeStatus;
+
+ private Integer state;
+
+ private Page<Map<String, Object>> page;
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java
index c658be5..a27221b 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/PointsMerchandiseService.java
@@ -2,6 +2,10 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.activity.entity.PointsMerchandise;
+import com.dsh.activity.model.request.IntegralGoodsOfSearch;
+
+import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -13,4 +17,6 @@
*/
public interface PointsMerchandiseService extends IService<PointsMerchandise> {
+ List<Map<String, Object>> queryGoodsListOfSearch(IntegralGoodsOfSearch ofSearch);
+
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java
index 4809c45..3709d22 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PointsMerchandiseServiceImpl.java
@@ -3,8 +3,12 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.activity.entity.PointsMerchandise;
import com.dsh.activity.mapper.PointsMerchandiseMapper;
+import com.dsh.activity.model.request.IntegralGoodsOfSearch;
import com.dsh.activity.service.PointsMerchandiseService;
import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -17,4 +21,9 @@
@Service
public class PointsMerchandiseServiceImpl extends ServiceImpl<PointsMerchandiseMapper, PointsMerchandise> implements PointsMerchandiseService {
+ @Override
+ public List<Map<String, Object>> queryGoodsListOfSearch(IntegralGoodsOfSearch ofSearch) {
+ return this.baseMapper.queryGoodsListOfSearch(ofSearch.getName(),ofSearch.getType(),ofSearch.getRedemptionMethod(),
+ ofSearch.getUserPopulation(),ofSearch.getActiveStatus(),ofSearch.getState(),ofSearch.getPage());
+ }
}
diff --git a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
index 8e05102..38bcc37 100644
--- a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
@@ -3,4 +3,36 @@
<mapper namespace="com.dsh.activity.mapper.PointsMerchandiseMapper">
+ <select id="queryGoodsListOfSearch" resultType="java.util.Map">
+ SELECT id,
+ `name`,
+ `cover`,
+ `type`,
+ date_format(startTime ,'%Y-%m-%d') as startTime,
+ date_format(endTime ,'%Y-%m-%d') as endTime,
+ useScope,
+ userPopulation,
+ quantityIssued,
+ pickUpQuantity,
+ `sort`,
+ shelves
+ from t_points_merchandise
+ where 1 = 1
+ <if test="name != null">
+ and `name` like concat('%', #{name}, '%')
+ </if>
+ <if test="type != null">
+ and type = #{type}
+ </if>
+ <if test="redemptionMethod != null">
+ and redemptionMethod = #{redemptionMethod}
+ </if>
+ <if test="userPopulation != null">
+ and userPopulation = #{userPopulation}
+ </if>
+ <if test="state != null">
+ and `state` = #{state}
+ </if>
+ order by insertTime desc
+ </select>
</mapper>
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
new file mode 100644
index 0000000..57a674d
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java
@@ -0,0 +1,18 @@
+package com.dsh.course.feignClient.activity;
+
+
+import com.dsh.course.feignClient.activity.model.IntegralGoodsOfSearch;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+import java.util.Map;
+
+@FeignClient(value = "mb-cloud-activity")
+public interface PointMercharsClient {
+
+ @PostMapping("/base/pointMerchars/queryGoodsListSearch")
+ List<Map<String,Object>> getIntegralGoodsListOfSearch(@RequestBody IntegralGoodsOfSearch ofSearch);
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/IntegralGoodsOfSearch.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/IntegralGoodsOfSearch.java
new file mode 100644
index 0000000..d5dd6c0
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/IntegralGoodsOfSearch.java
@@ -0,0 +1,29 @@
+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 IntegralGoodsOfSearch {
+
+ private String name;
+
+ private Integer type;
+
+ private Integer redemptionMethod;
+
+ private Integer userPopulation;
+
+ private Integer activeStatus;
+
+ private Integer state;
+
+ private Page<Map<String, Object>> page;
+}
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 75c6d7c..df6e422 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
@@ -10,10 +10,8 @@
import com.dsh.course.feignClient.account.model.QueryByNamePhone;
import com.dsh.course.feignClient.account.model.TAppUser;
import com.dsh.course.feignClient.activity.CouponClient;
-import com.dsh.course.feignClient.activity.model.Coupon;
-import com.dsh.course.feignClient.activity.model.CouponCity;
-import com.dsh.course.feignClient.activity.model.CouponListOfSearch;
-import com.dsh.course.feignClient.activity.model.CouponRecordQuery;
+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.SuccessTip;
import com.dsh.guns.core.common.constant.factory.PageFactory;
@@ -71,6 +69,9 @@
private AppUserClient appUserClient;
@Autowired
private ICityService cityService;
+
+ @Resource
+ private PointMercharsClient pointMercharsClient;
@@ -214,23 +215,23 @@
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 = "/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) {
@@ -327,4 +328,28 @@
client.updateCouponData(coupon);
return new SuccessTip<>();
}
+
+
+ /**
+ * 获取 积分商品列表
+ */
+ @RequestMapping(value = "/list")
+ @ResponseBody
+ public Object listOfIntegralGoods(String name, Integer type, Integer redemptionMethod , Integer userPopulation, Integer activeStatus, Integer state) {
+ Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+
+ IntegralGoodsOfSearch ofSearch = new IntegralGoodsOfSearch();
+ ofSearch.setPage(page);
+ ofSearch.setName(name);
+ ofSearch.setType(type);
+ ofSearch.setRedemptionMethod(redemptionMethod);
+ ofSearch.setUserPopulation(userPopulation);
+ ofSearch.setActiveStatus(activeStatus);
+ ofSearch.setState(state);
+ System.out.println(ofSearch);
+ return pointMercharsClient.getIntegralGoodsListOfSearch(ofSearch);
+ }
+
+
+
}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCity/TCity_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCity/TCity_edit.html
index 1d8f66c..8bb70f5 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCity/TCity_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCity/TCity_edit.html
@@ -27,7 +27,7 @@
</select>
</div>
</div>
- <#input id="name" name="管理员姓名" type="text" value="${item.name}"/>
+ <#input id="name" name="发放数量" type="text" value="${item.name}"/>
<#input id="phone" name="管理员手机号" type="text" value="${item.phone}"/>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods.html
index 8bea802..d3d1667 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods.html
@@ -12,33 +12,62 @@
<div class="row">
<div class="col-sm-3">
- <#NameCon id="name" name="优惠券名称" />
+ <#NameCon id="name" name="商品名称" />
</div>
<div class="col-sm-3">
- <#SelectCon id="type" name="优惠券类型">
+ <#SelectCon id="type" name="商品类型">
<option value="">全部</option>
- <option value="1">满减券</option>
- <option value="2">体验券</option>
- <option value="3">代金券</option>
+ <option value="1">实体商品</option>
+ <option value="2">课包商品</option>
+ <option value="3">门票商品</option>
+ <option value="4">优惠券</option>
</#SelectCon>
- </div>
- <div class="col-sm-3">
- <#NameCon id="phone" name="管理员手机号" />
</div>
<div class="col-sm-3">
- <#button name="搜索" icon="fa-search" clickFun="TCompetition.search()"/>
- <#button name="重置" icon="fa-trash" clickFun="TCompetition.resetSearch()" space="true"/>
+ <#SelectCon id="redemptionMethod" name="兑换方式">
+ <option value="">全部</option>
+ <option value="1">积分</option>
+ <option value="2">现金+积分</option>
+ <option value="3">现金</option>
+ </#SelectCon>
+ </div>
+ <div class="col-sm-3">
+ <#SelectCon id="userPopulation" name="用户人群">
+ <option value="">全部</option>
+ <option value="1">全部用户</option>
+ <option value="2">年度会员</option>
+ <option value="3">已有学员用户</option>
+ </#SelectCon>
+ </div>
+ <div class="col-sm-3">
+ <#SelectCon id="activeStatus" name="活动状态">
+ <option value="">全部</option>
+ <option value="1">未开始</option>
+ <option value="2">已开始</option>
+ <option value="3">已结束</option>
+ </#SelectCon>
+ </div>
+ <div class="col-sm-3">
+ <#SelectCon id="state" 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="TPointProducts.search()"/>
+ <#button name="重置" icon="fa-trash" clickFun="TPointProducts.resetSearch()" space="true"/>
</div>
</div>
- <div class="hidden-xs" id="TCompetitionTableToolbar" role="group">
- <#button name="添加" icon="fa-plus" clickFun="TCompetition.openAddTCompetition()"/>
- <#button name="编辑" icon="fa-edit" clickFun="TCompetition.openTCompetitionDetail()" space="true"/>
- <#button name="冻结" icon="fa-remove" clickFun="TCompetition.freeze()" space="true"/>
- <#button name="解冻" icon="fa-remove" clickFun="TCompetition.unfreeze()" space="true"/>
- <#button name="重置密码" icon="fa-remove" clickFun="TCompetition.reload()" space="true"/>
-
+ <div class="hidden-xs" id="TPointProductsTableToolbar" role="group">
+ <#button name="添加" icon="fa-plus" clickFun="TPointProducts.openAddTPointProducts()"/>
+ <#button name="编辑" icon="fa-edit" clickFun="TPointProducts.openEditPage()" space="true"/>
+ <#button name="上架" icon="fa-remove" clickFun="TPointProducts.grounding(1)" space="true"/>
+ <#button name="下架" icon="fa-remove" clickFun="TPointProducts.grounding(2)" space="true"/>
+ <#button name="查看详情" icon="fa-remove" clickFun="TPointProducts.detail()" space="true"/>
+ <#button name="购买详情" icon="fa-remove" clickFun="TPointProducts.payDetail()" space="true"/>
</div>
- <#table id="TCompetitionTable"/>
+ <#table id="TPointProductsTable"/>
</div>
</div>
</div>
@@ -46,11 +75,4 @@
</div>
</div>
<script src="${ctxPath}/modular/system/tGoods/tGoods.js"></script>
-<script>
- laydate.render({
- elem: '#createTime'
- ,range: true
- ,lang:"en"
- });
-</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 e6151cd..a913f80 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
@@ -1,8 +1,8 @@
/**
* 车辆管理管理初始化
*/
-var TCompetition = {
- id: "TCompetitionTable", //表格id
+var TPointProducts = {
+ id: "TPointProductsTable", //表格id
seItem: null, //选中的条目
table: null,
layerIndex: -1
@@ -11,42 +11,51 @@
/**
* 初始化表格的列
*/
-TCompetition.initColumn = function () {
+TPointProducts.initColumn = function () {
return [
{field: 'selectItem', radio: true},
- {title: '商品类型', field: 'province', visible: true, align: 'center', valign: 'middle'
+ {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
+ {title: '商品类型', field: 'type', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "实体商品", 2: "课包商品", 3: "门票商品", 4: "优惠券"}[value]
+ }
},
- {title: '商品名称', field: 'city', visible: true, align: 'center', valign: 'middle'},
- {title: '商品封面', field: 'name', visible: true, align: 'center', valign: 'middle'
+ {title: '商品名称', field: 'name', visible: true, align: 'center', valign: 'middle'},
+ {title: '商品封面', field: 'cover', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ value = typeof value == "undefined" || value == '' ? '/static/img/NoPIC.png' : value;
+ return '<img src="' + value + '" style="height: 100px;"/>'
+ }
},
- {title: '有效期', field: 'phone', visible: true, align: 'center', valign: 'middle'
+ {title: '有效期', field: 'timeValue', visible: true, align: 'center', valign: 'middle'
},
- {title: '兑换地点', field: 'state', visible: true, align: 'center', valign: 'middle'
-
+ {title: '兑换地点', field: 'useScope', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "全国", 2: "指定城市", 3: "指定门店"}[value]
+ }
},
- {title: '用户人群', field: 'state', visible: true, align: 'center', valign: 'middle'
-
+ {title: '用户人群', field: 'userPopulation', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "全部用户", 2: "年度会员", 3: "已有学员用户"}[value]
+ }
},
- {title: '发放数量', field: 'state', visible: true, align: 'center', valign: 'middle'
-
+ {title: '发放数量', field: 'quantityIssued', visible: true, align: 'center', valign: 'middle'
},
- {title: '限领数量', field: 'state', visible: true, align: 'center', valign: 'middle'
-
+ {title: '限领数量', field: 'pickUpQuantity', visible: true, align: 'center', valign: 'middle'
},
- {title: '已领数量', field: 'state', visible: true, align: 'center', valign: 'middle'
-
+ {title: '已领数量', field: 'hasPickQty', visible: true, align: 'center', valign: 'middle'
},
- {title: '已兑换数量', field: 'state', visible: true, align: 'center', valign: 'middle'
-
+ {title: '已兑换数量', field: 'hasExchangeQty', visible: true, align: 'center', valign: 'middle'
},
- {title: '排序', field: 'state', visible: true, align: 'center', valign: 'middle'
-
+ {title: '排序', field: 'sort', visible: true, align: 'center', valign: 'middle'
},
{title: '活动状态', field: 'state', visible: true, align: 'center', valign: 'middle'
},
- {title: '可售状态', field: 'state', visible: true, align: 'center', valign: 'middle'
-
+ {title: '可售状态', field: 'shelves', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "上架", 2: "下架"}[value]
+ }
},
];
};
@@ -86,21 +95,21 @@
/**
* 检查是否选中
*/
-TCompetition.check = function () {
+TPointProducts.check = function () {
var selected = $('#' + this.id).bootstrapTable('getSelections');
if(selected.length == 0){
Feng.info("请先选中表格中的某一记录!");
return false;
}else{
- TCompetition.seItem = selected[0];
+ TPointProducts.seItem = selected[0];
return true;
}
};
/**
- * 点击添加车辆管理
+ * 添加
*/
-TCompetition.openAddTCompetition = function () {
+TPointProducts.openAddTPointProducts = function () {
var index = layer.open({
type: 2,
title: '添加',
@@ -113,9 +122,9 @@
};
/**
- * 打开查看车辆管理详情
+ * 查看详情
*/
-TCompetition.openTCompetitionDetail = function () {
+TPointProducts.detail = function () {
if (this.check()) {
var index = layer.open({
type: 2,
@@ -123,132 +132,62 @@
area: ['100%', '100%'], //宽高
fix: false, //不固定
maxmin: true,
- content: Feng.ctxPath + '/tCity/tCity_update/' + TCompetition.seItem.id
+ content: Feng.ctxPath + '/tGoods/tCity_update/' + TPointProducts.seItem.id
});
this.layerIndex = index;
}
};
/**
- * 删除车辆管理
+ * 购买详情
*/
-TCompetition.delete = function () {
- if (this.check()) {
- var nickname = TCompetition.seItem.carLicensePlate;
- if (nickname == "" || nickname == null || nickname == undefined){
- nickname = "该车辆";
- }else{
- nickname = "【"+nickname+"】";
- }
- swal({
- title: language==1?"您是否确认删除" + nickname + "?":(language==2?"Are you sure to delete the" + nickname + "?":"Apakah Anda pasti akan menghapus" + nickname + "?"),
- text: language==1?"请谨慎操作!":(language==2?' Please operate with caution!':'Harap beroperasi dengan hati -hati!'),
- type: "warning",
- showCancelButton: true,
- confirmButtonColor: "#DD6B55",
- confirmButtonText: language==1?"删除":(language==2?'Delete':'Hapus'),
- closeOnConfirm: true
- }, function () {
- var ajax = new $ax(Feng.ctxPath + "/TCompetition/delete", function (data) {
- if(language==1){
- swal("删除成功", "您已经成功删除了" + nickname + "。", "success");
- }else if(language==2){
- swal("Delete succeeded!", "You have successfully deleted it" + nickname + "。", "success");
- }else {
- swal("Hapus berhasil!", "Anda berhasil menghapus" + nickname + "。", "success");
- }
- TCompetition.table.refresh();
- }, function (data) {
- if(language==1){
- swal("删除失败", data.responseJSON.message + "!", "warning");
- }else if(language==2){
- swal("Failed to delete", data.responseJSON.message + "!", "warning");
- }else {
- swal("Hapus Gagal", data.responseJSON.message + "!", "warning");
- }
-
- });
- ajax.set("TCompetitionId",TCompetition.seItem.id);
- ajax.start();
- });
- }
-};
-TCompetition.oneChange = function (e) {
- console.log(111)
- var oneId=$(e).val();
- var ajax = new $ax(Feng.ctxPath + "/tCompetition/onChange", function(data){
- if(data!=null){
- if(language==1){
- var content='<option value="">选择市</option>';
- }else if(language==2){
- var content='<option value="">Choose your franchisee</option>';
- }else {
- var content='<option value="">Pilih franchisee Anda</option>';
- }
- $.each(data, function(k,v) {
- content += "<option value='"+v.code+"'>"+v.name+"</option>";
- });
- $("#cCode").empty().append(content);
- }
- });
- ajax.set("oneId",oneId);
- ajax.start();
-}
-
-TCompetition.freeze = function () {
- if (this.check()) {
- var ajax = new $ax(Feng.ctxPath + "/tCity/freeze", function (data) {
- Feng.success("冻结成功!");
- TCompetition.table.refresh();
- }, function (data) {
- Feng.error("冻结失败!" + data.responseJSON.message + "!");
- });
- ajax.set("id",this.seItem.id);
- ajax.start();
- }
-};
-TCompetition.unfreeze = function () {
- if (this.check()) {
- var ajax = new $ax(Feng.ctxPath + "/tCity/unfreeze", function (data) {
- Feng.success("解冻成功!");
- TCompetition.table.refresh();
- }, function (data) {
- Feng.error("解冻失败!" + data.responseJSON.message + "!");
- });
- ajax.set("id",this.seItem.id);
- ajax.start();
- }
-};
-TCompetition.reload = function () {
- if (this.check()) {
- let id = this.seItem.id
- var operation = function(){
- var ajax = new $ax(Feng.ctxPath + "/tCity/pwd", function (data) {
- Feng.success("重置成功!");
- TCompetition.table.refresh();
- }, function (data) {
- Feng.error("重置失败!" + data.responseJSON.message + "!");
- });
- ajax.set("id",id);
- ajax.start();
- }
- Feng.confirm("确认重置密码?重置后密码为:a123456", operation);
- }
-
-};
-
-TCompetition.carInsurance = function () {
+TPointProducts.payDetail = function () {
if (this.check()) {
var index = layer.open({
type: 2,
- title: language==1?'车辆保险':(language==2?'Vehicle insurance':'Asuransi kendaraan'),
+ title:'编辑',
area: ['100%', '100%'], //宽高
fix: false, //不固定
maxmin: true,
- content: Feng.ctxPath + '/TCompetition/carInsurance?carId=' + TCompetition.seItem.id
+ content: Feng.ctxPath + '/tGoods/tCity_update/' + TPointProducts.seItem.id
});
this.layerIndex = index;
}
+};
+
+/**
+ * 编辑页面
+ */
+TPointProducts.openEditPage = function () {
+ if (this.check()) {
+ var index = layer.open({
+ type: 2,
+ title:'编辑',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tGoods/tCity_update/' + TPointProducts.seItem.id
+ });
+ this.layerIndex = index;
+ }
+}
+
+/**
+ * 上下架处理
+ * @param m
+ */
+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();
+ // }
};
@@ -256,129 +195,30 @@
/**
* 查询车辆管理列表
*/
-TCompetition.search = function () {
+TPointProducts.search = function () {
var queryData = {};
- queryData['provinceCode'] = $("#pCode").val();
- queryData['cityCode'] = $("#cCode").val();
queryData['name'] = $("#name").val();
- queryData['phone'] = $("#phone").val();
- TCompetition.table.refresh({query: queryData});
+ queryData['type'] = $("#type").val();
+ queryData['redemptionMethod'] = $("#redemptionMethod").val();
+ queryData['userPopulation'] = $("#userPopulation").val();
+ queryData['activeStatus'] = $("#activeStatus").val();
+ queryData['state'] = $("#state").val();
+ TPointProducts.table.refresh({query: queryData});
};
-TCompetition.resetSearch = function () {
- $("#pCode").val("");
- $("#cCode").val("");
+TPointProducts.resetSearch = function () {
$("#name").val("");
- $("#phone").val("");
- TCompetition.search();
+ $("#type").val("");
+ $("#redemptionMethod").val("");
+ $("#userPopulation").val("");
+ $("#activeStatus").val("");
+ $("#state").val("");
+ TPointProducts.search();
};
$(function () {
- var defaultColunms = TCompetition.initColumn();
- var table = new BSTable(TCompetition.id, "/tCity/list", defaultColunms);
- table.setPaginationType("server");
- TCompetition.table = table.init();
-});
-
-/**
- * 下载模板
- */
-TCompetition.uploadCarModel = function () {
- window.location.href = Feng.ctxPath + "/TCompetition/uploadCarModel";
-}
-
-var agreement = function(){
- this.init = function(){
- //模拟上传excel
- $("#uploadEventBtn").unbind("click").bind("click",function(){
- $("#uploadEventFile").click();
- });
- };
-}
-/**
- * 导入合同
- */
-TCompetition.exporTCompetition = function () {
- var uploadEventFile = $("#uploadEventFile").val();
- if(uploadEventFile == ''){
- if(language==1){
- Feng.info("请选择Excel,再上传");
- }else if(language==2){
- Feng.info("Please select Excel and upload");
- }else {
- Feng.info("Silakan pilih Excel dan upload");
- }
- }else if(uploadEventFile.lastIndexOf(".xls")<0){//可判断以.xls和.xlsx结尾的excel
- if(language==1){
- Feng.info("只能上传Excel文件");
- }else if(language==2){
- Feng.info("Only Excel files can be uploaded");
- }else {
- Feng.info("Hanya berkas Excel yang dapat diunggah");
- }
- }else{
- var url = Feng.ctxPath + '/TCompetition/exporTCompetition';
- var file = document.querySelector('input[name=file]').files[0];
- var reader = new FileReader();
- if (file) {
- var formData = new FormData();
- formData.append("myfile", file);
- this.sendAjaxRequest(url, 'POST', formData);
- }
- }
-}
-TCompetition.sendAjaxRequest = function(url,type,data){
- $.ajax({
- url : url,
- type : type,
- data : data,
- success : function(result) {
- if(result.code==500) {
- Feng.info(result.message);
- }else {
- if(language==1){
- Feng.success("导入成功!");
- }else if(language==2){
- Feng.success("SUCCESSFUL IMPORT!");
- }else {
- Feng.success("Import berhasil!");
- }
- }
- TCompetition.table.refresh();
- },
- error : function() {
- if(language==1){
- Feng.error("excel上传失败!");
- }else if(language==2){
- Feng.error("Uploading excel Fails. Procedure!");
- }else {
- Feng.error("Gagal mengunggah excel!");
- }
- },
- cache : false,
- contentType : false,
- processData : false
- });
-};
-
-var agreement;
-$(function(){
- agreement = new agreement();
- agreement.init();
-});
-
-/**
- * 导出车辆操作
- */
-TCompetition.ouTCompetition = function () {
- var operation = function() {
- window.location.href = Feng.ctxPath + "/TCompetition/ouTCompetition";
- };
- if(language==1){
- Feng.confirm("是否确认导出车辆信息?", operation);
- }else if(language==2){
- Feng.confirm("Are you sure to export vehicle information?", operation);
- }else {
- Feng.confirm("Apakah Anda pasti akan mengekspor informasi kendaraan?", operation);
- }
-}
\ No newline at end of file
+ var defaultColunms = TPointProducts.initColumn();
+ var table = new BSTable(TPointProducts.id, "/tGoods/list", defaultColunms);
+ table.setPaginationType("client");
+ TPointProducts.table = table.init();
+});
\ No newline at end of file
--
Gitblit v1.7.1