From 35d72e26dc2b3159021636dc1e540da0a8735b4e Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期日, 08 十月 2023 15:48:53 +0800 Subject: [PATCH] update后台 --- cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetitionAudit/TCompetition_edit.html | 13 cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/CompetitionClient.java | 6 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 43 ++ cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml | 3 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_edit.html | 123 ++++++ cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java | 124 ++++++ cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java | 9 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java | 4 cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java | 3 cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java | 2 cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java | 2 cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java | 6 cloud-server-course/src/main/resources/sharding-jdbc.properties | 4 cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java | 3 cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html | 2 cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java | 18 cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js | 42 + cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java | 3 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java | 4 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 75 +++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java | 153 +++++++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java | 5 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html | 112 +++++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java | 6 cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java | 6 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 5 cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java | 71 +++ cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html | 298 ++++++++++++-- cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 32 + 32 files changed, 1,085 insertions(+), 98 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java index 707bea3..b7c7d88 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java @@ -1,16 +1,21 @@ package com.dsh.account.controller; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.account.dto.*; -import com.dsh.account.entity.Coach; -import com.dsh.account.entity.GiftSearchDto; -import com.dsh.account.entity.TStudent; +import com.dsh.account.entity.*; import com.dsh.account.feignclient.course.CoursePaymentClient; import com.dsh.account.feignclient.course.model.TCoursePackagePayment; +import com.dsh.account.model.QueryDataFee; import com.dsh.account.model.StudentVo; +import com.dsh.account.service.IVipPaymentService; +import com.dsh.account.service.RechargeRecordsService; +import com.dsh.account.service.TAppUserService; import com.dsh.account.service.TStudentService; import com.dsh.account.util.ResultUtil; import com.dsh.account.util.TokenUtil; +import com.dsh.account.util.ToolUtil; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -19,10 +24,13 @@ import springfox.documentation.swagger2.mappers.ModelMapper; import javax.annotation.Resource; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.stream.Collectors; /** * @author zhibing.pu @@ -37,6 +45,15 @@ @Autowired private TokenUtil tokenUtil; + + @Autowired + private TAppUserService appUserService; + + @Autowired + private IVipPaymentService vipPaymentService; + + @Autowired + private RechargeRecordsService rechargeRecordsService; /** * 添加学员 @@ -231,4 +248,105 @@ System.out.println("=======giftSelect======selectDtos====>"+list); return list; } + + + @PostMapping("/student/getUserPt") + @ResponseBody + public List<Integer> getUserPt(@RequestBody List<Integer> ids){ + if(ids.size()==0){ + ids.add(-1); + } + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getInsertType, 1)); + return list.stream().map(TAppUser::getId).collect(Collectors.toList()); + } + + + @PostMapping("/student/queryFee") + public HashMap<String, Object> queryFee(@RequestBody QueryDataFee queryDataFee){ + HashMap<String, Object> map = new HashMap<>(); + String data = queryDataFee.getData(); + List<Integer> ids = queryDataFee.getIds(); + if(ids.size()==0){ + ids.add(-1); + } + LambdaQueryWrapper<VipPayment> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(data)){ + String stime = data.split(" - ")[0]+" 00:00:00"; + String etime = data.split(" - ")[1]+" 23:59:59"; + vipPaymentLambdaQueryWrapper.between(VipPayment::getInsertTime,stime,etime); + } + vipPaymentLambdaQueryWrapper.in(VipPayment::getAppUserId,ids); + vipPaymentLambdaQueryWrapper.eq(VipPayment::getPayStatus,2); + List<VipPayment> list = vipPaymentService.list(vipPaymentLambdaQueryWrapper); + double sum = list.stream().mapToDouble(VipPayment::getAmount).sum(); + + map.put("fee1",sum); + + LambdaQueryWrapper<RechargeRecords> rechargeRecordsLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(data)){ + String stime = data.split(" - ")[0]+" 00:00:00"; + String etime = data.split(" - ")[1]+" 23:59:59"; + rechargeRecordsLambdaQueryWrapper.between(RechargeRecords::getInsertTime,stime,etime); + } + rechargeRecordsLambdaQueryWrapper.in(RechargeRecords::getAppUserId,ids); + rechargeRecordsLambdaQueryWrapper.eq(RechargeRecords::getPayStatus,2); + List<RechargeRecords> list1 = rechargeRecordsService.list(rechargeRecordsLambdaQueryWrapper); + double sum1 = list1.stream().map(RechargeRecords::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add).doubleValue(); + + map.put("fee2",sum1); + + + + + return map; + + + } + + + + @PostMapping("/student/queryUserAge") + public HashMap<String, Object> queryUserAge(){ + HashMap<String, Object> map = new HashMap<>(); + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getInsertType, 1)); + List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + List<TStudent> list1 = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect)); + int age1=0; + int age2=0; + int age3=0; + int age4=0; + int boy=0; + int girl=0; + for (TStudent tStudent : list1) { + Date birthday = tStudent.getBirthday(); + long l = DateUtil.betweenYear(birthday, new Date(), true); + if(l<7){ + age1++; + }else if(l>=8 && l<11){ + age2++; + }else if(l>=11 && l<=12){ + age3++; + }else { + age4++; + } + if(tStudent.getSex()==1){ + boy++; + }else { + girl++; + } + } + map.put("age1",age1); + map.put("age2",age2); + map.put("age3",age3); + map.put("age4",age4); + map.put("boy",boy); + map.put("girl",girl); + return map; + + + + } } diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java b/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java index 62b571b..4e1b938 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java +++ b/cloud-server-account/src/main/java/com/dsh/account/entity/TAppUser.java @@ -169,6 +169,6 @@ /** * 添加人id平台管理员id 运营商id */ - @TableField("type") + @TableField("addUserId") private Integer addUserId; } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java index 830286d..f85e7b7 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java @@ -15,6 +15,7 @@ import com.dsh.activity.model.CoachChangeStateVO; import com.dsh.activity.model.PointMerchandiseIncomeVo; import com.dsh.activity.model.PointMerchandiseVo; +import com.dsh.activity.model.QueryDataFee; import com.dsh.activity.model.request.*; import com.dsh.activity.model.response.GoodsInfoOneVo; import com.dsh.activity.model.response.StoreVos; @@ -75,6 +76,11 @@ @Resource private CouponCityService ccityService; + + + @Resource + private PointsMerchandiseCityService pmdsCityService; + @Autowired private UserPointsMerchandiseService userPointsMerchandiseService; @@ -147,9 +153,6 @@ public List<PointMerchandiseIncomeVo> getAmount(){ return userPointsMerchandiseService.getAmount(); } - - @Resource - private PointsMerchandiseCityService pmdsCityService; @ResponseBody @@ -623,7 +626,6 @@ - public int dealTimeStatus(String startTime, String endTime){ LocalDate now = LocalDate.now(); LocalDate start = LocalDate.parse(startTime); @@ -1016,4 +1018,69 @@ } + + @PostMapping("/base/pointMerchars/queryFee") + @ResponseBody + public HashMap<String, Object> queryFee(@RequestBody QueryDataFee queryDataFee){ + HashMap<String, Object> map = new HashMap<>(); + String data = queryDataFee.getData(); + List<Integer> ids = queryDataFee.getIds(); + if(ids.size()==0){ + ids.add(-1); + } + List<PointsMerchandise> list1 = pmdsService.list(new LambdaQueryWrapper<PointsMerchandise>().eq(PointsMerchandise::getRedemptionMethod, 3)); + LambdaQueryWrapper<UserPointsMerchandise> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(data)){ + String stime = data.split(" - ")[0]+" 00:00:00"; + String etime = data.split(" - ")[1]+" 23:59:59"; + vipPaymentLambdaQueryWrapper.between(UserPointsMerchandise::getInsertTime,stime,etime); + } + vipPaymentLambdaQueryWrapper.in(UserPointsMerchandise::getUserId,ids); + List<Integer> collect = list1.stream().map(PointsMerchandise::getId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + vipPaymentLambdaQueryWrapper.in(UserPointsMerchandise::getPointsMerchandiseId,collect); + vipPaymentLambdaQueryWrapper.eq(UserPointsMerchandise::getPayStatus,2); + ArrayList<Integer> objects = new ArrayList<>(); + List<UserPointsMerchandise> list = upmseService.list(vipPaymentLambdaQueryWrapper); + + double a =0; + double d =0; + double m =0; + double j =0; + double y =0; + for (UserPointsMerchandise userPointsMerchandise : list) { + for (PointsMerchandise pointsMerchandise : list1) { + if(pointsMerchandise.getId()==userPointsMerchandise.getPointsMerchandiseId()){ + a += pointsMerchandise.getCash().doubleValue(); + } + if(pointsMerchandise.getType()==3){ + if(pointsMerchandise.getCardType()==1){ + d += pointsMerchandise.getCash().doubleValue(); + } + if(pointsMerchandise.getCardType()==2){ + m += pointsMerchandise.getCash().doubleValue(); + } + if(pointsMerchandise.getCardType()==3){ + j += pointsMerchandise.getCash().doubleValue(); + } + if(pointsMerchandise.getCardType()==4){ + y += pointsMerchandise.getCash().doubleValue(); + } + } + } + + } + + map.put("all",a); + map.put("day",d); + map.put("month",m); + map.put("quarter",j); + map.put("year",y); + return map; + + + } + } diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java index 57f39c4..6990211 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java @@ -30,10 +30,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -548,5 +545,32 @@ } } + + + @PostMapping("/base/competition/queryFee") + public Double queryFee(@RequestBody QueryDataFee queryDataFee){ + HashMap<String, Object> map = new HashMap<>(); + String data = queryDataFee.getData(); + List<Integer> ids = queryDataFee.getIds(); + if(ids.size()==0){ + ids.add(-1); + } + LambdaQueryWrapper<PaymentCompetition> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(data)){ + String stime = data.split(" - ")[0]+" 00:00:00"; + String etime = data.split(" - ")[1]+" 23:59:59"; + vipPaymentLambdaQueryWrapper.between(PaymentCompetition::getInsertTime,stime,etime); + } + vipPaymentLambdaQueryWrapper.in(PaymentCompetition::getAppUserId,ids); + vipPaymentLambdaQueryWrapper.eq(PaymentCompetition::getPayStatus,2); + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + objects.add(2); + vipPaymentLambdaQueryWrapper.in(PaymentCompetition::getPayType,objects); + List<PaymentCompetition> list = paymentCompetitionService.list(vipPaymentLambdaQueryWrapper); + double sum = list.stream().mapToDouble(PaymentCompetition::getAmount).sum(); + return sum; + } + } diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java index 337f37d..fa41b2b 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java @@ -18,10 +18,7 @@ import com.dsh.course.service.TCoursePackageService; import com.dsh.course.service.TCoursePackageTypeService; import com.dsh.course.service.TCourseService; -import com.dsh.course.util.PageFactory; -import com.dsh.course.util.PayMoneyUtil; -import com.dsh.course.util.ResultUtil; -import com.dsh.course.util.TokenUtil; +import com.dsh.course.util.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -35,10 +32,12 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Api @CrossOrigin @@ -451,4 +450,68 @@ public String getHours(@RequestBody Integer coursePackageId1){ return coursePackageService.getHours(coursePackageId1); } + + @PostMapping("/course/queryFee") + public HashMap<String, Object> queryFee(@RequestBody QueryDataFee queryDataFee){ + HashMap<String, Object> map = new HashMap<>(); + String data = queryDataFee.getData(); + List<Integer> ids = queryDataFee.getIds(); + if(ids.size()==0){ + ids.add(-1); + } + + LambdaQueryWrapper<TCoursePackagePayment> wrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(data)){ + String stime = data.split(" - ")[0]+" 00:00:00"; + String etime = data.split(" - ")[1]+" 23:59:59"; + wrapper.between(TCoursePackagePayment::getInsertTime,stime,etime); + } + wrapper.in(TCoursePackagePayment::getAppUserId,ids); + wrapper.eq(TCoursePackagePayment::getPayStatus,2); + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + objects.add(2); + objects.add(5); + objects.add(6); + wrapper.in(TCoursePackagePayment::getPayType,objects); + List<TCoursePackagePayment> list = coursePackagePaymentService.list(wrapper); + double v = list.stream().map(TCoursePackagePayment::getCashPayment).reduce(BigDecimal.ZERO, BigDecimal::add).doubleValue(); + List<Integer> collect = list.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + // + List<TCoursePackage> list2 = coursePackageService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect)); + // 课类型 + List<TCoursePackageType> list1 = coursePackageTypeService.list(); + + for (TCoursePackagePayment tCoursePackagePayment : list) { + for (TCoursePackage tCoursePackage : list2) { + if(tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())){ + tCoursePackagePayment.setType(tCoursePackage.getCoursePackageTypeId()); + } + } + } + + ArrayList<HashMap<String, Object>> hashMaps = new ArrayList<>(); + + for (TCoursePackageType tCoursePackageType : list1) { + HashMap<String, Object> objectObjectHashMap = new HashMap<>(); + objectObjectHashMap.put("name",tCoursePackageType.getName()); + double a= 0; + for (TCoursePackagePayment tCoursePackagePayment : list) { + if(tCoursePackagePayment.getType().equals(tCoursePackageType.getId())){ + a += tCoursePackagePayment.getCashPayment().doubleValue(); + } + } + objectObjectHashMap.put("value",a); + hashMaps.add(objectObjectHashMap); + } + + HashMap<String, Object> map1 = new HashMap<>(); + map1.put("fee",v); + map1.put("data",hashMaps); + + return map1; + } } diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java index b3bc1a8..2f691bb 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java @@ -1558,4 +1558,47 @@ return a; } + + @ResponseBody + @PostMapping("/coursePackagePayment/queryCourseData") + public List<Map<String,Object>> queryCourseData(@RequestBody List<Integer> ids){ + // 找出课程类型 找出剩余的课时数 + List<TCoursePackageType> list = coursePackageTypeService.list(); + if(ids.size()==0){ + ids.add(-1); + } + List<TCoursePackagePayment> list1 = packagePaymentService.listOne(ids); + List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect)); + for (TCoursePackagePayment tCoursePackagePayment : list1) { + for (TCoursePackage tCoursePackage : list2) { + if(tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())){ + tCoursePackagePayment.setType(tCoursePackage.getType()); + } + } + } + + + List<Map<String,Object>> mapList = new ArrayList<>(); + for (TCoursePackageType tCoursePackageType : list) { + HashMap<String, Object> map = new HashMap<>(); + map.put("name",tCoursePackageType.getName()); + int a =0; + for (TCoursePackagePayment tCoursePackagePayment : list1) { + if(tCoursePackagePayment.getType().equals(tCoursePackageType.getId())){ + a += tCoursePackagePayment.getLaveClassHours(); + } + } + map.put("value",a); + mapList.add(map); + } + + + return mapList; + } + + } diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java index ef54715..c9e7694 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java +++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java @@ -164,4 +164,8 @@ */ @TableField("salesName") private String salesName; + + + @TableField(exist = false) + private Integer type; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java index 03f1be1..fcd43f6 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java +++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java @@ -67,4 +67,7 @@ boolean updateHoursById(@Param("id") Long id, @Param("i") int i); void updateBytime(@Param("coursePackagePayment") TCoursePackagePayment coursePackagePayment); + + List<TCoursePackagePayment> listOne(@Param("ids") List<Integer> ids); + } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java index e69e432..4b4f452 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java @@ -133,4 +133,6 @@ List<RegisterOrderVO> listAllRegister(RegisterOrderQuery query); + List<TCoursePackagePayment> listOne(List<Integer> ids); + } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java index 5057fec..b1db359 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java @@ -153,6 +153,11 @@ return cpConfigMapper.listAllRegister(query,STime,ETime,query.getAmount()); } + @Override + public List<TCoursePackagePayment> listOne(List<Integer> ids) { + return this.baseMapper.listOne(ids); + } + /** * 获取课包购买人数 * @param coursePackageId diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml index cbbc616..e9a7a71 100644 --- a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml +++ b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml @@ -134,6 +134,9 @@ </select> + <select id="listOne" resultType="com.dsh.course.entity.TCoursePackagePayment"> + select * from t_course_package_payment where appUserId in <foreach collection="ids" separator="," open="(" item="id" close=")">#{id}</foreach> + </select> <update id="updateBytime"> update t_course_package_payment diff --git a/cloud-server-course/src/main/resources/sharding-jdbc.properties b/cloud-server-course/src/main/resources/sharding-jdbc.properties index ca0dde7..09e20a5 100644 --- a/cloud-server-course/src/main/resources/sharding-jdbc.properties +++ b/cloud-server-course/src/main/resources/sharding-jdbc.properties @@ -3,9 +3,9 @@ #�������� datasource.master0.type=com.alibaba.druid.pool.DruidDataSource datasource.master0.driverClassName=com.mysql.cj.jdbc.Driver -datasource.master0.url=jdbc:mysql://8.137.22.229:3306/playpai_course?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai +datasource.master0.url=jdbc:mysql://192.168.110.80:3306/playpai_course?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai datasource.master0.username=root -datasource.master0.password=playpai2023! +datasource.master0.password=123456 datasource.master0.maxActive=20 datasource.master0.maxWait=60000 datasource.master0.minIdle=5 diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java index 4605680..bf46cef 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java @@ -2,13 +2,10 @@ import com.dsh.course.dto.CreateHistoryDto; import com.dsh.course.dto.GetHistoryDto; -import com.dsh.course.feignClient.account.model.QueryAppUser; -import com.dsh.course.feignClient.account.model.QueryAppUserVO; +import com.dsh.course.feignClient.account.model.*; import com.dsh.course.dto.StudentSearch; import com.dsh.course.dto.TStudentDto; -import com.dsh.course.feignClient.account.model.QueryByNamePhone; -import com.dsh.course.feignClient.account.model.TAppUser; import com.dsh.course.feignClient.other.model.SiteChangeStateVO; import com.dsh.guns.modular.system.model.AdvertisementChangeStateDTO; import com.dsh.guns.modular.system.model.AppUserByNameAndPhoneDTO; @@ -19,6 +16,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.RequestBody; +import java.util.HashMap; import java.util.List; @FeignClient("mb-cloud-account") @@ -95,4 +93,16 @@ List<GetHistoryDto> getHisory(); @PostMapping("/student/giftSelect") List<SelectDto> giftSelect(@RequestBody GiftSearchDto giftSearchDto); + + @PostMapping("/student/getUserPt") + List<Integer> getUserPt(List<Integer> ids); + + @PostMapping("/student/queryFee") + HashMap<String, Object> queryFee(QueryDataFee queryDataFee); + + @PostMapping("/student/queryUserAge") + HashMap<String, Object> queryUserAge(); + + + } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java index 16d1ccf..7a57e67 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/PointMercharsClient.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dsh.course.feignClient.account.model.QueryDataFee; import com.dsh.course.feignClient.activity.model.IntegralGoodsOfSearch; import com.dsh.course.feignClient.activity.model.PointMercharsPayedVo; import com.dsh.course.feignClient.activity.model.PointMercharsVo; @@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -91,4 +93,8 @@ Object updateType(String s); + @PostMapping("/base/pointMerchars/queryFee") + HashMap<String, Object> queryFee(QueryDataFee queryDataFee); + + } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/CompetitionClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/CompetitionClient.java index 70eee48..faf925c 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/CompetitionClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/CompetitionClient.java @@ -1,6 +1,7 @@ package com.dsh.course.feignClient.competition; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dsh.course.feignClient.account.model.QueryDataFee; import com.dsh.course.feignClient.competition.model.*; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -40,6 +41,11 @@ @PostMapping("/base/competition/listAudit") Page<Competition> listAudit(ListQuery listQuery); + + @PostMapping("/base/competition/queryFee") + Double queryFee(QueryDataFee queryDataFee); + + } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java index 4ad269d..01c561a 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/competition/model/Competition.java @@ -59,7 +59,7 @@ * 门店id */ @TableField("storeId") - private Integer storeId; + private String storeId; /** * 赛事名称 */ diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java index 171b993..4df17a7 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java @@ -1,6 +1,7 @@ package com.dsh.course.feignClient.course; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dsh.course.feignClient.account.model.QueryDataFee; import com.dsh.course.feignClient.course.model.CourseChangeStateDTO; import com.dsh.course.feignClient.course.model.QueryCourseList; import com.dsh.guns.modular.system.model.EditCourseState; @@ -11,8 +12,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -107,4 +108,10 @@ @PostMapping("/course/getHours") String getHours(Integer coursePackageId1); + + + @PostMapping("/course/queryFee") + HashMap<String, Object> queryFee(QueryDataFee queryDataFee); + + } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java index 8d09904..ac52705 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java +++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java @@ -88,4 +88,10 @@ @PostMapping("/coursePackagePayment/CountqueryByClassId") Integer queryByClassId(Integer id); + + @PostMapping("/coursePackagePayment/queryCourseData") + List<Map<String,Object>> queryCourseData(List<Integer> ids); + + + } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java index deeb3ec..0fe7d8e 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.dsh.course.feignClient.account.*; import com.dsh.course.feignClient.account.model.CityManager; +import com.dsh.course.feignClient.account.model.QueryDataFee; import com.dsh.course.feignClient.account.model.TAppUser; import com.dsh.course.feignClient.account.model.VipPayment; import com.dsh.course.feignClient.activity.PointMercharsClient; @@ -18,8 +19,9 @@ import com.dsh.course.model.MoneyBack; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; +import com.dsh.guns.core.util.ToolUtil; import com.dsh.guns.modular.system.model.*; -import com.dsh.guns.modular.system.service.ICityService; +import com.dsh.guns.modular.system.service.*; import groovyjarjarpicocli.CommandLine; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -50,8 +52,14 @@ private ICityService cityService; @Autowired private CityManagerClient cityManagerClient; + + @Autowired + private IUserService sysUserService; @Autowired private AppUserClient appUserClient; + + @Autowired + private CourseClient courseClient; @Autowired private VipPaymentClient vipPaymentClient; @Autowired @@ -60,6 +68,9 @@ private CoursePackagePaymentClient coursePackagePaymentClient; @Autowired private CompetitionClient competitionClient; + + @Autowired + private ISiteBookingService siteBookingService; @Autowired private StoreClient storeClient; @Autowired @@ -77,6 +88,17 @@ */ @RequestMapping("/platform") public String index(Model model) { + Object o = type1(null); + model.addAttribute("data",o); + + + + // 教学统计 + HashMap<String, Object> map = appUserClient.queryUserAge(); + model.addAttribute("stuData",map); + + + return PREFIX + "platformIncome.html"; } @@ -506,6 +528,135 @@ model.addAttribute("objectType",objectType); return PREFIX + "storeIncome.html"; } + + + @Autowired + private ITSiteTypeService siteTypeService; + + + @Autowired + private ITSiteService siteService; + + @RequestMapping("/type1") + @ResponseBody + public Object type1(String time) { + HashMap<String, Object> map = new HashMap<>(); + // 找出平台的用户 + List<User> list = sysUserService.list(new LambdaQueryWrapper<User>().eq(User::getObjectType, 1)); + List<Integer> ids = list.stream().map(User::getId).collect(Collectors.toList()); + List<Integer> userIds = appUserClient.getUserPt(ids); + QueryDataFee queryDataFee = new QueryDataFee(time, userIds); + // 会员费 + HashMap<String, Object> map1 = appUserClient.queryFee(queryDataFee); + Object fee1 = map1.get("fee1"); + + map.put("fee1",fee1); + //玩湃比 + Object fee2 = map1.get("fee2"); + map.put("fee2",fee2); + // 课程收入 + HashMap<String, Object> map3 = courseClient.queryFee(queryDataFee); + map.put("fee3",map3.get("fee")); + Object data = map3.get("data"); + map.put("courseData",data); + + + // 赛事收入 + Double aDouble1 = competitionClient.queryFee(queryDataFee); + map.put("fee4",aDouble1); + + // 订场 + if(ids.size()==0){ + ids.add(-1); + } + LambdaQueryWrapper<SiteBooking> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(time)){ + String stime = time.split(" - ")[0]+" 00:00:00"; + String etime = time.split(" - ")[1]+" 23:59:59"; + vipPaymentLambdaQueryWrapper.between(SiteBooking::getInsertTime,stime,etime); + } + if(userIds.size()==0){ + userIds.add(-1); + } + vipPaymentLambdaQueryWrapper.in(SiteBooking::getAppUserId,userIds); + vipPaymentLambdaQueryWrapper.ne(SiteBooking::getStatus,0); + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + objects.add(2); + vipPaymentLambdaQueryWrapper.in(SiteBooking::getPayType,objects); + List<SiteBooking> list1 = siteBookingService.list(vipPaymentLambdaQueryWrapper); + double sum = list1.stream().mapToDouble(SiteBooking::getPayMoney).sum(); + map.put("fee5",sum); + + + List<Integer> collect = list1.stream().map(SiteBooking::getSiteId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + List<TSite> list3 = siteService.list(new LambdaQueryWrapper<TSite>().in(TSite::getId, collect)); + for (SiteBooking siteBooking : list1) { + for (TSite tSite : list3) { + if(siteBooking.getSiteId().equals(tSite.getId())){ + siteBooking.setType(tSite.getSiteTypeId()); + } + } + } + + + List<TSiteType> list2 = siteTypeService.list(); + + List<Map<String,Object>> mapList = new ArrayList<>(); + + for (TSiteType tSiteType : list2) { + HashMap<String, Object> map2 = new HashMap<>(); + map2.put("name",tSiteType.getName()); + double a =0; + for (SiteBooking siteBooking : list1) { + if(tSiteType.getId().equals(siteBooking.getType())){ + a += siteBooking.getPayMoney(); + } + } + map2.put("value",a); + mapList.add(map2); + } + map.put("siteData",mapList); + + + // 商品 门票 + HashMap<String, Object> map2 = pointMercharsClient.queryFee(queryDataFee); + Object all = map2.get("all"); + Object day = map2.get("day"); + Object month = map2.get("month"); + Object quarter = map2.get("quarter"); + Object year = map2.get("year"); + map.put("fee7",all); + map.put("dayone",day); + map.put("monthone",month); + map.put("quarterone",quarter); + map.put("yearone",year); + + return map; + } + @RequestMapping("/stuCourseData") + @ResponseBody + public Object stuCourseData() { + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + List<Integer> userIds = appUserClient.getUserPt(objects); + List<Map<String,Object>> list = coursePackagePaymentClient.queryCourseData(userIds); + ArrayList<Object> objects2 = new ArrayList<>(); + ArrayList<Object> objects3 = new ArrayList<>(); + for (Map<String, Object> map : list) { + Object name = map.get("name"); + Object value = map.get("value"); + objects2.add(name); + objects3.add(value); + } + HashMap<String, Object> map = new HashMap<>(); + map.put("data1",objects2); + map.put("data2",objects3); + return map; + } } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java index 31c37e9..ab33f20 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionAuditController.java @@ -84,9 +84,15 @@ List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId())); List<TStore> list2 = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getCityCode,competition.getCityCode())); + String[] split = competition.getImgs().split(","); + ArrayList<String> strings = new ArrayList<>(); + for (String s : split) { + strings.add(s); + } model.addAttribute("list",list); model.addAttribute("list1",list1); model.addAttribute("list2",list2); + model.addAttribute("imgs",strings); model.addAttribute("type",2); return PREFIX + "TCompetition_edit.html"; } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java index 6872c5f..527b78e 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java @@ -166,8 +166,9 @@ } competition.setAuditStatus(1); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - competition.setStartTime(format.parse(competition.getSTime())); - competition.setEndTime(format.parse(competition.getETime())); + SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); + competition.setStartTime(format1.parse(competition.getSTime())); + competition.setEndTime(format1.parse(competition.getETime())); competition.setRegisterEndTime(format.parse(competition.getREndTime())); competitionClient.add(competition); return new SuccessTip<>(); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java index 764286a..2ab0c81 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java @@ -356,7 +356,7 @@ } TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId()); Competition competition1 = competitionClient.queryById(competition.getCompetitionId()); - Store store = storeClient.getStoreById(competition1.getStoreId()); + Store store = storeClient.getStoreById(Integer.valueOf(competition1.getStoreId().split(",")[0])); IncomeVO temp = new IncomeVO(); temp.setId(competition.getId().intValue()); temp.setProvince(tAppUser.getProvince()); @@ -535,7 +535,7 @@ } TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId()); Competition competition1 = competitionClient.queryById(competition.getCompetitionId()); - Store store = storeClient.getStoreById(competition1.getStoreId()); + Store store = storeClient.getStoreById(Integer.valueOf(competition1.getStoreId().split(",")[0])); IncomeVO temp = new IncomeVO(); temp.setId(competition.getId().intValue()); temp.setProvince(tAppUser.getProvince()); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java index 8858260..1fdcfce 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteBooking.java @@ -176,4 +176,7 @@ private String halfName; @TableField("goType") private Integer goType; + + @TableField(exist = false) + private Integer type; } diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html index 9961f04..cb7fc3a 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html @@ -1,4 +1,4 @@ -@layout("/common/_container.html"){ + @layout("/common/_container.html"){ <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal"> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html index 69f573c..8ccd20e 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html @@ -41,6 +41,19 @@ <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal"> + + <input hidden id="day" value="${data.dayone}"> + <input hidden id="month" value="${data.monthone}"> + <input hidden id="quarter" value="${data.quarterone}"> + <input hidden id="year" value="${data.yearone}"> + <input hidden id="age1" value="${stuData.age1}"> + <input hidden id="age2" value="${stuData.age2}"> + <input hidden id="age3" value="${stuData.age3}"> + <input hidden id="age4" value="${stuData.age4}"> + <input hidden id="boy" value="${stuData.boy}"> + <input hidden id="girl" value="${stuData.girl}"> + + <div class="row"> <div class="col-sm-10"> <div style="height: 50px;box-sizing: border-box;background:#f3f3f4;line-height: 50px;border:1px solid;margin-bottom: 20px;width: auto"> @@ -48,6 +61,8 @@ <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"> <div class="form-group"> @@ -71,21 +86,19 @@ </br> <div class="col-sm-3" style="width: 400px;display: flex"> <#TimeCon id="beginTime" name="时间段:" isTime="false"/> - <#button name="搜索" icon="fa-search" clickFun="TCompetition.search()"/> + <#button name="搜索" icon="fa-search" clickFun="search1()"/> </div> </div> <div class="col-sm-10" style="width: 1500px" > </br> </br> - <span>会员费收入:</span> - <span>玩湃币充值收入:</span> - <span>课程收入:</span> - <span>活动收入:</span> - <span>订场收入:</span> - <span>赛事收入:</span> - <span>商品收入:</span> - <span>其他收入:</span> + <span>会员费收入:<label id="fee1">${data.fee1}</label></span> + <span>玩湃币充值收入:<label id="fee2">${data.fee2}</label></span> + <span>课程收入:<label id="fee3">${data.fee3}</label></span> + <span>活动/赛事收入:<label id="fee4">${data.fee4}</label></span> + <span>订场收入:<label id="fee5">${data.fee5}</label></span> + <span>商品收入:<label id="fee7">${data.fee7}</label></span> </br> </br> </br> @@ -239,10 +252,138 @@ </div> </div> </div> + + </div> <script src="${ctxPath}/modular/system/dataStatistics/echarts.min.js"></script> <script src="${ctxPath}/static/js/plugins/switchery/switchery.js"></script> <script> + function search1(){ + var time = $("#beginTime").val() + var ajax = new $ax(Feng.ctxPath + "/data/type1", function (data) { + + $("#fee1").text(data.fee1) + $("#fee2").text(data.fee2) + $("#fee3").text(data.fee3) + $("#fee4").text(data.fee4) + $("#fee5").text(data.fee5) + $("#fee7").text(data.fee7) + $("#day").val(data.dayone) + $("#month").val(data.monthone) + $("#quarter").val(data.quarterone) + $("#year").val(data.yearone) + + + + + + var chartDom = document.getElementById('cookieTicket'); + var myChart = echarts.init(chartDom); + var option; + option = { + title: { + text: '门票收入', + subtext: '', + left: 'center' + }, + tooltip: { + trigger: 'item' + }, + + series: [ + { + name: 'Access From', + type: 'pie', + radius: '50%', + data: [ + { value: data.dayone, name: '日卡' }, + { value: data.monthone, name: '月卡' }, + { value: data.quarterone, name: '季卡' }, + { value: data.yearone, name: '年卡' }, + + ], + emphasis: { + itemStyle: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 0.5)' + } + } + } + ] + }; + myChart.setOption(option); + + var chartDom = document.getElementById('cookieCourse'); + var myChart = echarts.init(chartDom); + var option; + option = { + title: { + text: '课程收入', + subtext: '', + left: 'center' + }, + tooltip: { + trigger: 'item' + }, + + series: [ + { + name: 'Access From', + type: 'pie', + radius: '50%', + data: data.courseData, + emphasis: { + itemStyle: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 0.5)' + } + } + } + ] + }; + myChart.setOption(option); + + + var chartDom = document.getElementById('cookieBooking'); + var myChart = echarts.init(chartDom); + var option; + option = { + title: { + text: '订场收入', + subtext: '', + left: 'center' + }, + tooltip: { + trigger: 'item' + }, + + series: [ + { + name: 'Access From', + type: 'pie', + radius: '50%', + data: data.siteData, + emphasis: { + itemStyle: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 0.5)' + } + } + } + ] + }; + myChart.setOption(option); + + + }, function (data) { + + }); + ajax.set("time",time); + ajax.start(); + } var ans = []; var weekX = []; var monthX = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]; @@ -661,6 +802,8 @@ } ] }; + + option6 = { tooltip: { trigger: 'axis' @@ -714,6 +857,9 @@ } ] }; + + + option7 = { tooltip: { trigger: 'axis' @@ -839,6 +985,41 @@ $("#ensure").show(); $("#nextB").hide(); } + + + if(type==3){ + var ajax = new $ax(Feng.ctxPath + "/data/stuCourseData", function (data) { + + console.log(data.data1) + var chartDom = document.getElementById('cookieTeachCourse'); + var myChart = echarts.init(chartDom); + var option; + + option = { + xAxis: { + type: 'category', + data: data.data1, + }, + yAxis: { + type: 'value' + }, + series: [ + { + data: data.data2, + type: 'bar' + } + ] + }; + myChart.setOption(option); + }, function (data) { + + }); + ajax.start(); + } + + + + } function getContent1(type){ //设置点击字体颜色效果 @@ -873,12 +1054,12 @@ } } -</script> -<script> $(function(){ + var chartDom = document.getElementById('cookieTicket'); var myChart = echarts.init(chartDom); var option; + option = { title: { text: '门票收入', @@ -895,8 +1076,10 @@ type: 'pie', radius: '50%', data: [ - { value: 1048, name: '年票' }, - { value: 735, name: '亲子票' }, + { value: $("#day").val(), name: '日卡' }, + { value: $("#month").val(), name: '月卡' }, + { value: $("#quarter").val(), name: '季卡' }, + { value: $("#year").val(), name: '年卡' }, ], emphasis: { @@ -912,8 +1095,24 @@ myChart.setOption(option); }); $(function(){ + var courseData = "${data.courseData}" + courseData =courseData.replace("[","").replace("]","") + courseData = courseData.split('},') + + var a=[]; + for (let j = 0; j <courseData.length; j++) { + if(j<courseData.length-1){ + var d = courseData[j].replace("{","").replace("}","").split(",") + let obj ={ + name:d[0].split("=")[1], + value:d[1].split("=")[1] + } + a.push(obj) + } + } var chartDom = document.getElementById('cookieCourse'); - var myChart = echarts.init(chartDom); + var myChart = echarts.init(chartDom) + var option; option = { title: { @@ -930,12 +1129,7 @@ name: 'Access From', type: 'pie', radius: '50%', - data: [ - { value: 1048, name: '篮球课' }, - { value: 735, name: '羽毛课' }, - { value: 735, name: '足球课' }, - - ], + data: a, emphasis: { itemStyle: { shadowBlur: 10, @@ -949,6 +1143,22 @@ myChart.setOption(option); }); $(function(){ + var courseData = "${data.siteData}" + + courseData =courseData.replace("[","").replace("]","") + courseData = courseData.split('},') + + var a=[]; + for (let j = 0; j <courseData.length; j++) { + if(j<courseData.length-1){ + var d = courseData[j].replace("{","").replace("}","").split(",") + let obj ={ + name:d[0].split("=")[1], + value:d[1].split("=")[1] + } + a.push(obj) + } + } var chartDom = document.getElementById('cookieBooking'); var myChart = echarts.init(chartDom); var option; @@ -967,12 +1177,7 @@ name: 'Access From', type: 'pie', radius: '50%', - data: [ - { value: 1048, name: '激战' }, - { value: 735, name: '篮球场' }, - { value: 735, name: '足球场' }, - - ], + data: a, emphasis: { itemStyle: { shadowBlur: 10, @@ -1005,8 +1210,10 @@ type: 'pie', radius: '50%', data: [ - { value: 1048, name: '30-35' }, - { value: 735, name: '12-18' }, + { value: 1048, name: '0-7岁' }, + { value: 735, name: '8-10岁' }, + { value: 735, name: '11-12岁' }, + { value: 735, name: '13岁以上' }, ], emphasis: { @@ -1041,8 +1248,10 @@ type: 'pie', radius: '50%', data: [ - { value: 1048, name: '30-35' }, - { value: 735, name: '12-18' }, + { value: $("#age1").val(), name: '0-7岁' }, + { value: $("#age2").val(), name: '8-10岁' }, + { value:$("#age3").val(), name: '11-12岁' }, + { value: $("#age4").val(), name: '13岁以上' }, ], emphasis: { @@ -1113,8 +1322,8 @@ type: 'pie', radius: '50%', data: [ - { value: 1048, name: '男' }, - { value: 735, name: '女' }, + { value: $("#boy").val(), name: '男' }, + { value: $("#girl").val(), name: '女' }, ], emphasis: { @@ -1151,27 +1360,12 @@ }; myChart.setOption(option); }); - $(function(){ - var chartDom = document.getElementById('cookieTeachCourse'); - var myChart = echarts.init(chartDom); - var option; - option = { - xAxis: { - type: 'category', - data: ['足球课', '篮球课', '羽毛球课', '网球课', '排球课'] - }, - yAxis: { - type: 'value' - }, - series: [ - { - data: [120, 200, 150, 80, 70, 110, 130], - type: 'bar' - } - ] - }; - myChart.setOption(option); + function stuCourseData(){ + + } + $(function(){ + }); </script> @} diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html index 1adda3f..b49d32e 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_add.html @@ -1,5 +1,47 @@ @layout("/common/_container.html"){ <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<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> <div class="ibox float-e-margins"> <div class="ibox-content"> @@ -114,7 +156,26 @@ </div> <#avatar id="coverDrawing" name="赛事封面(推荐像素:210*280px):" /> - <#avatar id="imgs" name="赛事图片(推荐像素:780*440px):" /> + <div class="row" id="app1"> + <div class="form-group"> + <label class="col-sm-3 control-label head-scu-label">*赛事活动图片(请上传不超过五张图片): </label> + <div class="col-sm-2" style="width: 100%;margin-left: 11%;margin-top: 1%"> + <el-upload + :limit="5" + class="avatar-uploader" + action="/tCouponManage/uploadPic" + list-type="picture-card" + accept="." + :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> <#avatar id="registrationNotes" name="报名须知(推荐像素:宽780px):" /> </div> @@ -132,18 +193,55 @@ </div> </div> <script src="${ctxPath}/modular/system/tCompetition/tCompetition_info.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> - - - laydate.render({ - elem: '#startTime' - ,type:"datetime" + var vue2 = new Vue({ + el: '#app1', + props: { + // 数量限制 + limit: { + type: Number, + default: 2 + }, + }, + data: { + autoUpload: true,//自动上传 + imageUrl1: '',//模型数据,用于上传图片完成后图片预览 + dialogVisible: false + }, + methods: { + handleAvatarSuccess(res, file) { + console.log(TCarInfoDlg.goodsPicArray1) + TCarInfoDlg.goodsPicArray1.push(file); + }, + beforeAvatarUpload(file) { + const isLt2M = file.size / 1024 / 1024 < 10; + if (!isLt2M) { + this.$message.error('上传图片大小不能超过 10MB!'); + } + return isLt2M; + }, + handleRemove(file, fileList) { + TCarInfoDlg.goodsPicArray1 = TCarInfoDlg.goodsPicArray1.filter(item => { + return item.uid != file.uid; + }); + }, + }, + created() { + }, }); laydate.render({ elem: '#endTime' - ,type:"datetime" + ,type:"date" }); laydate.render({ + elem: '#startTime' + ,type:"date" + }); + + laydate.render({ elem: '#registerEndTime' ,type:"datetime" }); diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_edit.html index 83fdac1..61b2a8c 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_edit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetition_edit.html @@ -1,5 +1,47 @@ @layout("/common/_container.html"){ <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> +<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> <div class="ibox float-e-margins"> <div class="ibox-content"> @@ -131,7 +173,27 @@ </div> <#avatar id="coverDrawing" name="赛事封面(推荐像素:210*280px):" avatarImg="${item.coverDrawing}" /> - <#avatar id="imgs" name="赛事图片(推荐像素:780*440px):" /> + <div class="row" id="app1"> + <div class="form-group"> + <label class="col-sm-3 control-label head-scu-label">*实景图片(请上传不超过五张图片): </label> + <div class="col-sm-2" style="width: 100%;margin-left: 11%;margin-top: 1%"> + <el-upload + :limit="5" + class="avatar-uploader" + action="/tCouponManage/uploadPic" + list-type="picture-card" + accept="." + :file-list="imageUrl2" + :on-success="handleAvatarSuccess" + :on-remove="handleRemove"> + <i class="el-icon-plus"></i> + </el-upload> + <el-dialog :visible.sync="dialogVisible"> + <img width="100%" :src="imageUrl2" alt=""> + </el-dialog> + </div> + </div> + </div> <#avatar id="registrationNotes" name="报名须知(推荐像素:宽780px):" avatarImg="${item.registrationNotes}"/> </div> @@ -151,7 +213,66 @@ </div> </div> <script src="${ctxPath}/modular/system/tCompetition/tCompetition_info.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> + let id = "${item.imgs}" + let obj = [] + + var vue2 = new Vue({ + el: '#app1', + props: { + // 数量限制 + limit: { + type: Number, + default: 2 + }, + }, + data: { + autoUpload: true,//自动上传 + imageUrl1: '',//模型数据,用于上传图片完成后图片预览 + imageUrl2: [], + dialogVisible: false + }, + methods: { + handleAvatarSuccess(res, file) { + file.url =file.response + TCarInfoDlg.goodsPicArray1.push(file); + }, + changeImg(){ + var i = id.split(",") + for (let j = 0; j <i.length; j++) { + let obj={ + fileName:i[j], + uuid:i[j], + url:i[j], + response:i[j], + } + this.imageUrl2.push(obj) + + } + }, + beforeAvatarUpload(file) { + const isLt2M = file.size / 1024 / 1024 < 10; + if (!isLt2M) { + this.$message.error('上传图片大小不能超过 10MB!'); + } + return isLt2M; + }, + handleRemove(file, fileList) { + TCarInfoDlg.goodsPicArray1 = TCarInfoDlg.goodsPicArray1.filter(item => { + return item.uid != file.uid; + }); + }, + }, + created() { + this.changeImg() + TCarInfoDlg.goodsPicArray1 = this.imageUrl2 + }, + }); + + window.onload = function() { if($("#type").val()==1){ $("#types").html("未开始").css("color","goldenrod") diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetitionAudit/TCompetition_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetitionAudit/TCompetition_edit.html index 9d8a0cf..9f0ca04 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetitionAudit/TCompetition_edit.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetitionAudit/TCompetition_edit.html @@ -1,4 +1,4 @@ -@layout("/common/_container.html"){ + @layout("/common/_container.html"){ <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> <div class="ibox float-e-margins"> <div class="ibox-content"> @@ -131,7 +131,16 @@ </div> <#avatar id="coverDrawing" name="赛事封面(推荐像素:210*280px):" avatarImg="${item.coverDrawing}" /> - <#avatar id="imgs" name="赛事图片(推荐像素:780*440px):" /> + <div class="form-group"> + <label class="col-sm-3 control-label head-scu-label">赛事图片(推荐像素:780*440px):</label> + <div class="col-sm-4"> + <div id="imgsPreId"> + @for(i in imgs){ + <img width="100px" height="100px" id="img" src="${i}"> + @} + </div> + </div> + </div> <#avatar id="registrationNotes" name="报名须知(推荐像素:宽780px):" avatarImg="${item.registrationNotes}"/> <div class="form-group"> diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js index 9972130..b710045 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition_info.js @@ -4,6 +4,7 @@ var language=1; var TCarInfoDlg = { tCarInfoData : {}, + goodsPicArray1:[], validateFields: { carBrandId: { validators: { @@ -214,6 +215,21 @@ return; } + var goodImgs = TCarInfoDlg.goodsPicArray1; + if(goodImgs.length==0){ + Feng.info("请上传赛事活动图片") + return; + } + var imgOne =""; + for (let i = 0; i <goodImgs.length; i++) { + if(i==goodImgs.length-1){ + imgOne += (goodImgs[i].response) + }else { + imgOne+=(goodImgs[i].response+",") + } + + } + var coverDrawing = $("#coverDrawing").val(); var coverDrawing = $("#coverDrawing").val(); var registrationNotes = $("#registrationNotes").val() @@ -259,7 +275,7 @@ ajax.set("realName",realName); ajax.set("coverDrawing",coverDrawing); ajax.set("introduction",introduction); - ajax.set("imgs",introduction); + ajax.set("imgs",imgOne); ajax.set("registrationNotes",registrationNotes); ajax.set("longitude", $("#longitude").val()); ajax.set("latitude", $("#latitude").val()); @@ -305,7 +321,6 @@ return; } var registerEndTime = $("#registerEndTime").val(); - let registerCondition = document.querySelector('input[name="registerCondition"]:checked').value; var startAge = $("#startAge").val(); var endAge = $("#endAge").val(); var cashPrice = $("#cashPrice").val(); @@ -328,6 +343,26 @@ Feng.info("请输入赛事简介"); return; } + + var goodImgs = TCarInfoDlg.goodsPicArray1; + + if(goodImgs.length==0){ + Feng.info("请上传赛事活动图片") + return; + } + var imgOne =""; + console.log(goodImgs) + console.log(goodImgs.length) + for (let i = 0; i <goodImgs.length; i++) { + console.log(goodImgs[i].response,11) + if(i==goodImgs.length-1){ + imgOne += (goodImgs[i].response) + }else { + imgOne+=(goodImgs[i].response+",") + } + + } + console.log(imgOne) var coverDrawing = $("#coverDrawing").val(); var coverDrawing = $("#coverDrawing").val(); @@ -358,7 +393,6 @@ ajax.set("sTime",startTime); ajax.set("eTime",endTime); ajax.set("rEndTime",registerEndTime); - ajax.set("registerCondition",registerCondition); ajax.set("startAge",startAge); ajax.set("endAge",endAge); ajax.set("cashPrice",cashPrice); @@ -370,7 +404,7 @@ ajax.set("realName",realName); ajax.set("coverDrawing",coverDrawing); ajax.set("introduction",introduction); - ajax.set("imgs",introduction); + ajax.set("imgs",imgOne); ajax.set("registrationNotes",registrationNotes); ajax.set("longitude", $("#longitude").val()); ajax.set("latitude", $("#latitude").val()); diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java index 025c33d..2f445f8 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java @@ -39,7 +39,7 @@ return ResultUtil.paranErr("storeId"); } try { - List<StoreConfig> list = storeConfigService.list(new QueryWrapper<StoreConfig>().eq("storeId", storeId).orderByAsc("sort")); + List<StoreConfig> list = storeConfigService.list(new QueryWrapper<StoreConfig>().eq("storeId", storeId).orderByAsc("sort").eq("isOpen",1)); List<StoreConfigVo> listVo = new ArrayList<>(); for (StoreConfig storeConfig : list) { StoreConfigVo storeConfigVo = new StoreConfigVo(); diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java b/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java index a25f44a..79e909a 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java +++ b/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java @@ -61,6 +61,8 @@ */ @TableField("gameId") private Integer gameId; + @TableField("otherId") + private Integer otherId; @Override diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java b/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java index 7492083..f0cfac2 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java +++ b/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java @@ -33,7 +33,8 @@ /** * 图片 */ - private String url; + @TableField("url") + private String backgroundImage; /** * 跳转模块 -- Gitblit v1.7.1