diff --git a/src/main/java/io/v/nutz/base/utils/MsgApi.java b/src/main/java/io/v/nutz/base/utils/MsgApi.java index 32ee7b1..659428f 100644 --- a/src/main/java/io/v/nutz/base/utils/MsgApi.java +++ b/src/main/java/io/v/nutz/base/utils/MsgApi.java @@ -63,9 +63,9 @@ public class MsgApi { NutMap map = new NutMap(); map.put("token", msgToken); - map.put("msgtitle", msgTitle); + map.put("msgTitle", msgTitle); map.put("msgContent", msgContent); - map.put("msgType", msgType); + map.put("msgType", String.valueOf(msgType)); map.put("sendStatus", sendStatus); map.put("sendChannel", sendChannel); map.put("sendMode", "normal"); diff --git a/src/main/java/io/v/nutz/zhgh/fitnessWalk/controller/FitnessWalkStepManageController.java b/src/main/java/io/v/nutz/zhgh/fitnessWalk/controller/FitnessWalkStepManageController.java index 423a4e8..3ae0fe1 100644 --- a/src/main/java/io/v/nutz/zhgh/fitnessWalk/controller/FitnessWalkStepManageController.java +++ b/src/main/java/io/v/nutz/zhgh/fitnessWalk/controller/FitnessWalkStepManageController.java @@ -15,6 +15,7 @@ import io.v.nutz.zhgh.fitnessWalk.utils.WeAppCloudUtil; import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Chain; import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; import org.nutz.integration.jedis.RedisService; @@ -30,10 +31,9 @@ import org.nutz.mvc.annotation.Ok; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.function.BinaryOperator; +import java.util.function.Function; import java.util.stream.Collectors; @IocBean @@ -42,14 +42,13 @@ import java.util.stream.Collectors; public class FitnessWalkStepManageController { @Inject - private BaseService baseService; - + private Dao dao; @Inject - private WeAppCloudUtil weAppCloudUtil; - + private BaseService baseService; @Inject private RedisService redisService; - + @Inject + private WeAppCloudUtil weAppCloudUtil; @Inject private FitnessWalkCommonService fitnessWalkCommonService; @@ -60,97 +59,81 @@ public class FitnessWalkStepManageController { * @param activityId 活动id * @param userId 用户id * @param monthSteps 步数(当天往前推30天) - * @param start_time 活动开始时间 - * @param end_time 结束时间 * @return */ @At @Ok("json:full") @ViReturn @Aop(TransAop.READ_COMMITTED) - public Object updateStepMonth(String activityId, String userId, String monthSteps, Long start_time, Long end_time) { - if (StrUtil.isBlank(userId)) { - return Result.error("上传步数失败,请重新登录后再次上传!"); + public Object updateStepMonth(String activityId, String userId, String monthSteps) { + if (StrUtil.isBlank(userId) || StrUtil.isBlank(monthSteps) || StrUtil.isBlank(activityId)) { + return Result.error("必要参数未传递"); } - /*DateTime activityStartDate = DateUtil.date(start_time); - DateTime activityEndDate = DateUtil.date(end_time);*/ - - FitnessWalkActivity activity = fitnessWalkCommonService.getActivity(activityId); - - Date startDate = DateUtil.parse(DateUtil.format(DateUtil.date(activity.getStartTime()), "yyyy-MM-dd"), "yyyy-MM-dd"); - Date endDate = DateUtil.parse(DateUtil.format(DateUtil.date(activity.getEndTime()), "yyyy-MM-dd"), "yyyy-MM-dd"); -// Date startDate = DateUtil.parse("2025-04-01 00:00:00", "yyyy-MM-dd HH:mm:ss"); -// Date endDate = DateUtil.parse("2025-05-06 23:59:59", "yyyy-MM-dd HH:mm:ss"); - if (!DateUtil.isIn(DateUtil.date(), startDate, endDate)) { - return Result.error("已过活动时间,无法上传步数"); - } - - + // 获取到的用户的步数数据 List steps = Json.fromJsonAsList(NutMap.class, monthSteps); - /*//前一个月的时间 - DateTime dateTime = DateUtil.offsetMonth(new Date(), -1); - String format = DateUtil.format(dateTime, "yyyyMM"); - - //上一个月的步数 - List lastMonthSteps = steps.stream().filter(v -> { - long timestamp = v.getLong("timestamp") * 1000; - String userStep = DateUtil.format(DateUtil.date(timestamp), "yyyyMM"); - return userStep.equals(format); - }).collect(Collectors.toList()); - - List lastMonthInsertWxSteps = steps.stream().map(v -> { - FitnessWalkStep step = new FitnessWalkStep(); - step.setActivityId(activityId); - step.setUserId(userId); - step.setStep(v.getInt("step")); - DateTime date = DateUtil.date(v.getLong("timestamp") * 1000); - step.setApplyDate(date); - return step; - }).collect(Collectors.toList()); - List applyDates = lastMonthInsertWxSteps.stream().map(v -> v.getApplyDate()).collect(Collectors.toList()); - - applyDates.remove(applyDates.stream().min(Date::compareTo).orElse(null)); - - System.out.println(lastMonthInsertWxSteps.size()); - System.out.println(applyDates.size()); - System.out.println(Json.toJson(applyDates)); - - baseService.dao().clear("fitness_walk_step_" + format, Cnd.where("activityId", "=", activityId).and("userId", "=", userId).and("applyDate", "in", applyDates)); -// baseService.dao().insert("fitness_walk_step_" + format,lastMonthInsertWxSteps); - - - //本月步数 - List thisMonthSteps = (List) CollectionUtil.subtract(steps,lastMonthSteps);*/ - //判断数据是否完整 微信运动会在晚上10点多进行步数的更新 会导致31天前的步数获取变为0 所以这里去除掉第一个元素 即为31天前的数据 每次只保存最近30天的数据 if (Lang.isNotEmpty(steps) && steps.size() == 31) { steps.remove(0); } - //如果在活动开始之前进来了 就只保存近7天的数据 不然前台展示为空 不好看 - List insertWxSteps = steps.stream().map(v -> { + // 传递过来的步数数据 + List wxSteps = steps.stream().map(v -> { FitnessWalkStep step = new FitnessWalkStep(); step.setActivityId(activityId); step.setUserId(userId); step.setStep(v.getInt("step")); - DateTime date = DateUtil.date(v.getLong("timestamp") * 1000); + DateTime date = DateUtil.parse(DateUtil.format(DateUtil.date(v.getLong("timestamp") * 1000), "yyyy-MM-dd"), "yyyy-MM-dd"); step.setApplyDate(date); return step; - }).collect(Collectors.toList()); - //.filter(v -> v.getApplyDate().compareTo(DateUtil.offsetDay(activityStartDate, -7)) >= 0 && v.getApplyDate().compareTo(activityEndDate) <= 0).collect(Collectors.toList()); - //.filter(v -> (v.getApplyDate().compareTo(activityStartDate) >= 0) && (v.getApplyDate().compareTo(activityEndDate) <= 0)).collect(Collectors.toList()); - List applyDates = insertWxSteps.stream().map(v -> v.getApplyDate()).collect(Collectors.toList()); + }).toList(); - applyDates.remove(applyDates.stream().min(Date::compareTo).orElse(null)); + // 传递过来的所有日期的集合 + List dateList = wxSteps.stream().map(FitnessWalkStep::getApplyDate).collect(Collectors.toList()); - System.out.println(insertWxSteps.size()); - System.out.println(applyDates.size()); - System.out.println(Json.toJson(applyDates)); + // 去数据库查询日期,这个玩意还要保证插入到数据库的单个日期只有一条,并且这个日期数据库之前有步数,传过来没步数那就要保留数据库的步数 + // 上面日期集合数据库的步数 + List stepList = dao.query(FitnessWalkStep.class, Cnd.where("activityId", "=", activityId) + .and("userId", "=", userId).and("applyDate", "in", dateList)); - baseService.dao().clear(FitnessWalkStep.class, Cnd.where("activityId", "=", activityId).and("userId", "=", userId).and("applyDate", "in", applyDates)); - baseService.dao().insert(insertWxSteps); + // 这就是保留每天最大步数的集合,那这个集合里面applyDate就是唯一的了 + List dupStepList = new ArrayList<>(stepList.stream() + .collect(Collectors.toMap(FitnessWalkStep::getApplyDate, Function.identity(), + BinaryOperator.maxBy(Comparator.comparing(FitnessWalkStep::getStep)))) + .values()); + + // 这是过滤的相同的applyDate的集合,这些数据要删除 + List delStepIds = stepList.stream() + .filter(step -> !dupStepList.contains(step)) + .map(FitnessWalkStep::getId) + .collect(Collectors.toList()); + + // 数据库的数据 这个map就用于判断数据库的日期和传递过来日期的步数,两个是不是相等的,保留步数多的数据 + Map dateStepMap = dupStepList.stream().collect(Collectors.toMap(FitnessWalkStep::getApplyDate, v -> v)); + + List resultStepList = new ArrayList<>(); + // 这里循环就是,循环的传递过来的数据 + for (FitnessWalkStep step : wxSteps) { + // 数据库存储的步数 + FitnessWalkStep walkStep = dateStepMap.get(step.getApplyDate()); + // 如果数据库没有,那就要新增 + if (Lang.isEmpty(walkStep)) { + resultStepList.add(step); + } else { + // 如果数据库有,那就要保留步数多的 + if (walkStep.getStep() < step.getStep()) { + walkStep.setStep(step.getStep()); + resultStepList.add(walkStep); + } + } + } + + // 最后删除重复日期,更新步数数据 + dao.clear(FitnessWalkStep.class, Cnd.where("id", "in", delStepIds)); + if (Lang.isNotEmpty(resultStepList)) { + dao.insertOrUpdate(resultStepList); + } return null; } diff --git a/src/main/java/io/v/nutz/zhgh/fitnessWalk/controller/FitnessWalkStepRankingController.java b/src/main/java/io/v/nutz/zhgh/fitnessWalk/controller/FitnessWalkStepRankingController.java index c10a513..9c865d6 100644 --- a/src/main/java/io/v/nutz/zhgh/fitnessWalk/controller/FitnessWalkStepRankingController.java +++ b/src/main/java/io/v/nutz/zhgh/fitnessWalk/controller/FitnessWalkStepRankingController.java @@ -78,7 +78,7 @@ public class FitnessWalkStepRankingController { @ViReturn @SLog(type = "校工会特色活动", tag = "健身走-计步步数排行榜", msg = "小程序接口(获取今日步数及活动范围内步数)", param = true, result = true) public Object getUserStepRanking(String activityId, String mode, Integer pageNumber, Integer pageSize) { - if (mode.equals("day")) { + if ("day".equals(mode)) { Sql sql = Sqls.create(""" SELECT t.step, @@ -90,67 +90,71 @@ public class FitnessWalkStepRankingController { WHERE t.activityId = @activityId AND t.applyDate = @today + GROUP BY u.id ORDER BY t.step DESC """); sql.setParam("activityId", activityId); sql.setParam("today", DateUtil.today()); - return baseService.listPageMap(pageNumber, pageSize, sql); - } else if (mode.equals("week")) { + return baseService.listPageMap(pageNumber, 50, sql); + } else if("week".equals(mode)){ Date startOfWeek = DateUtil.beginOfWeek(new Date()); Date endOfWeek = DateUtil.endOfWeek(new Date()); Sql sql = Sqls.create(""" - SELECT - sum( t.step ) AS step, - u.username - FROM - `fitness_walk_step` t - LEFT JOIN sys_user u ON u.id = t.userId - WHERE - t.activityId = @activityId - AND t.applyDate >= @startTime - AND t.applyDate <= @endTime - GROUP BY - t.userId - ORDER BY - step DESC - """); + SELECT + t.userId, + sum( t.step ) AS step, + u.username + FROM + `fitness_walk_step` t + LEFT JOIN sys_user u ON u.id = t.userId + WHERE + t.activityId = @activityId + AND t.applyDate >= @startTime + AND t.applyDate <= @endTime + GROUP BY + t.userId + ORDER BY + step DESC + """); sql.setParam("activityId", activityId); sql.setParam("startTime", startOfWeek); sql.setParam("endTime", endOfWeek); - return baseService.listPageMap(pageNumber, pageSize, sql); - } else if (mode.equals("month")) { + return baseService.listPageMap(pageNumber, 50, sql); + }else if("month".equals(mode)){ Date firstDayOfMonth = DateUtil.beginOfMonth(new Date()); Date lastDayOfMonth = DateUtil.endOfMonth(new Date()); Sql sql = Sqls.create(""" - SELECT - sum( t.step ) AS step, - u.username - FROM - `fitness_walk_step` t - LEFT JOIN sys_user u ON u.id = t.userId - WHERE - t.activityId = @activityId - AND t.applyDate >= @startTime - AND t.applyDate <= @endTime - GROUP BY - t.userId - ORDER BY - step DESC - """); + SELECT + t.userId, + sum( t.step ) AS step, + u.username + FROM + `fitness_walk_step` t + LEFT JOIN sys_user u ON u.id = t.userId + WHERE + t.activityId = @activityId + AND t.applyDate >= @startTime + AND t.applyDate <= @endTime + GROUP BY + t.userId + ORDER BY + step DESC + """); sql.setParam("activityId", activityId); sql.setParam("startTime", firstDayOfMonth); sql.setParam("endTime", lastDayOfMonth); - return baseService.listPageMap(pageNumber, pageSize, sql); - } else if (mode.equals("all")) { + return baseService.listPageMap(pageNumber, 50, sql); + } else if ("all".equals(mode)) { FitnessWalkActivity activity = fitnessWalkCommonService.getActivity(activityId); DateTime startTime = DateUtil.date(activity.getStartTime()); DateTime endTime = DateUtil.date(activity.getEndTime()); - Sql sql = Sqls.create(""" SELECT + sub.userId, SUM(sub.max_step) AS step, - u.username + u.loginname, + u.username FROM ( SELECT userId, @@ -171,12 +175,12 @@ public class FitnessWalkStepRankingController { GROUP BY userId ORDER BY - step desc + step desc """); sql.setParam("activityId", activityId); sql.setParam("startTime", startTime); sql.setParam("endTime", endTime); - return baseService.listPageMap(pageNumber, pageSize, sql); + return baseService.listPageMap(pageNumber, 50, sql); } else { return null; } diff --git a/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/basicManage/TheRapyRecuperationLineController.java b/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/basicManage/TheRapyRecuperationLineController.java index 061b62b..5879c40 100644 --- a/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/basicManage/TheRapyRecuperationLineController.java +++ b/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/basicManage/TheRapyRecuperationLineController.java @@ -32,6 +32,8 @@ import org.apache.shiro.authz.annotation.RequiresRoles; import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; +import org.nutz.dao.Sqls; +import org.nutz.dao.sql.Sql; import org.nutz.ioc.aop.Aop; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; @@ -111,9 +113,10 @@ public class TheRapyRecuperationLineController { @RequiresAuthentication @RequiresRoles(value = {"sysadmin", "SchoolUnionAdmin", "H04", "H01"}, logical = Logical.OR) public Object getNo() { - Object serialNumber = dao.func2(TheRapyRecuperationLine.class, "max", "serialNumber"); - serialNumber = Objects.requireNonNullElse(serialNumber, 0); - return Integer.parseInt(serialNumber.toString()) + 1; + Sql sql = Sqls.fetchInt("SELECT max(serialNumber * 1) FROM the_rapy_recuperation_line"); + dao.execute(sql); + int serialNumber = sql.getInt(); + return serialNumber + 1; } /** diff --git a/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/basicManage/TheRapyRecuperationTravelAgencyController.java b/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/basicManage/TheRapyRecuperationTravelAgencyController.java index 487a640..29e95a7 100644 --- a/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/basicManage/TheRapyRecuperationTravelAgencyController.java +++ b/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/basicManage/TheRapyRecuperationTravelAgencyController.java @@ -2,13 +2,16 @@ package io.v.nutz.zhgh.therapyRecuperation.controller.basicManage; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; import cn.wizzer.framework.base.Result; import io.v.nutz.base.annontation.ViReturn; import io.v.nutz.base.utils.PageUtil; import io.v.nutz.base.query.PageForm; +import io.v.nutz.zhgh.activity.models.ActivityUserScope; import io.v.nutz.zhgh.therapyRecuperation.mode.TheRapyTravelAgencyExcelMode; +import io.v.nutz.zhgh.therapyRecuperation.model.TheRapyRecuperationEnroll; import io.v.nutz.zhgh.therapyRecuperation.model.TheRapyRecuperationTravelAgency; import io.v.nutz.zhgh.therapyRecuperation.service.TheRapyRecuperationTravelAgencyService; import lombok.extern.slf4j.Slf4j; @@ -18,6 +21,7 @@ import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; import org.nutz.dao.Sqls; +import org.nutz.dao.entity.Record; import org.nutz.dao.sql.Sql; import org.nutz.dao.util.cri.SqlExpressionGroup; import org.nutz.ioc.aop.Aop; @@ -30,6 +34,7 @@ import org.nutz.mvc.upload.TempFile; import org.nutz.mvc.upload.UploadAdaptor; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -141,10 +146,20 @@ public class TheRapyRecuperationTravelAgencyController { @ViReturn @RequiresAuthentication public Object deleteTravelAgency(String id) { - if (StrUtil.isBlank(id)) { + /*if (StrUtil.isBlank(id)) { return Result.error("参数错误"); } - travelAgencyService.deleteTravelAgency(id); + travelAgencyService.deleteTravelAgency(id);*/ + List result = new ArrayList<>(); + List records = dao.query("bbbb", Cnd.NEW()); + for (Record record : records) { + ActivityUserScope scope = new ActivityUserScope(); + scope.setGroupId(6); + scope.setGroupName("2025年疗休养参加人员"); + scope.setUserId(record.getString("userid")); + result.add(scope); + } + dao.insert(result); return null; } diff --git a/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/process/TheRapyRecuperationEnrollController.java b/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/process/TheRapyRecuperationEnrollController.java index c7817b9..711a8c5 100644 --- a/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/process/TheRapyRecuperationEnrollController.java +++ b/src/main/java/io/v/nutz/zhgh/therapyRecuperation/controller/process/TheRapyRecuperationEnrollController.java @@ -85,8 +85,11 @@ public class TheRapyRecuperationEnrollController { @POST @ViReturn @RequiresAuthentication - public Object pageData(PageForm pageForm, Integer year, String unionId, int theRapyRecuperationType, Integer lineUnionType, String routeName, String lotId, String searchKeyword, String playStartTime, String playEndTime) { - return enrollService.enrollPageData(pageForm, year, unionId, theRapyRecuperationType, lineUnionType, routeName, lotId, searchKeyword, playStartTime, playEndTime); + public Object pageData(PageForm pageForm, + Integer year, String unionId, int theRapyRecuperationType, Integer lineUnionType, + String routeName, String lotId, String searchKeyword, String playStartTime, String playEndTime, + String baseName, String travelId) { + return enrollService.enrollPageData(pageForm, year, unionId, theRapyRecuperationType, lineUnionType, routeName, lotId, searchKeyword, playStartTime, playEndTime, baseName, travelId); } @At diff --git a/src/main/java/io/v/nutz/zhgh/therapyRecuperation/service/TheRapyRecuperationEnrollService.java b/src/main/java/io/v/nutz/zhgh/therapyRecuperation/service/TheRapyRecuperationEnrollService.java index 6bd45ee..32c26b9 100644 --- a/src/main/java/io/v/nutz/zhgh/therapyRecuperation/service/TheRapyRecuperationEnrollService.java +++ b/src/main/java/io/v/nutz/zhgh/therapyRecuperation/service/TheRapyRecuperationEnrollService.java @@ -27,7 +27,7 @@ public interface TheRapyRecuperationEnrollService extends ViService getSelectLineById(String lineId, String unionId, int trrt, Integer lineUnionType); diff --git a/src/main/java/io/v/nutz/zhgh/therapyRecuperation/service/impl/TheRapyRecuperationEnrollServiceImpl.java b/src/main/java/io/v/nutz/zhgh/therapyRecuperation/service/impl/TheRapyRecuperationEnrollServiceImpl.java index 6aa92c1..286f3c7 100644 --- a/src/main/java/io/v/nutz/zhgh/therapyRecuperation/service/impl/TheRapyRecuperationEnrollServiceImpl.java +++ b/src/main/java/io/v/nutz/zhgh/therapyRecuperation/service/impl/TheRapyRecuperationEnrollServiceImpl.java @@ -67,7 +67,7 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl validSignCountMap = validSignCount(enrollInfo, config, lineUnionSelect.getMaxGroupSize(), StrUtil.isBlank(enrollInfo.getId()) ? "add" : "edit"); - if (validSignCountMap.containsKey(false)) { - return validSignCountMap; + if(lineUnionSelect.getMaxGroupSize() > 0) { + Map validSignCountMap = validSignCount(enrollInfo, config, lineUnionSelect.getMaxGroupSize(), StrUtil.isBlank(enrollInfo.getId()) ? "add" : "edit"); + if (validSignCountMap.containsKey(false)) { + return validSignCountMap; + } } TheRapyRecuperationType trrt = regionTypeLineMap.get(lineInfo.getRegionalNature()); if (StrUtil.isBlank(enrollInfo.getId()) && StrUtil.isNotBlank(enrollInfo.getTakePartInLineId())) { - //获取标段中的最大费用 - List lotList = dao().query(TheRapyRecuperationLot.class, Cnd.NEW()); - //最大费用 - OptionalInt optionalInt = lotList.stream().mapToInt(TheRapyRecuperationLot::getActivityCost).max(); - int maxCost = optionalInt.isPresent() ? optionalInt.getAsInt() : 0; - //获取当前报名线路对应的标段的费用 - Integer currentLineCost = dao().fetch(TheRapyRecuperationLot.class, lineInfo.getLotId()).getActivityCost(); - //获取起始年份到当前时间,是否报名 - Sql sql = Sqls.create(""" + Sql threeYearOutSql = Sqls.create(""" SELECT r.*, l.regionalNature, @@ -623,9 +628,6 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl=", provinceStartYear + "-01-01"); - twoYearInCnd.and("regionalNature", "=", "省内"); - twoYearInCnd.and("isTakePartIn", "=", true); - twoYearInSql.setCondition(twoYearInCnd); - List twoYearInMapList = listMap(twoYearInSql); - - //今年是否报名,不管省内省外 - Cnd nowYearCnd = commonCnd.clone(); - nowYearCnd.and("signingUptime", ">=", DateUtil.thisYear() + "-01-01"); - nowYearSql.setCondition(nowYearCnd); - List nowYearMapList = listMap(nowYearSql); - //三年参加省外 Cnd threeYearOutCnd = commonCnd.clone(); threeYearOutCnd.and("signingUptime", ">=", (DateUtil.thisYear() - 3) + "-01-01"); @@ -656,31 +644,6 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl threeYearOutMapList = listMap(threeYearOutSql); - //今年是否报名,不管报省内还是省外 - if (Lang.isNotEmpty(nowYearMapList)) { - NutMap nowYearMap = nowYearMapList.get(0); - //判断当前报名的线路是否和今年第一次报名的线路重复 - if (nowYearMap.getString("takePartInLineId").equals(lineUnionSelect.getId())) { - return Map.of(false, "您已报名过当前线路,请选择其他线路"); - } - //获取第一次报名线路对应的标段的费用 - int lastLineCost = nowYearMap.getInt("activityCost"); - if ((lastLineCost + currentLineCost) > maxCost) { - return Map.of(false, "您已报名过省内线路"); - } - } - //省内线路判断 - if (trrt.getValue() == TheRapyRecuperationType.provinceInLine.getValue()) { - if (Lang.isEmpty(twoYearInMapList)) { - return Map.of(true, "验证成功"); - } - if (Lang.isNotEmpty(twoYearInMapList)) { - int hasCost = twoYearInMapList.get(0).getInt("activityCost"); - if ((hasCost + currentLineCost) > maxCost) { - return Map.of(false, "您已参加过省内线路"); - } - } - } //省外线路判断 if (trrt.getValue() == TheRapyRecuperationType.provinceOutLine.getValue()) { //三年内有没有参加过省外 @@ -725,16 +688,17 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl enrolls = dao().query(TheRapyRecuperationEnroll.class, cnd); //1表示在配置页面的家属配置的是数量,2是家属的List - if (config.getFamilyInfo() == 1) { + /*if (config.getFamilyInfo() == 1) { currentSignNumber += enrollInfo.getFamilyNumber() != null ? enrollInfo.getFamilyNumber() : 0; int sum = enrolls.stream().mapToInt(TheRapyRecuperationEnroll::getFamilyNumber).sum(); hasSignNumber = enrolls.size() + sum; } else { currentSignNumber += enrollInfo.getCompanionList() != null ? enrollInfo.getCompanionList().size() : 0; List list = enrolls.stream().map(TheRapyRecuperationEnroll::getId).collect(Collectors.toList()); - List companions = dao().query(TheRapyRecuperationEnrollCompanion.class, Cnd.where("trreId", "=", list)); + List companions = dao().query(TheRapyRecuperationEnrollCompanion.class, Cnd.where("trreId", "in", list)); hasSignNumber = enrolls.size() + companions.size(); - } + }*/ + hasSignNumber = enrolls.size(); //省外报名限制,不包含家属 if ((hasSignNumber + currentSignNumber) > maxGroupSize) { return Map.of(false, "报名人数已满"); @@ -898,6 +862,7 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl {{o.groupType === 1 ? '常规团' : '精品团'}} {{o.travelAgencyPlace}} - {{o.usUnionName}} - {{'校工会'}} - {{o.selectUserName}}
@@ -260,8 +257,11 @@ layout("/mobile/platform.html"){
- 出行时段: - {{moment(o.playStartTime).format('MM-DD') + ' 至 ' + moment(o.playEndTime).format('MM-DD')}} + 组织发起: + + {{o.usUnionName}} + {{'校工会'}} + {{o.selectUserName}}
+ {{o.usUnionName}} + {{'校工会'}} + {{o.selectUserName}}
- 联系方式:{{o.contactMobileNumber}} -
-
- 旅 行 社:{{o.travelAgencyName}} + 旅 行 社: + {{o.travelAgencyName}}
diff --git a/src/main/resources/views/platform/theRapyRecuperation/basicManage/line.html b/src/main/resources/views/platform/theRapyRecuperation/basicManage/line.html index 1d5455a..7e35110 100644 --- a/src/main/resources/views/platform/theRapyRecuperation/basicManage/line.html +++ b/src/main/resources/views/platform/theRapyRecuperation/basicManage/line.html @@ -177,11 +177,12 @@ layout("/layouts/platform.html"){ @@ -221,7 +222,7 @@ layout("/layouts/platform.html"){ + placeholder="请选择旅行社" @change="travelChange"> @@ -339,7 +340,6 @@ layout("/layouts/platform.html"){ @@ -349,10 +349,10 @@ layout("/layouts/platform.html"){ @@ -654,6 +654,12 @@ layout("/layouts/platform.html"){ } }, methods: { + travelChange(val) { + const travel = this.travelAgencyList.find(o => o.id === val) + this.$set(this.formData,'travelAgencyPlace','') + this.$set(this.formData, 'lineContact', travel.contact) + this.$set(this.formData, 'lineContactPhone', travel.contactMobileNumber) + }, validLineTime() { //如果是校工会直接过 if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('SchoolUnionMemberAdmin')}" === 'true') { diff --git a/src/main/resources/views/platform/theRapyRecuperation/basicManage/travelAgency.html b/src/main/resources/views/platform/theRapyRecuperation/basicManage/travelAgency.html index 6b02798..c4a1572 100644 --- a/src/main/resources/views/platform/theRapyRecuperation/basicManage/travelAgency.html +++ b/src/main/resources/views/platform/theRapyRecuperation/basicManage/travelAgency.html @@ -333,7 +333,7 @@ layout("/layouts/platform.html"){ }, pageForm: { keywords: null, - year: null + year: new Date().getFullYear() + "" }, //旅行社导入 importVisible: false, diff --git a/src/main/resources/views/platform/theRapyRecuperation/process/lineUnionSelect.html b/src/main/resources/views/platform/theRapyRecuperation/process/lineUnionSelect.html index 6c41d1c..cdd63fe 100644 --- a/src/main/resources/views/platform/theRapyRecuperation/process/lineUnionSelect.html +++ b/src/main/resources/views/platform/theRapyRecuperation/process/lineUnionSelect.html @@ -415,7 +415,7 @@ layout("/layouts/platform.html"){ {{row.minimumGroupSize}} - - {{row.trafficTools}} - {{row.estimatedCost}} - + {{row.maxGroupSize}} diff --git a/src/main/resources/views/platform/welfare/member/MemberMange.html b/src/main/resources/views/platform/welfare/member/MemberMange.html index 3330c51..5d070ef 100644 --- a/src/main/resources/views/platform/welfare/member/MemberMange.html +++ b/src/main/resources/views/platform/welfare/member/MemberMange.html @@ -502,7 +502,7 @@ layout("/layouts/platform.html"){ :visible.sync="updateRemarkDialogVisible" width="30%"> - +