44323
2023-10-08 12ec47a5fed86e04433ca725caf6068c5000d0af
后台代码
28个文件已修改
7个文件已添加
1482 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/CityManagerController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/model/WriteOffDTO.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/sharding-jdbc.properties 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/WriteOffDTO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/AdvertisementController.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TicketController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TImgConfig.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/resources/mapper/TStoreMapper.xml 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement.html 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_benefits.html 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_config.html 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_payOne.html 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreList.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreListOne.html 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/ticket/ticket_add.html 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/advertisement/advertisement.js 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TStoreInfo.js 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js 386 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tGoods/tPay_info.js 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/ticket/ticket.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/ImgConfigController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
        }
    }
    /**
     * 根据名称模糊搜索用户
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);
    }
}
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;
}
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){
cloud-server-activity/src/main/java/com/dsh/activity/model/WriteOffDTO.java
New file
@@ -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;
}
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">
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
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 下架
     */
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/WriteOffDTO.java
New file
@@ -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;
}
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);
}
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";
    }
    /**
     * 跳转到广告编辑页面
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";
    }
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));
    }
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)){
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<>();
    }
    /**
     *  购买详情
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TImgConfig.java
New file
@@ -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;
}
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);
}
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);
    }
}
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>
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>
cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_benefits.html
New file
@@ -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>
@}
cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_config.html
New file
@@ -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>
@}
cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_payOne.html
New file
@@ -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>&nbsp;关闭
                        </button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
</div>
<script src="${ctxPath}/modular/system/tGoods/tPay_info.js"></script>
@}
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>
cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreListOne.html
New file
@@ -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>&nbsp;关闭
                </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>&nbsp;保存
                </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>
@}
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;
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();
});
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'},
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");
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();
};
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){
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;
    }
};
/**
 * 检查是否选中
 */
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");
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;
    }
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));