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