From 12ec47a5fed86e04433ca725caf6068c5000d0af Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期日, 08 十月 2023 17:02:09 +0800 Subject: [PATCH] 后台代码 --- cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html | 86 ++ cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js | 34 cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/AdvertisementController.java | 86 +++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java | 11 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TicketController.java | 33 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java | 17 cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement.html | 2 cloud-server-management/src/main/webapp/static/modular/system/advertisement/advertisement.js | 67 ++ cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreListOne.html | 123 ++++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java | 26 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java | 7 cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_payOne.html | 48 + cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java | 2 cloud-server-course/src/main/resources/sharding-jdbc.properties | 4 cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js | 48 + cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js | 386 +++++++++++++++ cloud-server-management/src/main/resources/mapper/TStoreMapper.xml | 21 cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_config.html | 121 ++++ cloud-server-activity/src/main/java/com/dsh/activity/model/WriteOffDTO.java | 20 cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_benefits.html | 109 ++++ cloud-server-account/src/main/java/com/dsh/account/controller/CityManagerController.java | 6 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 14 cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js | 84 --- cloud-server-management/src/main/webapp/static/modular/system/ticket/ticket.js | 4 cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js | 4 cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml | 1 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/WriteOffDTO.java | 18 cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java | 8 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TImgConfig.java | 43 + cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java | 6 cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreList.html | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java | 35 + 35 files changed, 1,299 insertions(+), 183 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java index 37447d1..260bd03 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java @@ -426,7 +426,6 @@ } } - @PostMapping("/base/appUser/queryByNamePhone") public List<TAppUser> queryByNamePhone(@RequestBody QueryByNamePhone queryByNamePhone){ try { @@ -454,7 +453,6 @@ return new TAppUser(); } } - /** * 根据名称模糊搜索用户 diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/CityManagerController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/CityManagerController.java index 28f0007..769246e 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/CityManagerController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/CityManagerController.java @@ -2,8 +2,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.account.entity.CityManager; +import com.dsh.account.entity.TStoreStaff; import com.dsh.account.feignclient.other.model.Store; import com.dsh.account.service.ICityManagerService; +import com.dsh.account.service.TStoreStaffService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -24,7 +26,8 @@ @Resource private ICityManagerService cityManagerService; - + @Autowired + private TStoreStaffService storeStaffService; /** * 根据管理员id获取详情信息 @@ -79,4 +82,5 @@ public CityManager queryCityManagerById(@RequestBody Integer id){ return cityManagerService.getById(id); } + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java b/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java index 62b571b..4e1b938 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java +++ b/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java @@ -169,6 +169,6 @@ /** * 添加人id平台管理员id 运营商id */ - @TableField("type") + @TableField("addUserId") private Integer addUserId; } 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 2935877..b46d67c 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 @@ -15,6 +15,7 @@ import com.dsh.activity.model.CoachChangeStateVO; import com.dsh.activity.model.PointMerchandiseIncomeVo; import com.dsh.activity.model.PointMerchandiseVo; +import com.dsh.activity.model.WriteOffDTO; import com.dsh.activity.model.request.*; import com.dsh.activity.model.response.GoodsInfoOneVo; import com.dsh.activity.model.response.StoreVos; @@ -85,6 +86,19 @@ public Object changeState(@RequestBody CoachChangeStateVO dto){ return pmdsService.changeState(dto); } + /** + * 门票核销 + */ + @RequestMapping("/base/pointMerchars/writeOff") + public Object writeOff(@RequestBody WriteOffDTO dto){ + UserPointsMerchandise byId = userPointsMerchandiseService.getById(dto.getId()); + byId.setStoreId(dto.getVerifiStoreId()); + byId.setStatus(2); + byId.setVerificationTime(new Date()); + byId.setUserId(null); + byId.setVerificationUserId(dto.getVerificationUserId()); + return userPointsMerchandiseService.updateById(byId); + } @ResponseBody @PostMapping("/base/pointMerchars/ticketList") public List<Map<String,Object>> ticketList(@RequestBody IntegralGoodsOfSearch ofSearch){ diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/WriteOffDTO.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/WriteOffDTO.java new file mode 100644 index 0000000..b553855 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/WriteOffDTO.java @@ -0,0 +1,20 @@ +package com.dsh.activity.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * 核销门票DTO + */ +@Data +public class WriteOffDTO { + // 积分商品领取id + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + private Integer verificationUserId; + + // 核销门店id 如果状态为已核销 verifiStoreId为null 则是平台核销 + private Integer verifiStoreId; +} diff --git a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml index 52bffed..6ca8f3c 100644 --- a/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml +++ b/cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml @@ -33,6 +33,7 @@ <if test="state != null"> and `state` = #{state} </if> + and `type` !=3 order by insertTime desc </select> <select id="ticketList" resultType="java.util.Map"> diff --git a/cloud-server-course/src/main/resources/sharding-jdbc.properties b/cloud-server-course/src/main/resources/sharding-jdbc.properties index ca0dde7..09e20a5 100644 --- a/cloud-server-course/src/main/resources/sharding-jdbc.properties +++ b/cloud-server-course/src/main/resources/sharding-jdbc.properties @@ -3,9 +3,9 @@ #�������� datasource.master0.type=com.alibaba.druid.pool.DruidDataSource datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver -datasource.master0.url=jdbc:mysql://8.137.22.229:3306/playpai_course?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai +datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_course?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai datasource.master0.username=root -datasource.master0.password=playpai2023! +datasource.master0.password=123456 datasource.master0.maxActive=20 datasource.master0.maxWait=60000 datasource.master0.minIdle=5 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 a682775..5e172f0 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 @@ -2,12 +2,9 @@ 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 com.dsh.course.feignClient.activity.model.*; import com.dsh.guns.modular.system.model.CoachChangeStateVO; import com.dsh.guns.modular.system.model.PointMerchandiseIncomeVo; -import com.dsh.course.feignClient.activity.model.PointsMerchandise; import com.dsh.guns.modular.system.model.GoodsInfoOneVo; import com.dsh.guns.modular.system.model.StoreVos; import org.springframework.cloud.openfeign.FeignClient; @@ -21,6 +18,8 @@ @FeignClient(value = "mb-cloud-activity") public interface PointMercharsClient { + @RequestMapping("/base/pointMerchars/writeOff") + Object writeOff(@RequestBody WriteOffDTO dto); /** * 门票上下架 state=1 上架 state=2 下架 */ diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/WriteOffDTO.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/WriteOffDTO.java new file mode 100644 index 0000000..b3ea0e8 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/WriteOffDTO.java @@ -0,0 +1,18 @@ +package com.dsh.course.feignClient.activity.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +/** + * 核销门票DTO + */ +@Data +public class WriteOffDTO { + // 积分商品领取id + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + private Integer verificationUserId; + + // 核销门店id 如果状态为已核销 verifiStoreId为null 则是平台核销 + private Integer verifiStoreId; +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java index b98b214..17905d0 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java +++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dsh.guns.modular.system.model.TImgConfig; import com.dsh.guns.modular.system.model.TStore; import com.dsh.guns.modular.system.model.TStoreListVo; import com.dsh.guns.modular.system.model.TTurn; @@ -58,4 +59,9 @@ List<TTurn> pageList(); List<TTurn> getPage(@Param("ids") List<Integer> ids); + + List<TImgConfig> getConfig1(); + + void updateBasicConfig(@Param("position") Integer position,@Param("p1") String p1); + void updateBasicBenefits(@Param("position") Integer position,@Param("p1") String p1); } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/AdvertisementController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/AdvertisementController.java index aa72a63..e9c5f0b 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/AdvertisementController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/AdvertisementController.java @@ -1,5 +1,6 @@ package com.dsh.guns.modular.system.controller.code; +import com.dsh.course.entity.Img; import com.dsh.course.feignClient.account.CityManagerClient; import com.dsh.course.feignClient.account.model.CityManager; import com.dsh.course.feignClient.account.model.Coach; @@ -38,6 +39,7 @@ private BannerClient bannerClient; @Autowired private IStoreService storeService; + /** * 跳转到广告页面 */ @@ -63,6 +65,90 @@ model.addAttribute("roleType",roleType); return PREFIX + "advertisement_add.html"; } + /** + * 配置基础页面 + */ + @ResponseBody + @RequestMapping(value = "/updateConfig") + public Object updateConfig(String p1,String p2 ,String p7) { + if (!p1.equals("")){ + storeService.updateBasicConfig(1,p1); + } + if (!p2.equals("")){ + storeService.updateBasicConfig(2,p2); + } + if (!p7.equals("")){ + storeService.updateBasicConfig(7,p7); + } + return SUCCESS_TIP; + } + /** + * 配置福利页面 + */ + @ResponseBody + @RequestMapping(value = "/updateBenefits") + public Object updateBenefits(String p3,String p4 ,String p5,String p6) { + if (!p3.equals("")){ + storeService.updateBenefits(3,p3); + } + if (!p4.equals("")){ + storeService.updateBenefits(4,p4); + } + if (!p5.equals("")){ + storeService.updateBenefits(5,p5); + } + if (!p6.equals("")){ + storeService.updateBenefits(6,p6); + } + return SUCCESS_TIP; + } + /** + * 跳转基础页面配置 + */ + @RequestMapping("/config") + public String config(Model model) { + List<TImgConfig> result =storeService.getConfig(); + for (TImgConfig tImgConfig : result) { + switch (tImgConfig.getPosition()){ + case 1: + model.addAttribute("c1",tImgConfig.getContent()); + break; + case 2: + model.addAttribute("c2",tImgConfig.getContent()); + break; + case 7: + model.addAttribute("c7",tImgConfig.getContent()); + break; + } + } + return PREFIX + "advertisement_config.html"; + } + /** + * 跳转福利页面配置 + */ + @RequestMapping("/benefits") + public String benefits(Model model) { + List<TImgConfig> result =storeService.getConfig(); + for (TImgConfig tImgConfig : result) { + switch (tImgConfig.getPosition()){ + case 3: + model.addAttribute("c3",tImgConfig.getContent()); + break; + case 4: + model.addAttribute("c4",tImgConfig.getContent()); + break; + case 5: + model.addAttribute("c5",tImgConfig.getContent()); + break; + case 6: + model.addAttribute("c6",tImgConfig.getContent()); + break; + } + } + Integer roleType = UserExt.getUser().getObjectType(); + model.addAttribute("roleType",roleType); + return PREFIX + "advertisement_benefits.html"; + } /** * 跳转到广告编辑页面 diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java index 8190a57..982a40b 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java @@ -70,11 +70,11 @@ List<TCity> provinceList = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); model.addAttribute("provinceList",provinceList); List<Bank> bankList = operatorService.getBankList(); - TStore store = storeService.getOne(new QueryWrapper<TStore>().eq("operatorId", id)); + TStore store = storeService.getOne(new QueryWrapper<TStore>().eq("cityManagerId", id)); model.addAttribute("storeName",store.getName()); -// TStoreStaff storeByStoreStaffId = storeStaffClient.getStoreByStoreStaffId(store.getStoreStaffId()); -// model.addAttribute("storeStaff",storeByStoreStaffId.getName()); -// model.addAttribute("storePhone",storeByStoreStaffId.getPhone()); + TStoreStaff storeByStoreStaffId = storeStaffClient.getStoreByStoreStaffId(store.getStoreStaffId()); + model.addAttribute("storeStaff",storeByStoreStaffId.getName()); + model.addAttribute("storePhone",storeByStoreStaffId.getPhone()); model.addAttribute("bankList",bankList); return PREFIX + "OperatorUser_auth.html"; } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java index 8f53790..16e7442 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java @@ -173,31 +173,26 @@ @RequestMapping("/storeDetailsOfSearch") @ResponseBody - public Object listOfStore(Integer provinceId,Integer cityId,Integer operatorId,String storeName){ - String provinceCode = null; - String cityCode = null; - if (ToolUtil.isNotEmpty(provinceId)){ - Region provinceRegion = regiService.getById(provinceId); - provinceCode = provinceRegion.getCode(); - } - if (ToolUtil.isNotEmpty(cityId)){ - Region cityRegion = regiService.getById(cityId); - cityCode = cityRegion.getCode(); - } + public Object listOfStore(String provinceId,String cityId,Integer operatorId,String storeName){ + + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - List<Map<String,Object>> storeList = storeService.queryListOfpage(provinceCode,cityCode,operatorId,storeName,page); + List<Map<String,Object>> storeList = storeService.queryListOfpage(provinceId,cityId,operatorId,storeName,page); if (storeList.size() > 0 ){ for (Map<String, Object> stringObjectMap : storeList) { String provinceName = (String) stringObjectMap.get("province"); String cityName = (String) stringObjectMap.get("city"); stringObjectMap.put("provinceCity",provinceName+cityName); Integer managerId = (Integer) stringObjectMap.get("operatorId"); - if (managerId==null){ + if (managerId==0){ stringObjectMap.put("accountName","平台"); }else{ TOperator operator = operatorService.getOne(new QueryWrapper<TOperator>().eq("id", managerId)); if (ToolUtil.isNotEmpty(operator)){ stringObjectMap.put("accountName",operator.getName()); + }else{ + stringObjectMap.put("accountName","平台"); + } } @@ -296,10 +291,13 @@ // 通过市 获取运营商 @RequestMapping(value = "/getOperator") @ResponseBody - public Object getOperator(Integer city){ + public Object getOperator(String city){ List<TOperatorCity> name = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("name", city)); List<Integer> collect = name.stream().map(TOperatorCity::getOperatorId) .collect(Collectors.toList()); + if (collect.size()==0){ + return new ArrayList<>(); + } return operatorService.list(new QueryWrapper<TOperator>().in("id",collect)); } 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 7c36464..20f337d 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 @@ -240,7 +240,18 @@ */ @RequestMapping("/storeList") public String storePage(Model model) { + List<TCity> provinceList = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + model.addAttribute("list",provinceList); return PREFIX + "TStoreList.html"; + } + /** + * 跳转到门店管理列表页 + */ + @RequestMapping("/storeList1") + public String storePage1(Model model) { + List<TCity> provinceList = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + model.addAttribute("list",provinceList); + return PREFIX + "TStoreListOne.html"; } @RequestMapping("/updateType") @ResponseBody @@ -568,8 +579,17 @@ model.addAttribute("id",id); return PREFIX + "TGoods_pay.html"; } - - + /** + * 购买详情 + * @param id 商品id + * @return + */ + @RequestMapping("/tPay_detail1/{id}") + public String payOfDetailsOne(@PathVariable(value = "id") Integer id,Model model) { + System.out.println(id); + model.addAttribute("id",id); + return PREFIX + "TGoods_payOne.html"; + } /** * 获取 购买记录列表 */ @@ -582,9 +602,18 @@ payedVo.setPhone(phone); payedVo.setStatus(status); List<Map<String,Object>> points = pointMercharsClient.queryUserPayedGoodsList(payedVo); - System.out.println(points); + System.out.println(points); if (points.size() > 0 ){ + for (Map<String, Object> point : points) { + Object id1 = point.get("id"); + String idAsString = String.valueOf(id1); + + // 移除原始的 "id" 键 + point.remove("id"); + + // 将字符串类型的 "id" 放回 Map 对象中 + point.put("id", idAsString); Integer userId = (Integer) point.get("userId"); TAppUser tAppUser = appUserClient.queryById(userId); if (ToolUtil.isNotEmpty(tAppUser)){ diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TicketController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TicketController.java index 1b3ab19..3013b98 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TicketController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TicketController.java @@ -3,12 +3,15 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.account.AppUserClient; import com.dsh.course.feignClient.account.CityManagerClient; +import com.dsh.course.feignClient.account.StoreStaffClient; 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.TStoreStaff; import com.dsh.course.feignClient.activity.CouponClient; import com.dsh.course.feignClient.activity.PointMercharsClient; import com.dsh.course.feignClient.activity.model.*; @@ -22,6 +25,8 @@ import com.dsh.guns.modular.system.service.IStoreService; import com.dsh.guns.modular.system.util.OBSUploadUtil; import com.dsh.guns.modular.system.util.ResultUtil; +import net.bytebuddy.asm.Advice; +import org.omg.CORBA.PRIVATE_MEMBER; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -64,6 +69,8 @@ @Resource private PointMercharsClient pointMercharsClient; + @Autowired + private StoreStaffClient storeStaffClient; /** * 跳转到优惠券管理首页 @@ -340,8 +347,30 @@ System.out.println(b); return new SuccessTip<>(); } - - + /** + * 上下架处理操作 + * @return + */ + @RequestMapping("/writeOff") + @ResponseBody + public Object writeOff(String id) { + Long aLong = Long.valueOf(id); + WriteOffDTO dto = new WriteOffDTO(); + // 核销人员id + Integer objectId = UserExt.getUser().getId(); + if (UserExt.getUser().getObjectType() == 1){ + dto.setVerifiStoreId(null); + }else if (UserExt.getUser().getObjectType() == 2){ + storeService.getOne(new QueryWrapper<TStore>().eq("cityManagerId",objectId)); + }else{ + TStoreStaff storeByStoreStaffId = storeStaffClient.getStoreByStoreStaffId(objectId); + dto.setVerifiStoreId(storeByStoreStaffId.getStoreId()); + } + dto.setId(aLong); + dto.setVerificationUserId(objectId); + pointMercharsClient.writeOff(dto); + return new SuccessTip<>(); + } /** * 购买详情 diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TImgConfig.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TImgConfig.java new file mode 100644 index 0000000..d618044 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TImgConfig.java @@ -0,0 +1,43 @@ +package com.dsh.guns.modular.system.model; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * 图片配置 + * </p> + * + * @author administrator + * @since 2023-06-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_img_config") +public class TImgConfig { + + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 位置(1=无学员,2=成为会员,3=我的券包,4=线上商城,5=本周福利,6=今日免费) + */ + @TableField("position") + private Integer position; + /** + * 图片配置JSON + */ + @TableField("content") + private String content; + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java index 4cc9227..2f7aca9 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java @@ -2,10 +2,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.dsh.guns.modular.system.model.Dict; -import com.dsh.guns.modular.system.model.TStore; -import com.dsh.guns.modular.system.model.TStoreListVo; -import com.dsh.guns.modular.system.model.TTurn; +import com.dsh.guns.modular.system.model.*; +import io.swagger.models.auth.In; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -59,4 +57,9 @@ List<TTurn> pageList(); List<TTurn> getPage(List<Integer> ids); + + List<TImgConfig> getConfig(); + + void updateBasicConfig(Integer id , String p1); + void updateBenefits(Integer id , String p1); } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java index 41b066f..5698233 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.course.mapper.StoreMapper; +import com.dsh.guns.modular.system.model.TImgConfig; import com.dsh.guns.modular.system.model.TStore; import com.dsh.guns.modular.system.model.TStoreListVo; import com.dsh.guns.modular.system.model.TTurn; @@ -90,4 +91,20 @@ public List<TTurn> getPage(List<Integer> ids) { return this.baseMapper.getPage(ids); } + + @Override + public List<TImgConfig> getConfig() { + + return this.baseMapper.getConfig1(); + } + + @Override + public void updateBasicConfig(Integer id, String p1) { + this.baseMapper.updateBasicConfig(id,p1); + } + + @Override + public void updateBenefits(Integer id, String p1) { + this.baseMapper.updateBasicBenefits(id,p1); + } } diff --git a/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml b/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml index 2120241..e8a7951 100644 --- a/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml +++ b/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml @@ -12,6 +12,18 @@ state,pageId,typeId ) value (null ,#{url},#{name},#{s},#{s1},#{turnId},#{sort},1,#{page},#{type}) </insert> + <update id="updateBasicConfig"> + update t_img_config + set content = #{p1} + where `position` =#{position} + </update> + + <update id="updateBasicBenefits"> + update t_img_config + set content = #{p1} + where `position` =#{position} + </update> + <delete id="delete1"> delete from t_store_other_config where id =#{id} </delete> @@ -59,13 +71,13 @@ SELECT `id`, `operatorId`, `province`, `city`, `name`,ids from t_store where 1=1 - <if test="provinceCode != null"> + <if test="provinceCode != null and provinceCode!=''"> and provinceCode = #{provinceCode} </if> - <if test="cityCode != null"> + <if test="cityCode != null and cityCode!=''"> and cityCode = #{cityCode} </if> - <if test="operatorId != null"> + <if test="operatorId != null and operatorId!=''"> and operatorId = #{operatorId} </if> <if test="storeName != null and storeName != ''"> @@ -102,4 +114,7 @@ <select id="pageList" resultType="com.dsh.guns.modular.system.model.TTurn"> select * from t_turn where pid = 0 </select> + <select id="getConfig1" resultType="com.dsh.guns.modular.system.model.TImgConfig"> + select * from t_img_config + </select> </mapper> \ No newline at end of file diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement.html index 5702f2c..25e358d 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement.html @@ -38,6 +38,8 @@ <#button name="查看详情" icon="fa-search" clickFun="TSite.openInfo()" space="true"/> <#button name="上架" icon="fa-check" clickFun="TSite.onShelf()" space="true"/> <#button name="下架" icon="fa-remove" clickFun="TSite.offShelf()" space="true"/> + <#button name="基础页面配置" icon="fa-remove" clickFun="TSite.basic()" space="true"/> + <#button name="福利页面配置" icon="fa-remove" clickFun="TSite.benefits()" space="true"/> </div> <#table id="TSiteTable"/> </div> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_benefits.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_benefits.html new file mode 100644 index 0000000..9577e64 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_benefits.html @@ -0,0 +1,109 @@ +@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: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } + #app1{ + margin-left: 255px; + } + + +</style> +<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<div class="ibox float-e-margins"> + <input hidden id="roleType" value="${roleType}"> + <div class="ibox-content"> + <div class="form-horizontal" id="carInfoForm"> + <div class="form-group"> + <label class="col-sm-3 control-label">*我的券包:</label> + <div class="col-sm-9" style="display: flex;"> + <#avatar id="cover3" name="" avatarImg="${c3}"/><span>推荐像素:780x560px</span> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">*线上商城:</label> + <div class="col-sm-9" style="display: flex;"> + <#avatar id="cover4" name="" avatarImg="${c4}"/><span >推荐像素:780x560px</span> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">*本周福利:</label> + <div class="col-sm-9" style="display: flex;"> + <#avatar id="cover5" name="" avatarImg="${c5}"/><span>推荐像素:616x402px</span> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">*今日免费:</label> + <div class="col-sm-9" style="display: flex;"> + <#avatar id="cover6" name="" avatarImg="${c6}"/><span>推荐像素:616x402px</span> + </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="TSite.addBenefits()"/> + <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TSite.close()"/> + </div> +</div> + + </div> + </div> + + </div> + +</div> + +<script src="${ctxPath}/modular/system/advertisement/advertisement.js"></script> +<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> + $(function(){ + var carPhoto1 = new $WebUpload("cover3"); + carPhoto1.setUploadBarId("progressBar"); + carPhoto1.init(); + var carPhoto2 = new $WebUpload("cover4"); + carPhoto2.setUploadBarId("progressBar"); + carPhoto2.init(); + var carPhoto7 = new $WebUpload("cover5"); + carPhoto7.setUploadBarId("progressBar"); + carPhoto7.init(); + var carPhoto8 = new $WebUpload("cover6"); + carPhoto8.setUploadBarId("progressBar"); + carPhoto8.init(); + }); +</script> +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_config.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_config.html new file mode 100644 index 0000000..760a40e --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_config.html @@ -0,0 +1,121 @@ +@layout("/common/_container.html"){ +<link href="${ctxPath}/static/css/plugins/switchery/switchery.css" rel="stylesheet"> +<style> + .table1{ + display: inline; + width: 33.333333333333333333333333333333333333%; + float:left; + text-align:center; + border-collapse:collapse; + font-size: 18px; + } + .table2{ + display: inline; + width: 50%; + float:left; + text-align:center; + border-collapse:collapse; + font-size: 18px; + } + .table3{ + display: inline; + width: 50%; + float:left; + text-align:center; + border-collapse:collapse; + font-size: 18px; + } + .table1:hover{ + background-color: rgba(255,0,0,.3); + } + .newWidth, .single-line{ + max-width:150px !important;display: initial !important; + } + .companyValueClass td:first-child { + display: flex; + align-items: center; + justify-content: center; + } +</style> +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + <div class="row"> +<!-- <div style="height: 50px;box-sizing: border-box;background:#f3f3f4;line-height: 50px;border:1px solid;margin-bottom: 20px;width: auto">--> +<!-- <div id="div1" class='table1' onclick="getContent(1)" style="border-right: 1px solid #333;background-color: rgb(26, 179, 148);color: white;">无学员配置</div>--> +<!-- <div id="div2" class='table1' onclick="getContent(2)" style="border-right: 1px solid #333;">成为会员</div>--> +<!-- <div id="div3" class='table1' onclick="getContent(3)" style="border-right: 1px solid #333;">启动页配置</div>--> +<!-- </div>--> + <div class="row" id="content1" style="margin-left: 100px;"> + <div class="col-sm-11"> + <label class="col-sm-3 control-label">*无学员配置:</label> + <div class="form-group" style="display: flex;"> + <#avatar id="cover1" name="" avatarImg="${c1}"/> + <span>推荐像素:宽度780px</span> + </div> + </div> + + </div> + </div> + <div class="row" id="content2" style="margin-left: 100px;"> + <div class="col-sm-11"> + <label class="col-sm-3 control-label">*成为会员:</label> + <div class="form-group" style="display: flex;"> + <#avatar id="cover2" name="" avatarImg="${c2}" /> + <span>推荐像素:宽度780px</span> + </div> + + </div> + </div> + <div class="row" id="content3" style="margin-left: 100px;"> + <div class="col-sm-11"> + <label class="col-sm-3 control-label">*启动页配置:</label> + <div class="form-group" style="display: flex;"> + <#avatar id="cover7" name="" avatarImg="${c7}"/> + <span>推荐像素:宽度780px</span> + </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="TSite.addConfig()"/> + </div> + </div> + </div> +</div> + + +<script src="${ctxPath}/modular/system/dataStatistics/echarts.min.js"></script> +<script src="${ctxPath}/modular/system/advertisement/advertisement.js"></script> +<script src="${ctxPath}/static/js/plugins/switchery/switchery.js"></script> +<script> + $(function(){ + + + getContent(1); + }); + function getContent(type){ + + //设置点击字体颜色效果 + for(var i=1;i<4;i++){ + document.getElementById("div"+i).style.color="#888888";// + document.getElementById("div"+i).style.backgroundColor =""; + $("#content"+i).hide(); + } + //设置点击背景颜色效果 + document.getElementById("div"+type).style.color="white";// + document.getElementById("div"+type).style.backgroundColor ="rgb(26, 179, 148)"; + $("#type").val(type); + $("#content"+type).show(); + if(type!=3){ + $("#ensure").hide(); + $("#nextB").show(); + }else{ + $("#ensure").show(); + $("#nextB").hide(); + } + } +</script> +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_payOne.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_payOne.html new file mode 100644 index 0000000..1fc916d --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_payOne.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.openAddTSite()"/> + </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> 关闭 + </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/WEB-INF/view/system/tGoods/TStoreList.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreList.html index 0b08976..7c6e1a5 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreList.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreList.html @@ -20,7 +20,7 @@ </select> </div> <div class="col-sm-3"> - <#SelectCon id="userPopulation" name="所属运营商" > + <#SelectCon id="userPopulation" name="所属账号" > <option value="">全部</option> </#SelectCon> </div> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreListOne.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreListOne.html new file mode 100644 index 0000000..0ec7ca6 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreListOne.html @@ -0,0 +1,123 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>所在门店</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <div class="input-group"> + <div class="input-group-btn open"> + <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> + 所在省 + </button> + </div> + <select class="form-control" id="pCode" onchange="oneChange(this)"> + <option value="">全部</option> + @for(obj in list){ + <option value="${obj.code}">${obj.name}</option> + @} + </select> + </div> + </div> + <div class="col-sm-3"> + <div class="input-group"> + <div class="input-group-btn open"> + <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> + 所在市 + </button> + </div> + <select class="form-control" id="cCode" onchange="getAccount()"> + </select> + </div> + </div> + <div class="col-sm-3"> + <div class="input-group"> + <div class="input-group-btn open"> + <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> + 所属运营商 + </button> + </div> + <select class="form-control" id="account"> + </select> + </div> + </div> + + <div class="col-sm-3"> + <#NameCon id="storeName" name="门店名称" placeholder="请输入门店名称"/> + </div> + <div class="col-sm-3"> + <#button name="搜索" icon="fa-search" clickFun="TStoreProvince.search()"/> + <#button name="重置" icon="fa-trash" clickFun="TStoreProvince.resetSearch()"/> + </div> + </div> + <div class="hidden-xs" id="TStoreProvinceTableToolbar" role="group"> + </div> + <#table id="TStoreProvinceTable"/> + <div style="margin-left: 30%"> + <button type="button" class="btn btn-info button-margin" onclick="TStoreProvince.storeOfClosePage()" + id="closePage" style="width: 30%;height: 40px;background: #0d8ddb;color: white;border: none;"> + <i class="fa fa-check"></i> 关闭 + </button> + + <button type="button" class="btn btn-info button-margin" onclick="TStoreProvince.saveSelectStores()" + id="submit" style="margin-left: 5%;width: 30%;height: 40px;background: #0d8ddb;color: white;border: none;"> + <i class="fa fa-check"></i> 保存 + </button> + </div> + </div> + </div> +</div> + +</div> +</div> +</div> +<script src="${ctxPath}/modular/system/tGoods/TStoreInfo.js"></script> +<script src="${ctxPath}/modular/system/tGoods/TCouponInfo.js"></script> +<script> + function oneChange(e) { + var citySelect= document.getElementById("cCode"); + var accountSelect= document.getElementById("account"); + var oneId=$(e).val(); + var content = "<option value=''>请选择</option>"; + var ajax = new $ax(Feng.ctxPath + "/tCompetition/onChange", function(data){ + if(data!=null){ + + $.each(data, function(k,v) { + content += "<option value='"+v.name+"'>"+v.name+"</option>"; + }); + $("#cCode").empty().append(content); + } + }); + accountSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; + if(oneId==""){ + citySelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; + accountSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; + } + ajax.set("oneId",oneId); + ajax.start(); + } + function getAccount() { + var oneId= $("#cCode option:selected").text(); + var accountSelect= document.getElementById("account"); + var content = "<option value=''>请选择</option>"; + var ajax = new $ax(Feng.ctxPath + "/tCouponManage/getOperator", function(data){ + if(data!=null){ + $.each(data, function(k,v) { + content += "<option value='"+v.id+"'>"+v.name+"</option>"; + }); + $("#account").empty().append(content); + } + }); + if(oneId==""){ + accountSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; + } + ajax.set("city",oneId); + ajax.start(); + } +</script> +@} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html index 3de0427..88683dd 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html @@ -38,6 +38,7 @@ </style> <div class="ibox float-e-margins"> <div class="ibox-content"> + <input hidden id="userType" value="${userType}"> <div class="form-horizontal" id="carInfoForm"> <#input id="name" name="门票名称" type="text"/> <div class="form-group"> @@ -53,9 +54,9 @@ <div class="form-group"> <label class="col-sm-3 control-label">兑换方式:</label> <div class="col-sm-9"> - <input type="radio" name="redemptionMethod" value="1" checked> 积分 - <input type="radio" name="redemptionMethod" value="2" > 现金+积分 - <input type="radio" name="redemptionMethod" value="3" > 现金 + <input type="radio" name="redemptionMethod" value="1" onclick="updateMethod(3)" checked> 积分 + <input type="radio" name="redemptionMethod" value="2" onclick="updateMethod(4)"> 现金+积分 + <input type="radio" name="redemptionMethod" value="3" onclick="updateMethod(5)"> 现金 </div> </div> <div class="form-group" id="y1" hidden> @@ -72,27 +73,31 @@ </div> </div> - <#avatar id="cover" name="门票封面" /> - <div class="row" id="app" style="margin-left: 225px;" > - <div class="col-sm-6"> + <#avatar id="cover" name="*门票封面(推荐像素350x350px)" /> + + <div class="row" id="app" > + <div class="col-sm-6" style="width: 100%"> <div class="form-group"> - <label class="col-sm-3 control-label">门票图片: </label> - <div class="col-sm-2" style="margin-top: 2%"> + <label class="col-sm-3 control-label" style="width: 15%;margin-left: 7%">*门票图片(请上传不超过五张图片,推荐像素780x440px): </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" - :on-success="handleAvatarSuccess" + list-type="picture-card" accept=".jpg,.jpeg,.png,.JPG,.JPEG" - :on-remove="handleRemove" - :before-upload="beforeAvatarUpload"> - <img v-if="imageUrl" :src="imageUrl" class="avatar"> - <i v-else class="el-icon-plus avatar-uploader-icon"></i> + :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=""></el-dialog> </div> </div> </div> </div> + <div class="form-group"> @@ -118,11 +123,12 @@ </div> </div> <#input id="startTime" name="有效期" type="text"/> + @if(roletype==3){ <div class="row" id="belongsCon" > <div class="form-group"> <div class="form-group"> <div class="initialLevel col-sm-12 control-label form-group"> - <label class="col-sm-3">*适用范围: </label> + <label class="col-sm-3">*兑换地点: </label> <div class="col-sm-2" id="belongsNationwide" > <input class="col-sm-1" onclick="scopeOfApplication1()" name="company" type="radio" value="0" checked style="margin-top: 10px"/> @@ -143,6 +149,7 @@ </div> </div> + @} <div class="row" id="citySelect" hidden="hidden"> <div class="form-group"> @@ -170,7 +177,7 @@ <div class="form-group"> <div class="col-sm-12"> <label class="col-sm-3 control-label">*指定门店: </label> - <button onclick="storeList()" + <button onclick="storeList1()" style="height: 22px;width: 82px;background-color: #4a8ff1;color: white;z-index: 15;position:relative;border: none;margin-top: 1%"> 选择门店 </button> @@ -238,8 +245,8 @@ <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.addSubmit()"/> - <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TGoodsInfoDlg.addSubmit1()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TGoodsInfoDlg.close()"/> </div> </div> </div> @@ -251,7 +258,10 @@ <script src="${ctxPath}/modular/system/tGoods/tGoods_info.js"></script> <script src="${ctxPath}/modular/system/tGoods/TStoreInfo.js"></script> <script> - + laydate.render({ + elem: '#startTime', + range: true + }); function updateType(e) { if(e==2){ $("#b1").hide() @@ -323,7 +333,45 @@ $("#citySelect").hide(); } + function updateMethod(e) { + console.log(e) + if(e==1){ + $("#y3").hide() + $("#y4").show() + }else if(e==2){ + $("#y4").show() + $("#y3").show() + }else if(e==3){ + $("#y1").hide() + $("#y2").show() + }else if(e==4){ + $("#y1").show() + $("#y2").show() + }else if(e==5) { + $("#y2").hide() + $("#y1").show() + } + } + let i =1; + function updateType(e) { + + if(e==2){ + $("#b1").hide() + $("#b2").show() + if(i==1){ + var drivingLicensePhoto = new $WebUpload("cover1"); + drivingLicensePhoto.setUploadBarId("progressBar"); + drivingLicensePhoto.init(); + i++; + } + $("#ticket").hide() + }else { + $("#b2").hide() + $("#b1").show() + $("#ticket").show() + } + } var vue2 = new Vue({ @@ -335,7 +383,7 @@ }, methods: { handleAvatarSuccess(res, file) { - TCarInfoDlg.goodsPicArray.push(file); + TGoodsInfoDlg.goodsPicArray.push(file); }, beforeAvatarUpload(file) { const isLt2M = file.size / 1024 / 1024 < 10; diff --git a/cloud-server-management/src/main/webapp/static/modular/system/advertisement/advertisement.js b/cloud-server-management/src/main/webapp/static/modular/system/advertisement/advertisement.js index 166152c..ff8c4e0 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/advertisement/advertisement.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/advertisement/advertisement.js @@ -138,6 +138,34 @@ }); this.layerIndex = index; }; +/** + * 跳转基础页面配置 + */ +TSite.basic = function () { + var index = layer.open({ + type: 2, + title: "基础页面配置", + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/advertisement/config' + }); + this.layerIndex = index; +}; +/** + * 跳转福利页面配置 + */ +TSite.benefits = function () { + var index = layer.open({ + type: 2, + title: "福利页面配置", + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/advertisement/benefits' + }); + this.layerIndex = index; +}; /** * 打开查看详情页面 @@ -207,7 +235,32 @@ ajax.set("province",province); ajax.start(); }; - +TSite.addConfig = function(){ + $("#cover1").val(); + $("#cover2").val(); + $("#cover7").val(); + var ajax = new $ax(Feng.ctxPath + "/advertisement/updateConfig", function (data) { + Feng.success("基础页面设置成功") + }); + ajax.set("p1",$("#cover1").val()) + ajax.set("p2",$("#cover2").val()) + ajax.set("p7",$("#cover7").val()) + ajax.start(); +} +TSite.addBenefits = function(){ + $("#cover3").val(); + $("#cover4").val(); + $("#cover5").val(); + $("#cover6").val(); + var ajax = new $ax(Feng.ctxPath + "/advertisement/updateBenefits", function (data) { + Feng.success("基础页面设置成功") + }); + ajax.set("p3",$("#cover3").val()) + ajax.set("p4",$("#cover4").val()) + ajax.set("p5",$("#cover5").val()) + ajax.set("p6",$("#cover6").val()) + ajax.start(); +} TSite.addSubmit = function(){ var data1 = { @@ -422,6 +475,17 @@ } $(function () { + var carPhoto1 = new $WebUpload("cover1"); + carPhoto1.setUploadBarId("progressBar"); + carPhoto1.init(); + + var carPhoto2 = new $WebUpload("cover2"); + carPhoto2.setUploadBarId("progressBar"); + carPhoto2.init(); + + var carPhoto7 = new $WebUpload("cover7"); + carPhoto7.setUploadBarId("progressBar"); + carPhoto7.init(); var defaultColunms = TSite.initColumn(); var table = new BSTable(TSite.id, "/advertisement/listAll", defaultColunms); table.setPaginationType("client"); @@ -429,4 +493,5 @@ var carPhoto = new $WebUpload("img"); carPhoto.setUploadBarId("progressBar"); carPhoto.init(); + }); diff --git a/cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js b/cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js index 57eb903..4c69cd5 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js @@ -21,9 +21,7 @@ return [ {field: 'selectItem', checkbox: true}, {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, - {title: '运营商名称', field: 'name', visible: true, align: 'center', valign: 'middle',width:'20%', - - }, + {title: '运营商名称', field: 'name', visible: true, align: 'center', valign: 'middle',width:'20%',}, {title: '管理员姓名', field: 'userName', visible: true, align: 'center', valign: 'middle', }, {title: '管理员手机号', field: 'phone', visible: true, align: 'center', valign: 'middle'}, diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js index 8956c84..13668c8 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js @@ -15,7 +15,6 @@ TStoreProvince.initColumn = function () { return [ {field: 'selectItem', checkbox: true}, - {title: '选择', field: '', visible: true, align: 'center', valign: 'middle'}, {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, {title: '所属账号', field: 'accountName', visible: true, align: 'center', valign: 'middle'}, {title: '所在省市', field: 'provinceCity', visible: true, align: 'center', valign: 'middle'}, @@ -64,28 +63,17 @@ TStoreProvince.storeOfClosePage(); } - - - /** * 查询列表 */ TStoreProvince.search = function () { var queryData = {}; - - var provinceElement = document.getElementById("province"); - var provinceId = provinceElement.value; - - var cityElement = document.getElementById("city"); - var cityElementId = cityElement.value; - - queryData['provinceId'] = provinceId; - queryData['cityId'] = cityElementId; - queryData['cityManagerId'] = $("#userPopulation").val(); + queryData['provinceId'] = $("#pCode").val(); + queryData['cityId'] = $("#cCode").val(); + queryData['operatorId'] = $("#account").val(); queryData['storeName'] = $("#storeName").val(); TStoreProvince.table.refresh({query: queryData}); }; - /** * 重置搜索 @@ -104,69 +92,11 @@ TStoreProvince.search(); }; -function queryProvince(){ - // 发送AJAX请求到后台获取省份数据 - // 假设后台返回的数据格式为一个包含省份ID和名称的数组 - var provinceSelect = document.getElementById("province"); - - var ajax = new $ax(Feng.ctxPath + "/tCouponManage/getProvince", function(data){ - data.forEach(province => { - var option = document.createElement("option"); - option.value = province.id; // 根据你的数据结构确定省份的id字段 - option.text = province.name; // 根据你的数据结构确定省份的name字段 - provinceSelect.appendChild(option); - }); - },function(data){ - Feng.error("下拉失败!" + data.responseJSON.message + "!"); - }); - ajax.start(); - provinceSelect.addEventListener("change", queryCity); -} - - -// 获取城市数据 -function queryCity() { - var selectedProvinceId = this.value; // 获取选择的省份ID - // 发送AJAX请求到后台获取对应省份的城市数据 - // 假设后台返回的数据格式为一个包含城市ID和名称的数组 - - var citySelect = document.getElementById("city"); - citySelect.innerHTML = ""; - var ajax = new $ax(Feng.ctxPath + "/tCouponManage/getCity", function(data){ - data.forEach(province => { - var option = document.createElement("option"); - option.value = province.id; // 根据你的数据结构确定省份的id字段 - option.text = province.name; // 根据你的数据结构确定省份的name字段 - citySelect.appendChild(option); - }); - },function(data){ - console.log('data:',data) - Feng.error("获取失败!" + data.responseJSON.message + "!"); - }); - ajax.set('province',selectedProvinceId); - ajax.start(); - citySelect.addEventListener("change", queryOperator); -} -// 获取运营商数据 -function queryOperator() { - var city = $('#city option:selected').text(); - var citySelect = document.getElementById("operator"); - citySelect.innerHTML = ""; - var ajax = new $ax(Feng.ctxPath + "/tCouponManage/getOperator", function(data){ - data.forEach(province => { - var option = document.createElement("option"); - option.value = province.id; - option.text = province.name; - citySelect.appendChild(option); - }); - },function(data){ - console.log('data:',data) - Feng.error("获取失败!" + data.responseJSON.message + "!"); - }); - ajax.set('city',city); - ajax.start(); -} $(function () { + // 初始化图片上传 + var carPhoto = new $WebUpload("cover"); + carPhoto.setUploadBarId("progressBar"); + carPhoto.init(); var defaultColunms = TStoreProvince.initColumn(); var table = new BSTable(TStoreProvince.id, "/tCouponManage/storeDetailsOfSearch", defaultColunms); table.setPaginationType("client"); diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js index 329797c..2f31750 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js @@ -15,11 +15,11 @@ TStoreProvince.initColumn = function () { return [ {field: 'selectItem', checkbox: true}, - {title: '选择', field: '', visible: true, align: 'center', valign: 'middle'}, {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, - {title: '所属账号', field: 'accountName', visible: true, align: 'center', valign: 'middle'}, {title: '所在省市', field: 'provinceCity', visible: true, align: 'center', valign: 'middle'}, + {title: '所属运营商', field: 'accountName', visible: true, align: 'center', valign: 'middle'}, {title: '门店名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, + {title: '闸机id', field: 'ids', visible: true, align: 'center', valign: 'middle'}, ]; }; @@ -60,9 +60,8 @@ }) } } - window.parent.TCarInfoDlg.selecUserOpt(arr); + window.parent.TGoodsInfoDlg.selecUserOpt(arr); TStoreProvince.storeOfClosePage(); - } @@ -72,16 +71,9 @@ */ TStoreProvince.search = function () { var queryData = {}; - - var provinceElement = document.getElementById("province"); - var provinceId = provinceElement.value; - - var cityElement = document.getElementById("city"); - var cityElementId = cityElement.value; - - queryData['provinceId'] = provinceId; - queryData['cityId'] = cityElementId; - queryData['cityManagerId'] = $("#userPopulation").val(); + queryData['provinceId'] = $("#pCode").val(); + queryData['cityId'] = $("#cCode").val(); + queryData['operatorId'] = $("#account").val(); queryData['storeName'] = $("#storeName").val(); TStoreProvince.table.refresh({query: queryData}); }; @@ -91,16 +83,10 @@ * 重置搜索 */ TStoreProvince.resetSearch = function () { - var provinceSelect = document.getElementById("province"); - provinceSelect.innerHTML = '<option value="">全部</option>'; - - var citySelect = document.getElementById("city"); - citySelect.innerHTML = '<option value="">全部</option>'; - - queryProvince(); - - $("#userPopulation").val(''); - $("#storeName").val(''); + $("#pCode").val('') + $("#cCode").val('') + $("#account").val('') + $("#storeName").val('') TStoreProvince.search(); }; 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 73d4659..81f4e90 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 @@ -104,6 +104,17 @@ .set('registerDate') .set('commercialType'); } +function storeList1(){ + var index = layer.open({ + type: 2, + title: '门店列表', + area: ['80%', '80%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tGoods/storeList1' + }); + this.layerIndex = index; +} function storeList(){ var index = layer.open({ type: 2, @@ -115,7 +126,7 @@ }); this.layerIndex = index; } -TCarInfoDlg.selecUserOpt = function (arrays){ +TGoodsInfoDlg.selecUserOpt = function (arrays){ console.log(arrays) //获取所有的值 var subArr= this.storeIds; @@ -153,6 +164,7 @@ TGoodsInfoDlg.delete = function (o) { $(o).parent("div").remove() } + var num = 0; TGoodsInfoDlg.addBranch = function () { num=num+1; @@ -575,7 +587,352 @@ } +TGoodsInfoDlg.addSubmit1 = function() { + this.clearData(); + this.collectData(); + if(!this.validate()){ + return ; + } + + let typeAll = document.querySelector('input[name="type"]:checked').value; + if(typeAll==2){ + let pCode = $("#pCode").val() + let cCode = $("#cCode").val() + if(pCode==''){ + Feng.info("请选择省") + return; + } + if(cCode==''){ + Feng.info("请选择市") + return; + } + let storeId = $("#storeId").val() + if(storeId==''){ + Feng.info("请选择门店") + return; + } + let coursePackageTypeId = $("#coursePackageTypeId").val() + if(coursePackageTypeId==''){ + Feng.info("请选择课包类型") + return; + } + let coursePackageId = $("#coursePackageId").val() + if(coursePackageId==''){ + Feng.info("请选择课包") + return; + } + let coursePackageConfigId = $("#coursePackageConfigId").val() + if(coursePackageConfigId==''){ + Feng.info("请选择课时数") + return; + } + let price = $("#price1").val() + if(price==''){ + Feng.info("请填写原价") + return; + } + let type = document.querySelector('input[name="redemptionMethod"]:checked').value; + if(type==''){ + Feng.info("请选择兑换方式") + return; + } + let integral=''; + let cash=''; + if(type==1){ + integral = $("#integral1").val() + if(integral==''){ + Feng.info("请填写所需积分") + return; + } + } + if(type==2){ + integral = $("#integral1").val() + if(integral==''){ + Feng.info("请填写所需积分") + return; + } + cash = $("#cash1").val() + if(cash==''){ + Feng.info("请填写所需现金") + return; + } + } + + let cover1 = $("#cover1").val() + // if(cover1==''){ + // Feng.info("请上传封面") + // return; + // } + var goodImgs = this.goodsPicArray1; + var imgOne =""; + if(goodImgs.length==0){ + }else { + for (let i = 0; i <goodImgs.length; i++) { + if(i==goodImgs.length-1){ + imgOne += (goodImgs[i].response) + }else { + imgOne+=(goodImgs[i].response+",") + } + } + } + + let userPopulation = document.querySelector('input[name="userPopulation"]:checked').value; + + if(userPopulation==''){ + Feng.info("请选择用户人群") + return; + } + + let quantityIssued = $("#quantityIssued1").val() + if(quantityIssued==''){ + Feng.info("请填写发放数量") + return; + } + let pickUpQuantity = $("#pickUpQuantity1").val() + if(pickUpQuantity==''){ + Feng.info("请填写限领数量") + return; + } + let startTime = $("#startTime1").val() + if(startTime==''){ + Feng.info("请选择有效期") + return; + } + let text = TGoodsInfoDlg.editor1.getContent(); + console.log(text) + if(text==""){ + Feng.info("请输入兑换说明") + return; + } + + let sort = $("#sort1").val() + if(sort==''){ + Feng.info("请填写排序") + return; + } + + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tGoods/add", function(data){ + if(data=="5001"){ + Feng.error("改账号已经存在"); + }else + if(data.code == 200){ + if(language==1){ + Feng.success("添加成功!"); + }else if(language==2){ + Feng.success("Successfully added!"); + }else { + Feng.success("Sangat berhasil ditambah!"); + } + window.parent.TPointProducts.table.refresh(); + TGoodsInfoDlg.close(); + }else{ + Feng.error(data.msg); + } + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set("typeAll",typeAll); + ajax.set("provinceCode",pCode); + ajax.set("cityCode",cCode); + ajax.set("storeId",storeId); + ajax.set("coursePackageTypeId",coursePackageTypeId); + ajax.set("coursePackageId",coursePackageId); + ajax.set("coursePackageConfigId",coursePackageConfigId); + ajax.set("price",price); + ajax.set("type",type); + ajax.set("integral",integral); + ajax.set("cash",cash); + ajax.set("cover",cover1); + ajax.set("imgOne",imgOne); + ajax.set("userPopulation",userPopulation); + ajax.set("quantityIssued",quantityIssued); + ajax.set("pickUpQuantity",pickUpQuantity); + ajax.set("startTime",startTime); + ajax.set("text",text); + ajax.set("sort",sort); + ajax.start(); + + }else { + let name = $("#name").val() + if(name==''){ + Feng.info("请填写商品名称") + return; + } + let price = $("#price").val() + if(price==''){ + Feng.info("请填写原价") + return; + } + let type = document.querySelector('input[name="redemptionMethod"]:checked').value; + if(type==''){ + Feng.info("请选择兑换方式") + return; + } + + let integral=''; + let cash=''; + if(type==1){ + integral = $("#integral").val() + if(integral==''){ + Feng.info("请填写所需积分") + return; + } + } + if(type==2){ + integral = $("#integral").val() + if(integral==''){ + Feng.info("请填写所需积分") + return; + } + cash = $("#cash").val() + if(cash==''){ + Feng.info("请填写所需现金") + return; + } + } + if(type==3){ + cash = $("#cash").val() + if(cash==''){ + Feng.info("请填写所需现金") + return; + } + } + + let cover1 = $("#cover").val() + var goodImgs = this.goodsPicArray; + var imgOne =""; + if(goodImgs.length==0){ + }else { + for (let i = 0; i <goodImgs.length; i++) { + if(i==goodImgs.length-1){ + imgOne += (goodImgs[i].response) + }else { + imgOne+=(goodImgs[i].response+",") + } + } + } + + let userPopulation = document.querySelector('input[name="userPopulation"]:checked').value; + if(userPopulation==''){ + Feng.info("请选择用户人群") + return; + } + + let quantityIssued = $("#quantityIssued").val() + if(quantityIssued==''){ + Feng.info("请填写发放数量") + return; + } + let pickUpQuantity = $("#pickUpQuantity").val() + if(pickUpQuantity==''){ + Feng.info("请填写限领数量") + return; + } + let startTime = $("#startTime").val() + if(startTime==''){ + Feng.info("请选择有效期") + return; + } + + let company = document.querySelector('input[name="company"]:checked').value; + + var cityIds = []; + var cts = ""; + if (company === '2'){ + var myselect=document.getElementById('cityData'); + var seCity = myselect.options[myselect.selectedIndex].value; + if (seCity === null || seCity === undefined || seCity === ''){ + return Feng.error('请选中一个省市'); + } + cityIds.push(seCity); + if (num > 0){ + for (let i = 1; i <= num; i++) { + var insSelect=document.getElementById('cityData'+i); + var inData = insSelect.options[insSelect.selectedIndex].value; + if (inData !== undefined || inData !== null || inData !== ''){ + cityIds.push(inData); + } + } + cts = cityIds.join(','); + }else { + cts = cityIds + } + } + + const commaSeparatedString = this.goodsPicArray.join(','); + + var stores = ""; + if (company === '3'){ + console.log('3---this.storeIds',this.storeIds); + if (TGoodsInfoDlg.storeIds.length === 0 ){ + return Feng.error('请至少选择一个门店'); + } + stores = this.storeIds.join(','); + console.log('stores--===--',stores) + } + + let text = TGoodsInfoDlg.editor.getContent(); + console.log(text) + if(text==""){ + Feng.info("请输入兑换说明") + return; + } + + let sort = $("#sort").val() + if(sort==''){ + Feng.info("请填写排序") + return; + } + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tGoods/add", function(data){ + if(data=="5001"){ + Feng.error("改账号已经存在"); + }else + if(data.code == 200){ + if(language==1){ + Feng.success("添加成功!"); + }else if(language==2){ + Feng.success("Successfully added!"); + }else { + Feng.success("Sangat berhasil ditambah!"); + } + window.parent.TPointProducts.table.refresh(); + TGoodsInfoDlg.close(); + }else{ + Feng.error(data.msg); + } + + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set("typeAll",typeAll); + ajax.set("name",name); + ajax.set("price",price); + ajax.set("type",type); + ajax.set("integral",integral); + ajax.set("cash",cash); + ajax.set("cover",cover1); + ajax.set("imgOne",imgOne); + ajax.set("userPopulation",userPopulation); + ajax.set("quantityIssued",quantityIssued); + ajax.set("pickUpQuantity",pickUpQuantity); + ajax.set("startTime",startTime); + ajax.set("useScope",company); + ajax.set("cityIds",cts); + ajax.set("storeIds",stores); + ajax.set("text",text); + ajax.set("sort",sort); + ajax.set("cardType",document.querySelector('input[name="type"]:checked').value); + ajax.start(); + + } + + +} /** * 删除图片的函数 * @param e @@ -641,27 +998,31 @@ } $(function() { - - getProvince(null); - Feng.initValidator("carInfoForm", TGoodsInfoDlg.validateFields); +// 初始化图片上传 + var carPhoto = new $WebUpload("cover1"); + carPhoto.setUploadBarId("progressBar"); + carPhoto.init(); // 初始化图片上传 var carPhoto = new $WebUpload("cover"); carPhoto.setUploadBarId("progressBar"); carPhoto.init(); - var drivingLicensePhoto = new $WebUpload("drivingLicensePhoto"); - drivingLicensePhoto.setUploadBarId("progressBar"); - drivingLicensePhoto.init(); - var drivingLicensePhoto = new $WebUpload("drivingLicensePhoto"); - drivingLicensePhoto.setUploadBarId("progressBar"); - drivingLicensePhoto.init(); TGoodsInfoDlg.editor = UE.getEditor('editor'); TGoodsInfoDlg.editor1 = UE.getEditor('editor1'); + getProvince(null); + Feng.initValidator("carInfoForm", TGoodsInfoDlg.validateFields); + var drivingLicensePhoto = new $WebUpload("drivingLicensePhoto"); + drivingLicensePhoto.setUploadBarId("progressBar"); + drivingLicensePhoto.init(); + var drivingLicensePhoto = new $WebUpload("drivingLicensePhoto"); + drivingLicensePhoto.setUploadBarId("progressBar"); + drivingLicensePhoto.init(); + }); /** * 选择分公司后执行 */ -TGoodsInfoDlg.oneChange = function (e) { +TGoodsInfoDlg.oneChange = function () { var oneId=$(e).val(); var ajax = new $ax(Feng.ctxPath + "/tCity/onChange", function(data){ if(data!=null){ @@ -681,6 +1042,9 @@ ajax.set("oneId",oneId); ajax.start(); } +function UploadFileFn(){ + $('#upFile').click(); +} TGoodsInfoDlg.storeChange = function (e) { var oneId=$(e).val(); var ajax = new $ax(Feng.ctxPath + "/tCity/storeChange", function(data){ 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 index 2c49494..5427919 100644 --- 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 @@ -7,7 +7,6 @@ table: null, layerIndex: -1, }; - /** * 初始化表格的列 */ @@ -15,7 +14,6 @@ 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', @@ -25,7 +23,53 @@ }, ]; }; +TPayInfo.openAddTSite = function () { + if (TPayInfo.check()) { + if (TPayInfo.seItem.status === 2) { + return Feng.error("该门票已核销!"); + } + var index = layer.load(1, { + type: 1 + , title: '入园方式' + , area: ['50%', '50%'] + , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset + , id: 'layerDemo' //防止重复弹出cge + , content: '<div class="form-horizontal">' + + ' <div class="col-sm-11" >' + + ' <div class="col-sm-11">' + + ' <div class="form-group">\n' + + ' <label class="col-sm-3 control-label">请选择:</label>\n' + + ' <div class="col-sm-9">\n' + + ' <input type="radio" id="areaType1" value="1" name="areaType"> ' + + ' <label for="areaType1"> 手环 </label>\n' + + ' </div>\n' + + ' </div>\n' + + ' </div>' + + ' </div>' + + '</div>' + , btn: ['关闭', '确认'] + , btnAlign: 'c' //按钮居中 + , shade: 0.5 //不显示遮罩 + , load: 1 + , yes: function () { + layer.closeAll(); + }, + btn2: function () { + console.log("看看id") + console.log(TPayInfo.seItem.id) + var ajax = new $ax(Feng.ctxPath + "/ticket/writeOff", function (data) { + TPayInfo.search(); + }, function (data) { + }); + ajax.set("id", TPayInfo.seItem.id); + ajax.start(); + layer.closeAll(); + } + }); + this.layerIndex = index; + } +}; /** * 检查是否选中 */ diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js index e08209b..232c131 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js @@ -201,10 +201,8 @@ } }); } - var province = $('#pCode option:selected').text(); var val = $('#pCode option:selected').val(); - var citySelect = document.getElementById("cCode"); var accountSelect = document.getElementById("account"); var storeSelect = document.getElementById("store"); diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ticket/ticket.js b/cloud-server-management/src/main/webapp/static/modular/system/ticket/ticket.js index 4d66d36..eda887d 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/ticket/ticket.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/ticket/ticket.js @@ -132,7 +132,7 @@ area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, - content: Feng.ctxPath + '/tGoods/tCity_update/' + TPointProducts.seItem.id + content: Feng.ctxPath + '/tGoods/goods_info/' + TPointProducts.seItem.id }); this.layerIndex = index; } @@ -149,7 +149,7 @@ area: ['70%', '70%'], //宽高 fix: false, //不固定 maxmin: true, - content: Feng.ctxPath + '/tGoods/tPay_detail/' + TPointProducts.seItem.id + content: Feng.ctxPath + '/tGoods/tPay_detail1/' + TPointProducts.seItem.id }); this.layerIndex = index; } diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java index 3d89e03..5d95576 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java @@ -52,7 +52,7 @@ @PostMapping("/base/systemImg/querySystemImg") @ApiOperation(value = "获取各种系统图片", tags = {"APP-公共接口"}) @ApiImplicitParams({ - @ApiImplicitParam(value = "位置(1=无学员,2=成为会员,3=我的券包,4=线上商城,5=本周福利,6=今日免费)", name = "position", dataType = "int", required = true), + @ApiImplicitParam(value = "位置(1=无学员,2=成为会员,3=我的券包,4=线上商城,5=本周福利,6=今日免费,7启动页配置)", name = "position", dataType = "int", required = true), }) public ResultUtil<String> querySystemImg(Integer position){ TImgConfig imgConfig = imgConfigService.getBaseMapper().selectOne(new QueryWrapper<TImgConfig>().eq("position", position)); -- Gitblit v1.7.1