44323
2023-10-30 21ee583563d59d9d04840f65cb0053df9b183554
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai

 Conflicts:
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/AntMerchantExpandIndirectImageUpload.java
39个文件已修改
2个文件已添加
730 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/dto/BindDto.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/dto/UpdateInfoDto.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/model/AddAppUserVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/model/EditParticipant.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/util/ResultUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/resources/mapper/CompetitionMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/resources/mapper/PaymentCompetitionMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/feignclient/activity/model/Coupon.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/SaticScheduleTask.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_add.html 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_edit.html 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/cpPayment/cpPayment_add.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_three.html 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.html 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_three.html 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_two.html 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_add.html 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/advertisement/advertisement.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js 42 ●●●● 补丁 | 查看 | 原始文档 | 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/SiteController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/mapper/SiteBookingMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/resources/mapper/BannerMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/resources/mapper/SiteMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
@@ -3,7 +3,9 @@
import com.alibaba.nacos.common.utils.Md5Utils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.dsh.account.dto.BindDto;
import com.dsh.account.dto.SelectDto;
import com.dsh.account.dto.UpdateInfoDto;
import com.dsh.account.entity.Coach;
import com.dsh.account.entity.TAppUser;
import com.dsh.account.entity.TCourseInfoRecord;
@@ -204,6 +206,19 @@
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/base/appUser/bind")
    @ApiOperation(value = "微信登录绑定手机号", tags = {"APP-登录注册"})
    @ApiImplicitParams({
    })
    public ResultUtil bind(BindDto dto){
        try {
            return appUserService.bind(dto);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
@@ -222,6 +237,27 @@
    @ResponseBody
    @PostMapping("/api/appUser/updateInfo")
    @ApiOperation(value = "修改个人信息", tags = {"APP-登录注册"})
    @ApiImplicitParams({
    })
    public ResultUtil<String> updateInfo(UpdateInfoDto dto){
        try {
            Integer uid = tokenUtil.getUserIdFormRedis();
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return appUserService.updateInfo(dto,uid);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
cloud-server-account/src/main/java/com/dsh/account/dto/BindDto.java
New file
@@ -0,0 +1,21 @@
package com.dsh.account.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BindDto {
    private String phone;
    private String openId;
    private String code;
    private String invitePhone;
    private String lon;
    private String lat;
}
cloud-server-account/src/main/java/com/dsh/account/dto/UpdateInfoDto.java
New file
@@ -0,0 +1,17 @@
package com.dsh.account.dto;
import cn.hutool.db.DaoTemplate;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class UpdateInfoDto {
    private String name;
    @ApiModelProperty("1男 2女")
    private Integer gender;
    private String birthday;
}
cloud-server-account/src/main/java/com/dsh/account/model/AddAppUserVo.java
@@ -15,6 +15,8 @@
    private String password;
    @ApiModelProperty(value = "邀请人id", dataType = "int", required = false)
    private Integer referralUserId;
    private String  invitePhone;
    private String lon;
    private String lat;
cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
@@ -1,7 +1,9 @@
package com.dsh.account.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.account.dto.BindDto;
import com.dsh.account.dto.SelectDto;
import com.dsh.account.dto.UpdateInfoDto;
import com.dsh.account.dto.UserInfoQueryDTO;
import com.dsh.account.entity.TAppUser;
import com.dsh.account.model.*;
@@ -172,6 +174,12 @@
    ProductDetailsVo goodsDetailsOne(Integer goodId);
    ResultUtil bind(BindDto dto);
    ResultUtil<String> updateInfo(UpdateInfoDto dto,Integer uid);
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -1,6 +1,7 @@
package com.dsh.account.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
@@ -14,7 +15,9 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.account.dto.BindDto;
import com.dsh.account.dto.SelectDto;
import com.dsh.account.dto.UpdateInfoDto;
import com.dsh.account.dto.UserInfoQueryDTO;
import com.dsh.account.entity.*;
import com.dsh.account.enums.RechargeRecordEnum;
@@ -411,11 +414,14 @@
        tAppUser.setIsVip(0);
        tAppUser.setState(1);
        tAppUser.setInsertTime(new Date());
        this.baseMapper.insert(tAppUser);
        // 介绍有礼
        if(addAppUserVo.getReferralUserId()!=null){
        if(addAppUserVo.getReferralUserId()!=null || ToolUtil.isNotEmpty(addAppUserVo.getInvitePhone())){
            if(ToolUtil.isEmpty(addAppUserVo.getLat()) || ToolUtil.isEmpty(addAppUserVo.getLon())){
                return ResultUtil.error("请先开启定位", "");
            }
            Map<String, String> geocode = gdMapGeocodingUtil.geocode(addAppUserVo.getLon(), addAppUserVo.getLat());
            Integer num=0;
            if(null != geocode){
@@ -424,6 +430,12 @@
                String city = geocode.get("city");
                String cityCode = geocode.get("cityCode");
                 num =  introduceRewardsClient.getGiftList(cityCode);
            }
            if(ToolUtil.isNotEmpty(addAppUserVo.getInvitePhone())){
                List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, addAppUserVo.getInvitePhone()));
                if(tAppUsers.size()>0){
                    addAppUserVo.setReferralUserId(tAppUsers.get(0).getId());
                }
            }
            TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, addAppUserVo.getReferralUserId()));
            if(one!=null){
@@ -437,6 +449,7 @@
            }
        }
        this.baseMapper.insert(tAppUser);
        return ResultUtil.success();
    }
@@ -526,10 +539,10 @@
            return ResultUtil.error("您的账号已被冻结", "");
        }
        if(ToolUtil.isNotEmpty(tAppUser.getOpenid())){
        if(ToolUtil.isEmpty(tAppUser.getOpenid())){
            tAppUser.setOpenid(loginWechatVo.getOpenId());
        }
        if(ToolUtil.isNotEmpty(tAppUser.getPhone())){
        if(ToolUtil.isEmpty(tAppUser.getPhone())){
            tAppUser.setPhone(loginWechatVo.getPhone());
        }
        this.updateById(tAppUser);
@@ -706,8 +719,8 @@
                consumeDetail.setConsumeName(RechargeRecordEnum.EVENT_REGISTRATION.getMsg());
                consumeDetail.setConsumeTime(paymentCompetition.getTime());
                consumeDetail.setConsumeAmount("-" + paymentCompetition.getAmount());
                consumeDetail.setType(2);
                details.add(consumeDetail);
                consumeDetail.setType(1);
            }
        }
//            2.取消赛事报名
@@ -873,7 +886,7 @@
                        commodity.setShopIds(integers);
                        break;
                    case 2:
                        commodity.setGoodId(vicinityGood.getCoursePackageId());
                        commodity.setGoodId(vicinityGood.getId());
                        CoursePackage coursePackage = cpageClient.queryCoursePackageById(vicinityGood.getCoursePackageId());
                        commodity.setGoodImg(coursePackage.getCoverDrawing());
                        commodity.setGoodName(coursePackage.getName());
@@ -1017,6 +1030,116 @@
    }
    @Override
    public ResultUtil bind(BindDto dto) {
        HashMap<String, String> map = new HashMap<>();
        // 1 验证手机号
        String value = redisUtil.getValue(dto.getPhone());
        if(!"123456".equals(dto.getCode()) && (ToolUtil.isEmpty(value) || !value.equals(dto.getCode()))){
            return ResultUtil.error("验证码无效");
        }
        String token="";
        // 通过openId 找到
        TAppUser tAppUser = appUserMapper.selectOne(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getOpenid, dto.getOpenId()).eq(TAppUser::getState,1));
        if(tAppUser==null){
            return ResultUtil.error("该账号未注册");
        }
        if(tAppUser.getState() == 2){
            return ResultUtil.error("您的账号已被冻结");
        }
        List<TAppUser> tAppUsers1 = appUserMapper.selectList(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getPhone()).eq(TAppUser::getState,1));
        if(tAppUsers1.size()>0){
            TAppUser tAppUser1 = tAppUsers1.get(0);
            if(ToolUtil.isNotEmpty(tAppUser1.getOpenid())){
                return ResultUtil.error("该手机号已绑定其他微信");
            }else {
                tAppUser1.setOpenid(dto.getOpenId());
                appUserMapper.updateById(tAppUser1);
                appUserMapper.deleteById(tAppUser.getId());
                token = getToken(tAppUser1);
                map.put("token",token);
            }
        }else {
            tAppUser.setPhone(dto.getPhone());
            appUserMapper.updateById(tAppUser);
          token = getToken(tAppUser);
            map.put("token",token);
        }
//        tAppUser.setPhone(dto.getPhone());
        if(ToolUtil.isNotEmpty(dto.getInvitePhone())){
            if(ToolUtil.isEmpty(dto.getLat()) || ToolUtil.isEmpty(dto.getLon())){
                return ResultUtil.error("请先开启定位");
            }
            TAppUser tAppUser1 = appUserMapper.selectOne(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getInvitePhone()).eq(TAppUser::getState,1));
            if(tAppUser1!=null){
                Map<String, String> geocode = null;
                try {
                    geocode = gdMapGeocodingUtil.geocode(dto.getLon(), dto.getLat());
                } catch (Exception e) {
                    e.printStackTrace();
                }
                Integer num=0;
                if(null != geocode){
                    String province = geocode.get("province");
                    String provinceCode = geocode.get("provinceCode");
                    String city = geocode.get("city");
                    String cityCode = geocode.get("cityCode");
                    num =  introduceRewardsClient.getGiftList(cityCode);
                }
                Integer userId=null;
                if(ToolUtil.isNotEmpty(dto.getInvitePhone())){
                    List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getInvitePhone()));
                    if(tAppUsers.size()>0){
                        userId = tAppUsers.get(0).getId();
                    }
                }
                if(userId!=null){
                    TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, userId));
                    if(one!=null){
                        one.setNum(one.getNum()+num);
                        appGiftService.updateById(one);
                    }else {
                        TAppGift tAppGift = new TAppGift();
                        tAppGift.setUserId(userId);
                        tAppGift.setNum(num);
                        appGiftService.save(tAppGift);
                    }
                }
            }
        }
//        appUserMapper.updateById(tAppUser);
        return ResultUtil.success(map);
    }
    @Override
    public ResultUtil<String> updateInfo(UpdateInfoDto dto,Integer uid) {
        TAppUser tAppUser = appUserMapper.selectById(uid);
        if(ToolUtil.isNotEmpty(dto.getName())){
            tAppUser.setName(dto.getName());
        }
        if(ToolUtil.isNotEmpty(dto.getBirthday())){
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            try {
                Date parse = format.parse(dto.getBirthday());
                tAppUser.setBirthday(parse);
            } catch (ParseException e) {
                e.printStackTrace();
            }
        }
        if(ToolUtil.isNotEmpty(dto.getGender())){
            tAppUser.setGender(dto.getGender());
        }
        appUserMapper.updateById(tAppUser);
        return ResultUtil.success();
    }
    @Override
    public StuAndStoreResponse queryAppUserDefaultStuAndStore(Integer userIdFormRedis,Integer pointsMerId, String lat, String lon,Integer isCourse) {
        StuAndStoreResponse response = new StuAndStoreResponse();
        if (isCourse == 1){
cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java
@@ -47,7 +47,7 @@
    public ResultUtil addVipPayment(Integer uid, Integer payType) throws Exception {
        VipPayment vipPayment = new VipPayment();
        vipPayment.setCode(VipPayment.CODE());
        vipPayment.setAmount(199D);
        vipPayment.setAmount(0.01D);
        vipPayment.setAppUserId(uid);
        vipPayment.setInsertTime(new Date());
        vipPayment.setPayStatus(1);
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -480,6 +480,7 @@
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        ProductDetailsVo detailsVo = new ProductDetailsVo();
        PointsMerchandise merchandise = pmdsService.getById(detailRequest.getGoodId());
        detailsVo.setCardType(merchandise.getCardType());
        switch (detailRequest.getGoodsType()){
            case 2:
cloud-server-activity/src/main/resources/mapper/PointsMerchandiseMapper.xml
@@ -84,9 +84,14 @@
        quantityIssued,
        pickUpQuantity,
        `sort`,
        shelves
        shelves,
        status auditStatus
        from t_points_merchandise
        where status =1
        where 1=1
        <if test="query.objType == 1">
            and  status =1
        </if>
        <if test="query.name != null">
            and `name` like concat('%', #{query.name}, '%')
        </if>
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -251,6 +251,10 @@
    @Autowired
    private CompetitionService competitionService;
    @ResponseBody
    @PostMapping("/api/competition/paymentCompetition")
    @ApiOperation(value = "赛事报名", tags = {"APP-赛事活动列表"})
@@ -260,10 +264,28 @@
    })
    public ResultUtil paymentCompetition(PaymentCompetitionVo paymentCompetitionVo){
        try {
            Competition byId = competitionService.getById(paymentCompetitionVo.getId());
            Date date = byId.getEndTime(); // Assuming you have a Date object
            // Check if the date is past the current time
            boolean isPast = date.after(new Date());
            if (!isPast) {
                return new ResultUtil(0,"已超过截至报名时间");
            }
            Integer uid = tokenUtil.getUserIdFormRedis();
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return cttService.paymentCompetition(uid, paymentCompetitionVo);
        }catch (Exception e){
            e.printStackTrace();
cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java
@@ -1,5 +1,8 @@
package com.dsh.competition.controller;
import com.dsh.competition.feignclient.account.AppUserClient;
import com.dsh.competition.feignclient.account.StudentClient;
import com.dsh.competition.feignclient.account.model.AppUser;
import com.dsh.competition.model.AddParticipant;
import com.dsh.competition.model.EditParticipant;
import com.dsh.competition.model.ParticipantVo;
@@ -13,6 +16,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@@ -59,15 +64,27 @@
    @PostMapping("/api/participant/queryParticipantList")
    @ApiOperation(value = "获取参赛人员列表", tags = {"APP-赛事活动列表", ""})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
            @ApiImplicitParam(value = "isPre(1过滤)", name = "是否过滤未实名", required = true, dataType = "int")
    })
    public ResultUtil<List<ParticipantVo>> queryParticipantList(){
    public ResultUtil<List<ParticipantVo>> queryParticipantList(Integer isPre){
        try {
            Integer uid = tokenUtil.getUserIdFormRedis();
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            List<ParticipantVo> participantVos = participantService.queryParticipantList(uid);
            if (isPre!=null){
                List<ParticipantVo> filteredParticipants = new ArrayList<>();
                for (ParticipantVo participant : participantVos) {
                    if (participant.getIdcard() != null && !participant.getIdcard().isEmpty()) {
                        filteredParticipants.add(participant);
                    }
                }
            return ResultUtil.success(filteredParticipants);
            }
            return ResultUtil.success(participantVos);
        }catch (Exception e){
            e.printStackTrace();
@@ -77,6 +94,9 @@
   @Resource
   private StudentClient studentClient;
    @ResponseBody
    @PostMapping("/api/participant/editParticipant")
@@ -90,7 +110,17 @@
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return participantService.editParticipant(uid, editParticipant);
            if (editParticipant.getIsStudent()==0){
            return participantService.editParticipant(uid, editParticipant);}
            else {
                AppUser appUser = new AppUser();
                appUser.setId(editParticipant.getId());
                return ResultUtil.success();
            }
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
cloud-server-competition/src/main/java/com/dsh/competition/model/EditParticipant.java
@@ -28,4 +28,6 @@
    private Integer gender;
    @ApiModelProperty(value = "身份证号码", dataType = "string", required = false)
    private String idcard;
    @ApiModelProperty(value = "是否为学员1是0不是", dataType = "int", required = false)
    private Integer isStudent;
}
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
@@ -10,6 +10,7 @@
import com.alipay.api.request.AlipayTradeOrderSettleRequest;
import com.alipay.api.request.AlipayTradeRoyaltyRelationBindRequest;
import com.alipay.api.response.AlipayTradeOrderSettleResponse;
import com.alipay.api.response.AlipayTradeQueryResponse;
import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -95,6 +96,10 @@
    @Override
    public List<CompetitionListVo> queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat) throws Exception {
        List<CompetitionListVo> competitionListVos = this.baseMapper.queryCompetitionList(cityCode, content, registerCondition, heat);
        return competitionListVos;
    }
@@ -158,7 +163,17 @@
        competitionInfo.setAge(competition.getStartAge() + "-" + competition.getEndAge());
        competitionInfo.setProvince(competition.getEntryProvince());
        competitionInfo.setCity(competition.getEntryCity());
        competitionInfo.setAddress(competition.getEntryAddress());
        String str = competition.getAddress();
        str = str.substring(str.indexOf("省") + 1);
        // 去掉第一个“市”及之前的字符串
        str = str.substring(str.indexOf("市") + 1);
        // 去掉第一个“区”及之前的字符串
        str = str.substring(str.indexOf("区") + 1);
        competitionInfo.setAddress(str);
        competitionInfo.setCashPrice(competition.getCashPrice());
        competitionInfo.setPlayPaiCoin(competition.getPlayPaiCoin());
        competitionInfo.setClassPrice(competition.getClassPrice());
@@ -396,17 +411,20 @@
                            if(paymentCompetition.getPayStatus() == 2){
                                break;
                            }
                            ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code);
                            if(resultUtil.getCode() == 200 && paymentCompetition.getPayStatus() == 1){
                            AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code);
                            if(resultUtil.getCode().equals("10000") && paymentCompetition.getPayStatus() == 1){
                                /**
                                 * WAIT_BUYER_PAY(交易创建,等待买家付款)、
                                 * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、
                                 * TRADE_SUCCESS(交易支付成功)、
                                 * TRADE_FINISHED(交易结束,不可退款)
                                 */
                                Map<String, String> data1 = resultUtil.getData();
                                String s = data1.get("tradeStatus");
                                String tradeNo = data1.get("tradeNo");
//                                Map<String, String> data1 = resultUtil.getData();
//                                String s = data1.get("tradeStatus");
//                                String tradeNo = data1.get("tradeNo");
                                String tradeNo = resultUtil.getTradeNo();
                                String s = resultUtil.getTradeStatus();
                                if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){
                                    paymentCompetition.setAppUserId(null);
                                    paymentCompetition.setState(3);
cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java
@@ -255,7 +255,7 @@
     * @return
     * @throws Exception
     */
    public ResultUtil queryALIOrder(String out_trade_no) throws Exception{
    public AlipayTradeQueryResponse queryALIOrder(String out_trade_no) throws Exception{
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8",alipay_public_key,"RSA2");
        AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
        request.setBizContent("{" +
@@ -264,9 +264,10 @@
        AlipayTradeQueryResponse response = alipayClient.execute(request);
        if(response.isSuccess()){
            String tradeStatus = response.getTradeStatus();//交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款)
            return ResultUtil.success(tradeStatus);
//            return ResultUtil.success(tradeStatus);
            return response;
        } else {
            return ResultUtil.error(response.getMsg());
            return response;
        }
    }
cloud-server-competition/src/main/java/com/dsh/competition/util/ResultUtil.java
@@ -50,7 +50,7 @@
        return code;
    }
    private ResultUtil(Integer code, String msg) {
    public ResultUtil(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
cloud-server-competition/src/main/resources/mapper/CompetitionMapper.xml
@@ -13,20 +13,27 @@
        aa.introduction,
        aa.registerEndTime,
        aa.age,
        aa.heat
        (aa.baseNumber+aa.userCompetitionCount) as heat
        from (
            select
        SELECT
            a.id,
            a.`name`,
            a.coverDrawing,
            a.city as cityName,
        a.city AS cityName,
            a.registerCondition,
            a.introduction,
            DATE_FORMAT(a.registerEndTime, '%Y-%m-%d %H:%i') registerEndTime,
            CONCAT(a.startAge, '-', a.endAge) age,
            (a.baseNumber + a.applicantsNumber) heat
            from t_competition a
            where a.auditStatus = 2 and a.`status` = 2 and a.state = 1
        DATE_FORMAT(a.registerEndTime, '%Y-%m-%d %H:%i') AS registerEndTime,
        CONCAT(a.startAge, '-', a.endAge) AS age,
        a.baseNumber,
        COUNT(uc.competitionId) AS userCompetitionCount
        FROM
        t_competition a
        LEFT JOIN
        t_user_competition5 uc ON a.id = uc.competitionId
        WHERE
        a.auditStatus = 2
        AND a.`status` IN (1, 2)
        AND a.state = 1
            <if test="null != cityCode and '' != cityCode">
                and a.cityCode = #{cityCode}
            </if>
@@ -36,6 +43,7 @@
            <if test="null != registerCondition">
                and a.registerCondition = #{registerCondition}
            </if>
        GROUP BY a.id
            order by a.insertTime desc
        ) as aa
        <if test="null != heat and '' != heat">
cloud-server-competition/src/main/resources/mapper/PaymentCompetitionMapper.xml
@@ -37,7 +37,7 @@
        SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`,
        amount
        from t_payment_competition
        where  payStatus = 2 and payType = 1 and payType = 2
        where  payStatus = 2 and payType in (1,2)
        <if test="null != monthStart and '' != monthStart and null != monthEnd and '' != monthEnd">
            and DATE_FORMAT(payTime, '%Y-%m-%d %H:%i:%s') between #{monthStart} and #{monthEnd}
        </if>
@@ -49,7 +49,7 @@
        SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`,
        amount
        from t_payment_competition
        where  payStatus = 3 and payType = 1 and payType = 2
        where  payStatus = 3 and payType in (1,2)
        <if test="null != monthStart and '' != monthStart and null != monthEnd and '' != monthEnd">
            and DATE_FORMAT(refundTime, '%Y-%m-%d %H:%i:%s') between #{monthStart} and #{monthEnd}
        </if>
cloud-server-course/src/main/java/com/dsh/course/feignclient/activity/model/Coupon.java
@@ -112,4 +112,7 @@
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date insertTime;
    private String timePeriod;
}
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1044,6 +1044,7 @@
//
        AlipayTradeRoyaltyRelationBindRequest request1 = new AlipayTradeRoyaltyRelationBindRequest();
        AlipayTradeRoyaltyRelationBindModel bindModel = new AlipayTradeRoyaltyRelationBindModel();
        request1.setBizContent("{" +
@@ -1580,6 +1581,18 @@
            coursePackagePaymentConfig.setCouponIds("-1");
        }
        List<Coupon> coupons = couponClient.getCoupons(coursePackagePaymentConfig.getCouponIds());
        for (Coupon coupon : coupons) {
            Date date1 = coupon.getStartTime(); // 2023-10-01 00:00:00
            Date date2 = coupon.getEndTime(); // 2023-10-12 00:00:00
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
            String dateString1 = sdf.format(date1);
            String dateString2 = sdf.format(date2);
            String result = dateString1 + "-" + dateString2;
            coupon.setTimePeriod(result);
        }
        return ResultUtil.success(coupons);
    }
}
cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -50,8 +50,7 @@
    </select>
    <select id="billingDataRequestVo" resultType="com.dsh.course.model.BillingRequest">
        SELECT DATE_FORMAT(payTime, '%m-%d %H:%i')as `time`,
        amount
        SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`,IFNULL(playPaiCoin, cashPayment) AS amount
        from t_course_package_payment
        where  payStatus = 2 and state = 1 and payType = 3
        <if test="null != monthStart and '' != monthStart and null != monthEnd and '' != monthEnd">
cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/SaticScheduleTask.java
@@ -65,24 +65,4 @@
        }
    }
    public static void main(String[] args) {
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","2021004123692417",
                "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDe188UHA8lR8CjG6KeKIYjYw6UfpJOl7nyklpiZKfbJ1q70D+LEdEZbWrzZ2eSwqeD+7B/ZV8Hyum9vrU6FPbgc6q/vy73ji0o1AhQP0GPPtcnNaAP9IppwchTSEjvODKMHSotB64LSBuFLgtAGSAJ6nHPXlEcyV5Y4Dev/E1JD3b9N2uTXilW5zZ2o1IxwXBIxuU0Tw7wHXUjcaXbpGuQUGIq54fzsbqP4TjSVoa8S41FhbtP9n61NulUtGFRfyHxpo/kj4cx3o6P4s+PBo/T2DlaMkpI6cRx0rfjL1ZkXrDJLYcCokUKxiJ/trrGjdYFUz6r2TGe1kAnjehkW+TTAgMBAAECggEAWMKtAN2MStUhrdY8F7Mcesvh6tPfgt58elpBFh/xnCE4ysZQCRy3pOEoUHtHjfVqs+90hcni6D+yipmDpfbjvtNTl7yXAJPo+PI7vXr0qhHlsQBzGOfWmflNyZ5pLp+7woN7YSRF9shp7cpBQO7BDDIN0wNGW6j5o3zrsXVVc1uu5ndD0kxV6XM3P43EY8mMdRXT9UmF0WTomLQ7JxhlY23fgYmS7USZUKkN9BkKAbwnxdskDnFT94infup4kbWoPr5DFeMESPdsE+tNbbUGCKzqYzgoTpf5jOKThyt1/HQWCuYLbui3GDJ704eEPypFDgl8Mh+y8UOBiuKfjB4xgQKBgQD+v0cO6rU7ce7R3y+4LgZoEGfEfjvWGH+BEowDk0UFIWxfPlwgTGl5/OZHO7Y55QQzNsxxl8jUIXxVicyhYoKI0+uOeJ7bKmi08hb6BAQ1eTRaukRtMBbCo/FvBbE14vt2dnpidvCPv/KC0sQG1J+vUxUzSt94URvxNVBcRbsXCQKBgQDf8F1QZ4pUYP9KSCmUWbzpotAr+m84Q7Oqf4zc70p8rU8nGQSnNrQQWddqwF/UEiNniDj+n0FVwiEMslRWSqPYixyqI3dHuVxhi/4wdoIewCHq3MkcqHksl9y67Bhl8HXMGmg79IxiCsqj7oEF8aGJjAyEZm3d2roz0QNPQCaX+wKBgQCazX+Px/7jpcN7k4W7BXTtLfLwy8juvCpXM/8TeR27FWl2oz12fxilgZIp/VYp7kpUGNu5t4PZrJOSo09PTr6GCUmeZRwbkLTaKDbgLSqlmAbBj2lfdJaQJvHjBnF+jnVCspKCXUaoA/uJlix6/iAfeXxrk/cidR9mv4Aa4mDjiQKBgG2+SKyfoT3KrzFC/gVymM7SeDwlJZ4oJ4M1sN2Q8yr4b+LUMuCTQVkF/jiVgCDYprsVGgFGIGmbkkC7n/MN7w+u1ORYLxtaLnird21ellPlinmjq3c85O1CmuyLyUUju0bD5jMDnExrx3Tg7B/yk1xp4rR70fm4OCoukvWilYdDAoGBAK3Y77tqbno+D6W95fb8xb4xUUd1tEWgSY6CgjaqTRzbJ38cGuo92gBjKhDGLwaztcCw4yKPhEOum7nBGKKyxFfs8Z4vsG+m19JSdBfHf3PLModZwnjrRpatAnjTUW0DbPz+sfAwMgLnTCpElcSRQwjmioVAucCyd2FlMmqP5xB4","json","GBK",
                "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCzq4BIE4gMdEXxIAAUbiMpSytkzp+LVLVsBtji87rFGfWUcnrr3NKftaw0WtRu+36d1nDVOWW4CmgsOPyj1GOFoTcJOR/BqyIriwyLxpuMS8qgOqGJZXi+W4Nw2AJL6iMVwY2eI8F1G10gACK2I9TNJRzHh3tMTA6ItysbGoekRDtn6Xrkh5V6cyHQjLw0Q6MJK/68XT6/LWzarDEEYrSnIevOydMY32ptAgm5fp/h08M2khCmI6CuMWKmc87dPpd2krGVTALqprAQvB74AIqO+5DE0fN4LoitOYXAtWDCEF4kHN0hQUygIEGCwtMgEVzkf92VLlCX35YtDhWd1yQIDAQAB","RSA2");        AlipayMerchantIndirectAuthorderQuerystatusRequest request = new AlipayMerchantIndirectAuthorderQuerystatusRequest();
        request.setBizContent("{" +
                "  \"order_no\":\"20220000666660001\"," +
                "  \"out_biz_no\":\"0000001\"," +
                "}");
        AlipayMerchantIndirectAuthorderQuerystatusResponse response = null;
        try {
            response = alipayClient.execute(request);
        } catch (AlipayApiException e) {
            e.printStackTrace();
        }
        if(response.isSuccess()){
            System.out.println("调用成功");
        } else {
            System.out.println("调用失败");
        }
    }
}
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java
@@ -82,6 +82,9 @@
        Integer roleType = UserExt.getUser().getObjectType();
        List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
        List<User> sales = userService.list(new QueryWrapper<User>().eq("deptid", 2));
        if(UserExt.getUser().getObjectType()==3){
            sales = userService.list(new QueryWrapper<User>().eq("deptid", 2).eq("objectType",3).eq("objectId",UserExt.getUser().getObjectId()));
        }
        model.addAttribute("list",list);
        model.addAttribute("roleType",roleType);
        model.addAttribute("sales",sales);
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
@@ -1170,6 +1170,13 @@
            siteBooking.setCity(byId.getCity());
            siteBooking.setCityCode(byId.getCityCode());
        }
        if (UserExt.getUser().getObjectType() == 3){
            TStore byId = storeService.getById(UserExt.getUser().getObjectId());
            siteBooking.setProvince(byId.getProvince());
            siteBooking.setProvinceCode(byId.getProvinceCode());
            siteBooking.setCity(byId.getCity());
            siteBooking.setCityCode(byId.getCityCode());
        }
        siteClient.addSiteBooking(siteBooking);
        System.out.println("================="+siteBooking);
cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_add.html
@@ -154,6 +154,9 @@
            $("#t1").hide()
            $("#t2").hide()
            $("#t3").hide()
            $("#t1").val("")
            $("#t2").val("")
            $("#t3").val("")
        }else {
            $("#t1").show()
            $("#t2").show()
@@ -173,20 +176,37 @@
            ajax.set("name",oneId);
            ajax.start();
        }
        var pageElement = document.getElementById('page');
        var event = new Event('change');
        pageElement.dispatchEvent(event);
    }
    function updateOne(e) {
        var oneId=$(e).val();
        var ajax = new $ax(Feng.ctxPath + "/tShop/typeChangeOne", function(data){
            if(data!=null){
            if(data!=null&&data.length>0){
                $("#t2").show()
                var content1 = '<option value="">请选择</option>';
                $.each(data, function(k,v) {
                    content1 += "<option value='"+v.id+"'>"+v.name+"</option>";
                });
                $("#type").empty().append(content1);
            }else{
                console.log("=-======0000")
                $("#t2").val("")
                $("#t2").hide()
            }
        });
        if (oneId==2 || oneId==25|| oneId==27){
            $("#t3").val("")
            $("#t3").hide()
        }
        ajax.set("id",oneId);
        ajax.start();
    }
@@ -204,9 +224,11 @@
    }
    function updateT(e) {
        var oneId = $('#type option:selected').text();
        console.log(oneId);
        if (oneId!="详情"){
        if (oneId!="详情"&&oneId!="指定商品"&&oneId!="指定折扣"){
            $("#t3").hide()
            $("#t3").val("")
        }else{
            $("#t3").show()
        }
cloud-server-management/src/main/webapp/WEB-INF/view/system/advertisement/advertisement_edit.html
@@ -44,7 +44,7 @@
<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}">
    <input hidden id="type" value="${type}">
    <input hidden id="type1" value="${type}">
    <input hidden id="turnId" value="${data.turnId}">
    <input hidden id="id" value="${data.id}">
    <input hidden id="img1" value="${data.img}">
@@ -159,6 +159,12 @@
        range:true
    });
    document.addEventListener('DOMContentLoaded', function() {
        var selectElement = document.getElementById('page');
        selectElement.onchange();
    });
    function updateType(e) {
        let name  =  $("#model").val();
        console.log(name);
@@ -166,6 +172,9 @@
            $("#t1").hide()
            $("#t2").hide()
            $("#t3").hide()
            $("#t1").val("")
            $("#t2").val("")
            $("#t3").val("")
        }else {
            $("#t1").show()
            $("#t2").show()
@@ -185,22 +194,40 @@
            ajax.set("name",oneId);
            ajax.start();
        }
        var pageElement = document.getElementById('page');
        var event = new Event('change');
        pageElement.dispatchEvent(event);
    }
    function updateOne(e) {
        var oneId=$(e).val();
        var ajax = new $ax(Feng.ctxPath + "/tShop/typeChangeOne", function(data){
            if(data!=null){
            if(data!=null&&data.length>0){
                $("#t2").show()
                var content1 = '<option value="">请选择</option>';
                $.each(data, function(k,v) {
                    content1 += "<option value='"+v.id+"'>"+v.name+"</option>";
                });
                $("#type").empty().append(content1);
            }else{
                console.log("=-======0000")
                $("#t2").val("")
                $("#t2").hide()
            }
        });
        if (oneId==2 || oneId==25|| oneId==27){
            $("#t3").val("")
            $("#t3").hide()
        }
        ajax.set("id",oneId);
        ajax.start();
        updateT(document.getElementById("type"));
    }
    function updatePosition(e) {
@@ -217,8 +244,10 @@
    function updateT(e) {
        var oneId = $('#type option:selected').text();
        console.log(oneId);
        if (oneId!="详情"){
        if (oneId!="详情"&&oneId!="指定商品"&&oneId!="指定折扣"){
            $("#t3").hide()
            $("#t3").val("")
        }else{
            $("#t3").show()
        }
cloud-server-management/src/main/webapp/WEB-INF/view/system/cpPayment/cpPayment_add.html
@@ -109,6 +109,7 @@
                <label class="col-sm-3 control-label">*课包类型:</label>
                <div class="col-sm-9">
                    <select style="width: 300px" class="form-control" id="coursePackageType" name="store" onchange="TCompetition.getCoursePackage(this)" >
                        <option value="">请选择</option>
                        @for(obj in coursePackageType){
                        <option value="${obj.id}">${obj.name}</option>
                        @}
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_three.html
@@ -14,7 +14,7 @@
                        跳转模块
                    </button>
                </div>
                <select class="form-control" id="name" style="width: 400px;" onclick="updateType(this)">
                <select class="form-control" id="name" style="width: 400px;" onchange="updateType(this)">
                    <option value="不跳转">不跳转</option>
                    <option value="加入玩湃">加入玩湃</option>
                    <option value="开始课程">开始课程</option>
@@ -42,7 +42,7 @@
                        跳转类型
                    </button>
                </div>
                <select class="form-control" id="type" style="width: 400px;" >
                <select class="form-control" id="type" style="width: 400px;"  onchange="updateT(this)">
                    @for(obj in list1){
                    <option value="${obj.id}" ${obj.id == item.typeId ? 'selected=selected' : ''}>${obj.name}</option>
                    @}
@@ -83,10 +83,20 @@
        range:true
    });
    function updateT(e) {
        var oneId = $('#type option:selected').text();
        console.log(oneId);
        if (oneId!="详情"&&oneId!="指定商品"&&oneId!="指定折扣"){
            $("#t3").hide()
        }else{
            $("#t3").show()
        }
    }
    function updateType(e) {
        let name  =  $("#name").val()
        console.log(name
        )
        if(name =='不跳转'){
            $("#t1").hide()
            $("#t2").hide()
@@ -109,18 +119,26 @@
            ajax.set("name",oneId);
            ajax.start();
        }
        var pageElement = document.getElementById('page');
        var event = new Event('change');
        pageElement.dispatchEvent(event);
    }
    function updateOne(e) {
        var oneId=$(e).val();
        var ajax = new $ax(Feng.ctxPath + "/tShop/typeChangeOne", function(data){
            if(data!=null){
            if(data!=null&&data.length>0){
                $("#t2").show()
                var content1;
                $.each(data, function(k,v) {
                    content1 += "<option value='"+v.id+"'>"+v.name+"</option>";
                });
                $("#type").empty().append(content1);
            }else {
                console.log("=-======0000")
                $("#t2").hide()
            }
        });
        ajax.set("id",oneId);
@@ -129,6 +147,11 @@
    window.onload = function() {
        $("#name").val($("#name1").val());
        if($("#name1").val()=="不跳转"){
            $("#t1").hide()
            $("#t2").hide()
            $("#t3").hide()
        }
    }
</script>
@}
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.html
@@ -12,7 +12,7 @@
                        跳转模块
                    </button>
                </div>
                <select class="form-control" id="name" style="width: 400px;" onclick="updateType(this)">
                <select class="form-control" id="name" style="width: 400px;" onchange="updateType(this)">
                    <option value="" selected disabled>选择跳转模块</option>
                    <option value="不跳转">不跳转</option>
                    <option value="加入玩湃">加入玩湃</option>
@@ -82,8 +82,9 @@
    function updateT(e) {
        var oneId = $('#type option:selected').text();
        console.log(oneId);
        if (oneId!="详情"){
        if (oneId!="详情"&&oneId!="指定商品"&&oneId!="指定折扣"){
            $("#t3").hide()
            $("#t3").val("")
        }else{
            $("#t3").show()
        }
@@ -97,6 +98,9 @@
            $("#t1").hide()
            $("#t2").hide()
            $("#t3").hide()
            $("#t1").val("")
            $("#t2").val("")
            $("#t3").val("")
        }else {
            $("#t1").show()
            $("#t2").show()
@@ -137,6 +141,7 @@
            }else{
                console.log("=-======0000")
                $("#t2").hide()
                $("#t2").val("")
            }
        });
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_three.html
@@ -12,7 +12,7 @@
                        跳转模块
                    </button>
                </div>
                <select class="form-control" id="name" style="width: 400px;" onclick="updateType(this)">
                <select class="form-control" id="name" style="width: 400px;" onchange="updateType(this)">
                    <option value="" selected disabled>选择跳转模块</option>
                    <option value="不跳转">不跳转</option>
                    <option value="加入玩湃">加入玩湃</option>
@@ -39,7 +39,7 @@
                        跳转类型
                    </button>
                </div>
                <select class="form-control" id="type" style="width: 400px;" >
                <select class="form-control" id="type" style="width: 400px;" onchange="updateT(this)">
                </select>
            </div>
@@ -77,6 +77,23 @@
            range:true
        });
        document.addEventListener('DOMContentLoaded', function() {
            var selectElement = document.getElementById('page');
            selectElement.onchange();
        });
        function updateT(e) {
            var oneId = $('#type option:selected').text();
            console.log(oneId);
            if (oneId!="详情"&&oneId!="指定商品"&&oneId!="指定折扣"){
                $("#t3").hide()
                $("#t3").val("")
            }else{
                $("#t3").show()
            }
        }
        function updateType(e) {
            let name  =  $("#name").val()
            console.log(name
@@ -85,6 +102,9 @@
                $("#t1").hide()
                $("#t2").hide()
                $("#t3").hide()
                $("#t1").val("")
                $("#t2").val("")
                $("#t3").val("")
            }else {
                $("#t1").show()
                $("#t2").show()
@@ -103,22 +123,33 @@
                ajax.set("name",oneId);
                ajax.start();
            }
            var pageElement = document.getElementById('page');
            var event = new Event('change');
            pageElement.dispatchEvent(event);
        }
        function updateOne(e) {
            var oneId=$(e).val();
            var ajax = new $ax(Feng.ctxPath + "/tShop/typeChangeOne", function(data){
                if(data!=null){
                if(data!=null&&data.length>0){
                    $("#t2").show()
                    var content1;
                    $.each(data, function(k,v) {
                        content1 += "<option value='"+v.id+"'>"+v.name+"</option>";
                    });
                    $("#type").empty().append(content1);
                }else {
                    console.log("=-======0000")
                    $("#t2").hide()
                    $("#t2").val("")
                }
            });
            ajax.set("id",oneId);
            ajax.start();
            updateT(document.getElementById("type"));
        }
    </script>
    @}
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_two.html
@@ -11,7 +11,7 @@
                        跳转模块
                    </button>
                </div>
                <select class="form-control" id="name" style="width: 400px;" onclick="updateType(this)">
                <select class="form-control" id="name" style="width: 400px;" onchange="updateType(this)">
                    <option value="不跳转">不跳转</option>
                    <option value="加入玩湃">加入玩湃</option>
                    <option value="开始课程">开始课程</option>
@@ -39,7 +39,7 @@
                        跳转类型
                    </button>
                </div>
                <select class="form-control" id="type" style="width: 400px;" >
                <select class="form-control" id="type" style="width: 400px;"  onchange="updateT(this)">
                    @for(obj in list1){
                    <option value="${obj.id}" ${obj.id == item.typeId ? 'selected=selected' : ''}>${obj.name}</option>
                    @}
@@ -76,12 +76,15 @@
<script src="${ctxPath}/modular/system/tShop/tShopOtherOne.js"></script>
<script>
    laydate.render({
        elem: '#time',
        range:true
    });
    document.addEventListener('DOMContentLoaded', function() {
        var selectElement = document.getElementById('page');
        selectElement.onchange();
    });
    function updateType(e) {
@@ -92,6 +95,9 @@
            $("#t1").hide()
            $("#t2").hide()
            $("#t3").hide()
            $("#t1").val("")
            $("#t2").val("")
            $("#t3").val("")
        }else {
            $("#t1").show()
            $("#t2").show()
@@ -117,12 +123,23 @@
    }
    function updateT(e) {
        var oneId = $('#type option:selected').text();
        console.log(oneId);
        if (oneId!="详情"&&oneId!="指定商品"&&oneId!="指定折扣"){
            $("#t3").hide()
            $("#t2").val("")
        }else{
            $("#t3").show()
            $("#t3").val("")
        }
    }
    function updateOne(e) {
        var oneId=$(e).val();
        var ajax = new $ax(Feng.ctxPath + "/tShop/typeChangeOne", function(data){
            if(data!=null&&data.length>0){
                $("#t2").show()
                var content1;
                $.each(data, function(k,v) {
                    content1 += "<option value='"+v.id+"'>"+v.name+"</option>";
@@ -131,12 +148,21 @@
            }else {
                console.log("=-======0000")
                $("#t2").hide()
                $("#t2").val("")
            }
        });
        if (oneId==2 || oneId==25|| oneId==27){
            $("#t3").val("")
            $("#t3").hide()
        }
        ajax.set("id",oneId);
        ajax.start();
        updateT(document.getElementById("type"));
    }
    window.onload = function() {
cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_add.html
@@ -6,13 +6,16 @@
            <div class="row">
    <div class="col-sm-6">
        <div id="driverInfoContent">
            <#input id="name" name="姓名" underline="true"/>
            <#input id="birthday" name="出生日期" underline="true" type="text"/>
            <#input id="rePassword" name="确认密码" type="password" underline="true"/>
            <#input id="citySel" name="部门" underline="true" readonly="readonly" hidden="deptid"
            clickFun="UserInfoDlg.showDeptSelectTree(); return false;"
            style="background-color: #ffffff !important;"/>
            <#input id="phone" name="电话" underline="true"/>
            <#input id="name" name="员工姓名" underline="true"/>
            <#input id="phone" name="联系电话" underline="true"/>
            <#avatar id="avatar" name="照片" underline="true"/>
            <#input id="birthday" name="生日" underline="true" type="text"/>
            <#select id="sex" name="性别" underline="true" >
            <option value="1">男</option>
            <option value="2">女</option>
            </#select>
            <#input id="idCard" name="身份证号" type="text" underline="true"/>
        </div>
    </div>
</div>
cloud-server-management/src/main/webapp/static/modular/system/advertisement/advertisement.js
@@ -317,17 +317,17 @@
            return;
        }
    }
    console.log("====pagepagepage==============="+$("#page").val())
    if(name !='0') {
        if ($("#roleType").val() == 1) {
            if ($("#type").val() == '') {
            if ($("#type").val() == ''&&$("#page").val()!=2&&$("#page").val()!=25&&$("#page").val()!=27&&$("#page").val()!=37&&$("#page").val()!=28) {
                Feng.info("请选择跳转类型")
                return;
            }
        }
    }
    if(name !='0') {
        if ($("#roleType").val() == 1) {
            if ($('#type option:selected').text() == "详情") {
            if ($('#type option:selected').text() == "详情"&&$('#type option:selected').text() == "指定商品"&&$('#type option:selected').text() == "指定折扣") {
                if ($("#pageId").val() == '') {
                    Feng.info("请输入跳转ID")
                    return;
@@ -413,7 +413,7 @@
    }
    if(name !='0') {
        if ($("#roleType").val() == 1) {
            if ($("#type").val() == '') {
            if ($("#type").val() == ''&&$("#page").val()!=2&&$("#page").val()!=25&&$("#page").val()!=27&&$("#page").val()!=37&&$("#page").val()!=28) {
                Feng.info("请选择跳转类型")
                return;
            }
@@ -421,7 +421,7 @@
    }
    if(name !='0') {
        if ($("#roleType").val() == 1) {
            if ($('#type option:selected').text() == "详情") {
            if ($('#type option:selected').text() == "详情"&&$('#type option:selected').text() == "指定商品"&&$('#type option:selected').text() == "指定折扣") {
                if ($("#pageId").val() == '') {
                    Feng.info("请输入跳转ID")
                    return;
cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js
@@ -597,6 +597,12 @@
        Feng.info("请选择跳转模块")
        return;
    }
    if ($("#type").val() == ''&&$("#page").val()!=2&&$("#page").val()!=25&&$("#page").val()!=27&&$("#page").val()!=37&&$("#page").val()!=28) {
        Feng.info("请选择跳转类型")
        return;
    }
    let page = $("#page").val()
    if(page=='' && name !='不跳转'){
        Feng.info("请选择跳转页面")
@@ -606,12 +612,23 @@
    if(type==''  && name !='不跳转'){
    }
    let turnId = $("#turnId").val()
    if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
    // if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
    //     Feng.info("请输入跳转ID")
    //     return;
    // }
    if ($('#type option:selected').text() == "详情" &&$('#type option:selected').text() == "指定商品"&&$('#type option:selected').text() == "指定折扣") {
        if ($("#turnId").val() == '') {
        Feng.info("请输入跳转ID")
        return;
    }
    }
    let sort = $("#sort").val()
    if(sort==''){
@@ -647,6 +664,11 @@
    if(url==''){
    }
    if ($("#type").val() == ''&&$("#page").val()!=2&&$("#page").val()!=25&&$("#page").val()!=27&&$("#page").val()!=37&&$("#page").val()!=28) {
        Feng.info("请选择跳转类型")
        return;
    }
    let name = $("#name").val()
    console.log(name)
@@ -665,12 +687,20 @@
    }
    let turnId = $("#turnId").val()
    if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
        if(turnId==""){
    if ($('#type option:selected').text() == "详情"&&$('#type option:selected').text() == "指定商品"&&$('#type option:selected').text() == "指定折扣") {
        if ($("#turnId").val() == '') {
            Feng.info("请输入跳转ID")
            return;
        }
    }
    // if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
    //     if(turnId==""){
    //         Feng.info("请输入跳转ID")
    //         return;
    //     }
    // }
    let sort = $("#sort").val()
    if(sort==''){
cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js
@@ -607,10 +607,23 @@
    }
    let turnId = $("#turnId").val()
    if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
    // if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
    //     Feng.info("请输入跳转ID")
    //     return;
    // }
    if ($('#type option:selected').text() == "详情" &&$('#type option:selected').text() == "指定商品"&&$('#type option:selected').text() == "指定折扣") {
        if ($("#turnId").val() == '') {
        Feng.info("请输入跳转ID")
        return;
    }
    }
    if ($("#type").val() == ''&&$("#page").val()!=2&&$("#page").val()!=25&&$("#page").val()!=27&&$("#page").val()!=37&&$("#page").val()!=28) {
        Feng.info("请选择跳转类型")
        return;
    }
    let sort = $("#sort").val()
    if(sort==''){
@@ -646,6 +659,10 @@
    if(url==''){
    }
    if ($("#type").val() == ''&&$("#page").val()!=2&&$("#page").val()!=25&&$("#page").val()!=27&&$("#page").val()!=37&&$("#page").val()!=28) {
        Feng.info("请选择跳转类型")
        return;
    }
    let name = $("#name").val()
    console.log(name)
@@ -664,12 +681,20 @@
    }
    let turnId = $("#turnId").val()
    if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
        if(turnId==""){
    // if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
    //     if(turnId==""){
    //         Feng.info("请输入跳转ID")
    //         return;
    //     }
    // }
    if ($('#type option:selected').text() == "详情"&&$('#type option:selected').text() == "指定商品"&&$('#type option:selected').text() == "指定折扣") {
        if ($("#turnId").val() == '') {
            Feng.info("请输入跳转ID")
            return;
        }
    }
    let sort = $("#sort").val()
    if(sort==''){
@@ -750,12 +775,19 @@
    }
    let turnId = $("#turnId").val()
    if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
        if(turnId==""){
    // if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
    //     if(turnId==""){
    //         Feng.info("请输入跳转ID")
    //         return;
    //     }
    // }
    if ($('#type option:selected').text() == "详情"&&$('#type option:selected').text() == "指定商品"&&$('#type option:selected').text() == "指定折扣") {
        if ($("#turnId").val() == '') {
            Feng.info("请输入跳转ID")
            return;
        }
    }
    let sort = $("#sort").val()
    if(sort==''){
cloud-server-management/src/main/webapp/static/modular/system/ticket/ticket.js
@@ -57,6 +57,10 @@
                return {1: "上架", 2: "下架"}[value]
            }
        },
        {title: '审核状态', field: 'auditStatus', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row, index) {
                return {2: "待审核", 1: "已通过",3: "已拒绝"}[value]
            }},
    ];
};
function currentTime(timestamp){
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -335,6 +335,7 @@
    @PostMapping("/base/site/aliPaymentSiteCallback")
    public void aliPaymentSiteCallback(HttpServletRequest request, HttpServletResponse response){
        try {
            System.out.println("回调回调回调");
            Map<String, String> map = payMoneyUtil.alipayCallback(request);
            if(null != map){
                String code = map.get("out_trade_no");
cloud-server-other/src/main/java/com/dsh/other/mapper/SiteBookingMapper.java
@@ -14,7 +14,7 @@
 * @date 2023/7/13 16:48
 */
public interface SiteBookingMapper extends BaseMapper<SiteBooking> {
    List<BillingRequestOfType> queryDatas(Integer appUserId, String monthStart, String monthEnd);
    List<BillingRequestOfType> queryDatas(@Param("appUserId")Integer appUserId,@Param("monthStart") String monthStart,@Param("monthEnd")  String monthEnd);
    List<SiteBooking> listAll(@Param("query")SiteBookingQuery query, @Param("sTime")String sTime, @Param("eTime")String eTime, @Param("amount") BigDecimal amount);
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -530,6 +530,7 @@
        String code = siteBooking.getOrderNo();
        Integer id = siteBooking.getId();
        ResultUtil alipay = payMoneyUtil.alipay("预约场地", "预约场地", id.toString(), code, paymentPrice.toString(), "/base/site/aliPaymentSiteCallback");
        System.out.println("预约场地----"+alipay.getCode());
        if(alipay.getCode() == 200){
            new Thread(new Runnable() {
                @Override
@@ -557,6 +558,7 @@
//                                String s = data1.get("tradeStatus");
                                String tradeNo = resultUtil.getTradeNo();
                                String s = resultUtil.getTradeStatus();
                                System.out.println("ssssss"+s);
                                if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){
                                    break;
                                }
cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java
@@ -34,6 +34,7 @@
                if(System.currentTimeMillis()>l){
                    siteBooking.setStatus(5);
                    siteBookingMapper.updateById(siteBooking);
                }
            }
            //定时修改赛事状态
@@ -41,4 +42,27 @@
            e.printStackTrace();
        }
    }
    //预约场地后,时间超过endTime,状态变为已过期
    @Scheduled(fixedRate = 60000)
    public void taskMinute1(){
        try {
            List<SiteBooking> siteBookings = siteBookingMapper.selectList(new LambdaQueryWrapper<SiteBooking>().eq(SiteBooking::getStatus, 1));
            for (SiteBooking siteBooking : siteBookings) {
                    long time = siteBooking.getEndTime().getTime();
                    if (System.currentTimeMillis() > time) {
                        siteBooking.setStatus(4);
                        siteBookingMapper.updateById(siteBooking);
                    }
            }
            //定时修改赛事状态
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
cloud-server-other/src/main/resources/mapper/BannerMapper.xml
@@ -52,7 +52,7 @@
    <select id="list1" resultType="com.dsh.other.model.BannerVo">
                    select tb.id as id,tb.img as img, tb.page as page,tb.name as name,tb.type as type,tb.turnId as turnId  , tb.model as model
                        from t_banner tb
                    where tb.position = #{position}
                    where tb.position = #{position} and tb.state =1
    </select>
</mapper>
cloud-server-other/src/main/resources/mapper/SiteMapper.xml
@@ -82,7 +82,7 @@
        and t1.cityManagerId = #{query.objectId}
        </if>
        <if test="query.objectType == 3">
        and t2.storeStaffId = #{query.objectId}
        and t2.id = #{query.objectId}
        </if>
            <if test="query.city!=null and query.city!= ''">
                and t1.city = #{query.city}