From 89e0df74f8c7a9efd27b68e3bcf9e2c2cfab2fe9 Mon Sep 17 00:00:00 2001 From: wu Date: Fri, 13 Oct 2023 21:04:12 +0800 Subject: [PATCH] bugfix --- .../controller/BActivityController.java | 17 +++++- .../ruoyi/zhiyuanzhe/domain/BActivity.java | 12 ++-- .../zhiyuanzhe/domain/BActivityPoints.java | 8 ++- .../zhiyuanzhe/domain/BActivityUser.java | 55 ++++++++++++++++- .../ruoyi/zhiyuanzhe/domain/BPersonTags.java | 4 +- .../request/BActivityPointsRequest.java | 14 ++++- .../domain/request/EnrollApprovalRequest.java | 34 +++++++++++ .../zhiyuanzhe/mapper/ActivityUserMapper.java | 5 +- .../zhiyuanzhe/mapper/BActivityMapper.java | 45 +++++++++----- .../zhiyuanzhe/quartz/ActivityQuartz.java | 50 +++++++++++++++ .../service/ActivityUserService.java | 7 ++- .../zhiyuanzhe/service/IBActivityService.java | 31 +++++++++- .../service/impl/ActivityUserServiceImpl.java | 9 +-- .../impl/BActivityPointsServiceImpl.java | 15 ++++- .../service/impl/BActivityServiceImpl.java | 61 ++++++++++++++++--- .../impl/BDistributionRecordsServiceImpl.java | 2 +- .../mapper/zhiyuanzhe/ActivityUserMapper.xml | 37 ++++++++--- .../mapper/zhiyuanzhe/BActivityMapper.xml | 11 ++++ .../zhiyuanzhe/BActivityPointsMapper.xml | 11 ++-- .../mapper/zhiyuanzhe/BPersonTagsMapper.xml | 60 +++++++++++------- 20 files changed, 401 insertions(+), 87 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/request/EnrollApprovalRequest.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/quartz/ActivityQuartz.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/controller/BActivityController.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/controller/BActivityController.java index a5a066a..39accd6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/controller/BActivityController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/controller/BActivityController.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.zhiyuanzhe.domain.BActivity; import com.ruoyi.zhiyuanzhe.domain.request.ActivityInviteRequest; +import com.ruoyi.zhiyuanzhe.domain.request.EnrollApprovalRequest; import com.ruoyi.zhiyuanzhe.domain.request.EventRecommendationsRequest; import com.ruoyi.zhiyuanzhe.domain.response.ActivityResponse; import com.ruoyi.zhiyuanzhe.service.IBActivityService; @@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.validation.Valid; import java.util.List; /** @@ -101,7 +103,7 @@ public class BActivityController extends BaseController { @ApiOperation(value = "邀请人员新") @PostMapping("inviteTwo/{id}") public AjaxResult inviteTwo(@PathVariable("id") Long id) { - bActivityService.inviteTwo(id); + bActivityService.inviteTwo(id, 1); return success(); } @@ -154,4 +156,17 @@ public class BActivityController extends BaseController { bActivityService.enroll(req); return success(); } + + /** + * 报名审批 + * + * @param req 活动人员匹配度关联表id和状态 + * @return 响应类 + */ + @ApiOperation(value = "报名审批") + @PostMapping("enrollApproval") + public AjaxResult enrollApproval(@Valid @RequestBody EnrollApprovalRequest req) { + bActivityService.enrollApproval(req); + return success(); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivity.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivity.java index fbf48b1..f5e0541 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivity.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivity.java @@ -52,8 +52,8 @@ public class BActivity extends BaseEntity { * 活动时间 */ @ApiModelProperty(value = "活动时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "活动时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "活动时间", width = 30, dateFormat = "yyyy-MM-dd") private Date activityTime; /** @@ -138,8 +138,8 @@ public class BActivity extends BaseEntity { * 截至时间 */ @ApiModelProperty(value = "截至时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "截至时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "截至时间", width = 30, dateFormat = "yyyy-MM-dd") private Date endTime; @@ -181,9 +181,9 @@ public class BActivity extends BaseEntity { private Long deptId; /** - * 状态 0:未邀请 1:已邀请 2:已报名 活动推荐使用 + * 状态 0:未邀请 1:已邀请 2:已报名 3:报名成功 4:报名失败 活动推荐使用 */ - @ApiModelProperty(value = "状态 0:未邀请 1:已邀请 2:已报名 活动推荐使用") + @ApiModelProperty(value = "状态 0:未邀请 1:已邀请 2:已报名 3:报名成功 4:报名失败 活动推荐使用") private Integer activityStatus; /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivityPoints.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivityPoints.java index 0b64e5a..742a835 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivityPoints.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivityPoints.java @@ -28,6 +28,12 @@ public class BActivityPoints extends BaseEntity { @ApiModelProperty(value = "主键id") private Long id; + /** + * 兑换记录id + */ + @ApiModelProperty(value = "兑换记录id") + private Long recordsId; + /** * 用户id */ @@ -116,7 +122,7 @@ public class BActivityPoints extends BaseEntity { /** * 发证状态 */ - @ApiModelProperty(value = "发证状态") + @ApiModelProperty(value = "发证状态 false为待发放 true为已发放") private Boolean issuanceStatus; /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivityUser.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivityUser.java index e10b13f..8a8fb87 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivityUser.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BActivityUser.java @@ -45,10 +45,61 @@ public class BActivityUser implements Serializable { private Double degreeOfMatch; /** - * 状态 0:未邀请 1:已邀请 2:已报名 + * 状态 0:未邀请 1:已邀请 2:已报名 3:报名成功 4:报名失败 */ - @ApiModelProperty(value = "状态 0:未邀请 1:已邀请 2:已报名") + @ApiModelProperty(value = "状态 0:未邀请 1:已邀请 2:已报名 3:报名成功 4:报名失败") private Integer status; + /** + * 年龄 + */ + @ApiModelProperty(value = "年龄") + private String ageRange; + /** + * 小区 + */ + @ApiModelProperty(value = "小区") + private String housingRange; + /** + * 文化程度 + */ + @ApiModelProperty(value = "文化程度") + private String educationRange; + /** + * 兴趣爱好 + */ + @ApiModelProperty(value = "兴趣爱好") + private String interestRange; + /** + * 政治面貌 + */ + @ApiModelProperty(value = "政治面貌") + private String politicalRange; + /** + * 性别 + */ + @ApiModelProperty(value = "性别") + private String sexRange; + /** + * 国籍 + */ + @ApiModelProperty(value = "国籍") + private String nationalityRange; + /** + * 专业类型 + */ + @ApiModelProperty(value = "专业类型") + private String professionalRange; + /** + * 行业类型 + */ + @ApiModelProperty(value = "行业类型") + private String industryRange; + /** + * 院校 + */ + @ApiModelProperty(value = "院校") + private String schoolRange; + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BPersonTags.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BPersonTags.java index 3d17a28..16ac50a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BPersonTags.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/BPersonTags.java @@ -132,9 +132,9 @@ public class BPersonTags extends BaseEntity { private Double degreeOfMatch; /** - * 状态 0:未邀请 1:已邀请 2:已报名 + * 状态 0:未邀请 1:已邀请 2:已报名 3:报名成功 4:报名失败 活动详情使用 */ - @ApiModelProperty(value = "状态 0:未邀请 1:已邀请 2:已报名 活动详情使用") + @ApiModelProperty(value = "状态 0:未邀请 1:已邀请 2:已报名 3:报名成功 4:报名失败 活动详情使用") private Integer status; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/request/BActivityPointsRequest.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/request/BActivityPointsRequest.java index 0246700..a995ee4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/request/BActivityPointsRequest.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/request/BActivityPointsRequest.java @@ -21,9 +21,15 @@ public class BActivityPointsRequest implements Serializable { * id */ @ApiModelProperty("id") - @NotNull(message = "id不能为空") + @NotNull(message = "活动id不能为空") private Long id; + /** + * 兑换记录id + */ + @ApiModelProperty(value = "兑换记录id") + private Long recordsId; + /** * 1:电子证书 2:纸质证书 */ @@ -43,4 +49,10 @@ public class BActivityPointsRequest implements Serializable { @ApiModelProperty(value = "快递公司") private String courierCompanies; + /** + * 1:已发放,2:未发放 + */ + @ApiModelProperty(value = "1:已发放,2:未发放") + private Integer status; + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/request/EnrollApprovalRequest.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/request/EnrollApprovalRequest.java new file mode 100644 index 0000000..66cf4a8 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/domain/request/EnrollApprovalRequest.java @@ -0,0 +1,34 @@ +package com.ruoyi.zhiyuanzhe.domain.request; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 活动邀请人员审批请求类 + * + * @author wu + * @since 2023/10/5 20:13 + */ +@ApiModel("活动邀请人员审批请求类") +@Data +public class EnrollApprovalRequest implements Serializable { + + private static final long serialVersionUID = 1344843815431566156L; + /** + * 活动人员匹配度关联表id + */ + @ApiModelProperty(value = "活动人员匹配度关联表id", required = true) + @NotNull(message = "活动人员匹配度关联表id不能为空") + private Long id; + + /** + * 状态 0:未邀请 1:已邀请 2:已报名 3:报名成功 4:报名失败 + */ + @ApiModelProperty(value = "状态 0:未邀请 1:已邀请 2:已报名 3:报名成功 4:报名失败 ") + @NotNull(message = "状态不能为空") + private Integer status; +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/mapper/ActivityUserMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/mapper/ActivityUserMapper.java index c86b4db..e749736 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/mapper/ActivityUserMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/mapper/ActivityUserMapper.java @@ -71,10 +71,11 @@ public interface ActivityUserMapper { List eventInvitations(@Param("req") EventRecommendationsRequest req); /** - * 邀请人员新 + * 根据id修改状态 * * @param id id + * @param status 状态 */ - void inviteTwo(Long id); + void inviteTwo(@Param("id") Long id, @Param("status") int status); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/mapper/BActivityMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/mapper/BActivityMapper.java index 8e16549..9d1df2e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/mapper/BActivityMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/mapper/BActivityMapper.java @@ -1,63 +1,78 @@ package com.ruoyi.zhiyuanzhe.mapper; import com.ruoyi.zhiyuanzhe.domain.BActivity; +import org.apache.ibatis.annotations.Param; import java.util.List; /** * 活动管理Mapper接口 - * + * * @author ruoyi * @date 2023-09-18 */ -public interface BActivityMapper -{ +public interface BActivityMapper { /** * 查询活动管理 - * + * * @param id 活动管理主键 * @return 活动管理 */ - public BActivity selectBActivityById(Long id); + BActivity selectBActivityById(Long id); /** * 查询活动管理列表 - * + * * @param bActivity 活动管理 * @return 活动管理集合 */ - public List selectBActivityList(BActivity bActivity); + List selectBActivityList(BActivity bActivity); /** * 新增活动管理 - * + * * @param bActivity 活动管理 * @return 结果 */ - public int insertBActivity(BActivity bActivity); + int insertBActivity(BActivity bActivity); /** * 修改活动管理 - * + * * @param bActivity 活动管理 * @return 结果 */ - public int updateBActivity(BActivity bActivity); + int updateBActivity(BActivity bActivity); /** * 删除活动管理 - * + * * @param id 活动管理主键 * @return 结果 */ - public int deleteBActivityById(Long id); + int deleteBActivityById(Long id); /** * 批量删除活动管理 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ - public int deleteBActivityByIds(Long[] ids); + int deleteBActivityByIds(Long[] ids); + + /** + * 根据活动状态查询活动 + * + * @param status 活动状态1:进行中,2:停止 + * @return 活动 + */ + List findByStatus(@Param("status") int status); + + /** + * 批量修改活动状态 + * + * @param list id集合 + */ + void updateStatusByIds(List list); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/quartz/ActivityQuartz.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/quartz/ActivityQuartz.java new file mode 100644 index 0000000..48c68e6 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/quartz/ActivityQuartz.java @@ -0,0 +1,50 @@ +package com.ruoyi.zhiyuanzhe.quartz; + +import com.ruoyi.zhiyuanzhe.domain.BActivity; +import com.ruoyi.zhiyuanzhe.service.IBActivityService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 定时任务修改活动状态 + * + * @Author: wu + * @DateTime: 2023/10/13 20:47 + */ +@Component +@Transactional(rollbackFor = Exception.class) +public class ActivityQuartz { + + @Resource + private IBActivityService bActivityService; + + + /** + * 修改活动状态定时任务 + */ + @Scheduled(cron = "0 0 0 * * ?") + public void editStatus() { + List list = bActivityService.findByStatus(1); + // 所有过期的活动id + List ids = new ArrayList<>(); + // 当前日期 + Date localDate = new Date(); + for (BActivity activity : list) { + Date endTime = activity.getEndTime(); + // 判断是否大于当前时间 + if (endTime.getTime() <= localDate.getTime()) { + ids.add(activity.getId()); + } + } + // 修改状态 + bActivityService.updateStatusByIds(ids); + } + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/ActivityUserService.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/ActivityUserService.java index c0e8707..919acf6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/ActivityUserService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/ActivityUserService.java @@ -65,9 +65,10 @@ public interface ActivityUserService { List eventInvitations(EventRecommendationsRequest req); /** - * 邀请人员新 + * 根据id修改状态 * - * @param id id + * @param id id + * @param status 状态 */ - void inviteTwo(Long id); + void inviteTwo(Long id, int status); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/IBActivityService.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/IBActivityService.java index 086b7bb..864db6b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/IBActivityService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/IBActivityService.java @@ -3,6 +3,7 @@ package com.ruoyi.zhiyuanzhe.service; import com.ruoyi.zhiyuanzhe.domain.BActivity; import com.ruoyi.zhiyuanzhe.domain.request.ActivityInviteRequest; +import com.ruoyi.zhiyuanzhe.domain.request.EnrollApprovalRequest; import com.ruoyi.zhiyuanzhe.domain.request.EventRecommendationsRequest; import com.ruoyi.zhiyuanzhe.domain.response.ActivityResponse; @@ -94,9 +95,33 @@ public interface IBActivityService { List eventInvitations(EventRecommendationsRequest req); /** - * 邀请人员新 + * 根据id修改状态 * - * @param id id + * @param id id + * @param status 状态 */ - void inviteTwo(Long id); + void inviteTwo(Long id, int status); + + /** + * 报名审批 + * + * @param req 活动人员匹配度关联表id和状态 + * @return 响应类 + */ + void enrollApproval(EnrollApprovalRequest req); + + /** + * 根据活动状态查询活动 + * + * @param status 活动状态1:进行中,2:停止 + * @return 活动 + */ + List findByStatus(int status); + + /** + * 批量修改活动状态 + * + * @param ids id集合 + */ + void updateStatusByIds(List ids); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/ActivityUserServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/ActivityUserServiceImpl.java index 1f1a04f..1ebd140 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/ActivityUserServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/ActivityUserServiceImpl.java @@ -96,12 +96,13 @@ public class ActivityUserServiceImpl implements ActivityUserService { } /** - * 邀请人员新 + * 根据id修改状态 * - * @param id id + * @param id id + * @param status 状态 */ @Override - public void inviteTwo(Long id) { - activityUserMapper.inviteTwo(id); + public void inviteTwo(Long id, int status) { + activityUserMapper.inviteTwo(id, status); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BActivityPointsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BActivityPointsServiceImpl.java index 3e73a17..b71c33c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BActivityPointsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BActivityPointsServiceImpl.java @@ -130,11 +130,20 @@ public class BActivityPointsServiceImpl implements IBActivityPointsService { records.setActivityId(req.getId()); records.setCreType(1); records.setType(req.getType()); - records.setStatus(1); + records.setStatus(req.getStatus()); records.setCourierCompanies(req.getCourierCompanies()); records.setTrackingNumber(req.getTrackingNumber()); - // 保存发放记录 - distributionRecordsService.insertBDistributionRecords(records); + if (req.getRecordsId() != null) { + BDistributionRecords distributionRecords = distributionRecordsService.selectBDistributionRecordsById(req.getRecordsId()); + if (BeanUtil.isNotEmpty(distributionRecords)) { + records.setId(distributionRecords.getId()); + // 更新发放记录 + distributionRecordsService.updateBDistributionRecords(records); + } + } else { + // 保存发放记录 + distributionRecordsService.insertBDistributionRecords(records); + } } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BActivityServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BActivityServiceImpl.java index 8215cd5..ced2d6f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BActivityServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BActivityServiceImpl.java @@ -3,12 +3,13 @@ package com.ruoyi.zhiyuanzhe.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.system.service.ISysUserService; import com.ruoyi.zhiyuanzhe.domain.BActivity; import com.ruoyi.zhiyuanzhe.domain.BActivityUser; import com.ruoyi.zhiyuanzhe.domain.BPersonTags; import com.ruoyi.zhiyuanzhe.domain.request.ActivityInviteRequest; +import com.ruoyi.zhiyuanzhe.domain.request.EnrollApprovalRequest; import com.ruoyi.zhiyuanzhe.domain.request.EventRecommendationsRequest; import com.ruoyi.zhiyuanzhe.domain.response.ActivityResponse; import com.ruoyi.zhiyuanzhe.mapper.BActivityMapper; @@ -18,6 +19,7 @@ import com.ruoyi.zhiyuanzhe.service.IBPersonTagsService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -32,8 +34,6 @@ public class BActivityServiceImpl implements IBActivityService { @Resource private BActivityMapper bActivityMapper; - @Resource - private ISysUserService userService; @Resource private IBPersonTagsService personTagsService; @@ -80,6 +80,12 @@ public class BActivityServiceImpl implements IBActivityService { */ @Override public void insertBActivity(BActivity bActivity) { + Date endTime = bActivity.getEndTime(); + Date localDate = new Date(); + // 判断是否大于当前时间 + if (endTime.getTime() <= localDate.getTime()) { + throw new ServiceException("活动结束时间不能小于当前时间"); + } bActivity.setCreateTime(DateUtils.getNowDate()); bActivity.setStatus(1); bActivityMapper.insertBActivity(bActivity); @@ -203,6 +209,10 @@ public class BActivityServiceImpl implements IBActivityService { */ @Override public void invite(ActivityInviteRequest req) { + BActivity activity = bActivityMapper.selectBActivityById(req.getActivityId()); + if (activity.getStatus() == 2) { + throw new ServiceException("活动已结束"); + } activityUserService.invite(req); } @@ -224,6 +234,10 @@ public class BActivityServiceImpl implements IBActivityService { */ @Override public void enroll(ActivityInviteRequest req) { + BActivity activity = bActivityMapper.selectBActivityById(req.getActivityId()); + if (activity.getStatus() == 2) { + throw new ServiceException("活动已结束"); + } activityUserService.enroll(req); } @@ -239,12 +253,45 @@ public class BActivityServiceImpl implements IBActivityService { } /** - * 邀请人员新 + * 根据id修改状态 + * + * @param id id + * @param status 状态 + */ + @Override + public void inviteTwo(Long id, int status) { + activityUserService.inviteTwo(id, status); + } + + /** + * 报名审批 + * + * @param req 活动人员匹配度关联表id和状态 + * @return 响应类 + */ + @Override + public void enrollApproval(EnrollApprovalRequest req) { + activityUserService.inviteTwo(req.getId(), req.getStatus()); + } + + /** + * 根据活动状态查询活动 + * + * @param status 活动状态1:进行中,2:停止 + * @return 活动 + */ + @Override + public List findByStatus(int status) { + return bActivityMapper.findByStatus(status); + } + + /** + * 批量修改活动状态 * - * @param id id + * @param ids id集合 */ @Override - public void inviteTwo(Long id) { - activityUserService.inviteTwo(id); + public void updateStatusByIds(List ids) { + bActivityMapper.updateStatusByIds(ids); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BDistributionRecordsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BDistributionRecordsServiceImpl.java index 3f33c02..ffbf4c2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BDistributionRecordsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/zhiyuanzhe/service/impl/BDistributionRecordsServiceImpl.java @@ -139,7 +139,7 @@ public class BDistributionRecordsServiceImpl implements IBDistributionRecordsSer } // 创建证书发放记录 records.setType(req.getType()); - records.setStatus(1); + records.setStatus(req.getStatus()); records.setCourierCompanies(req.getCourierCompanies()); records.setTrackingNumber(req.getTrackingNumber()); // 保存发放记录 diff --git a/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/ActivityUserMapper.xml b/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/ActivityUserMapper.xml index 1ae90ba..3afb338 100644 --- a/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/ActivityUserMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/ActivityUserMapper.xml @@ -68,12 +68,32 @@ u_id, degree_of_match, status, + age_range, + housing_range, + education_range, + interest_range, + political_range, + sex_range, + nationality_range, + professional_range, + industry_range, + school_range, #{activityId}, #{uId}, #{degreeOfMatch}, #{status}, + #{ageRange}, + #{housingRange}, + #{educationRange}, + #{interestRange}, + #{politicalRange}, + #{sexRange}, + #{nationalityRange}, + #{professionalRange}, + #{industryRange}, + #{schoolRange}, @@ -86,7 +106,7 @@ update b_activity_user - set status = 1 + set status = #{status} where id = #{id} @@ -110,24 +130,21 @@ where activity_id = #{activityId} diff --git a/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/BActivityMapper.xml b/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/BActivityMapper.xml index a583ee5..9e365d2 100644 --- a/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/BActivityMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/BActivityMapper.xml @@ -97,6 +97,11 @@ where id = #{id} + + insert into b_activity @@ -189,6 +194,12 @@ where id = #{id} + + update b_activity set status =2 where id in + + #{item} + + delete diff --git a/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/BActivityPointsMapper.xml b/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/BActivityPointsMapper.xml index cd86bd8..1e59cbe 100644 --- a/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/BActivityPointsMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/zhiyuanzhe/BActivityPointsMapper.xml @@ -6,6 +6,7 @@ + @@ -58,6 +59,7 @@ select (select nick_name from sys_user where user_id = bap.u_id) as user_name, bap.id, + bdr.id records_id, bap.u_id, bap.points, bap.name, @@ -79,8 +81,8 @@ bap.user_id, bap.dept_id, CASE - WHEN bdr.id IS NULL THEN 0 - ELSE 1 + WHEN bdr.id IS NOT NULL AND bdr.status != 2 THEN 1 + ELSE 0 END AS issuanceStatus, bap.update_time AS timeOfIssuance from b_activity_points bap left join b_distribution_records bdr on bap.id = bdr.activity_id @@ -106,6 +108,7 @@ - + SELECT *, ( CASE - WHEN age_range = #{req.ageRange} THEN + WHEN #{req.ageRange} like concat('%', age_range, '%') THEN 1 ELSE 0 END + CASE - WHEN housing_range = #{req.housingRange} THEN + WHEN #{req.housingRange} like concat('%', housing_range, '%') THEN 1 ELSE 0 END + CASE - WHEN education_range = #{req.educationRange} THEN + WHEN #{req.educationRange} like concat('%', education_range, '%') THEN 1 ELSE 0 END + CASE - WHEN interest_range = #{req.interestRange} THEN + WHEN #{req.interestRange} like concat('%', interest_range, '%') THEN 1 ELSE 0 END + CASE - WHEN political_range = #{req.politicalRange} THEN + WHEN #{req.politicalRange} like concat('%', political_range, '%') THEN 1 ELSE 0 END + CASE - WHEN sex_range = #{req.sexRange} THEN + WHEN #{req.sexRange} like concat('%', sex_range, '%') THEN 1 ELSE 0 END + CASE - WHEN nationality_range = #{req.nationalityRange} THEN + WHEN #{req.nationalityRange} like concat('%', nationality_range, '%') THEN 1 ELSE 0 END + CASE - WHEN professional_range = #{req.professionalRange} THEN + WHEN #{req.professionalRange} like concat('%', professional_range, '%') THEN 1 ELSE 0 END + CASE - WHEN industry_range = #{req.industryRange} THEN + WHEN #{req.industryRange} like concat('%', industry_range, '%') THEN 1 ELSE 0 END + CASE - WHEN school_range = #{req.schoolRange} THEN + WHEN #{req.schoolRange} like concat('%', school_range, '%') THEN 1 ELSE 0 END @@ -190,34 +206,34 @@ FROM b_person_tags WHERE ( - age_range = #{req.ageRange} OR + #{req.ageRange} like concat('%', age_range, '%') OR - housing_range = #{req.housingRange} OR + #{req.housingRange} like concat('%', housing_range, '%') OR - education_range = #{req.educationRange} OR + #{req.educationRange} like concat('%', education_range, '%') OR - interest_range = #{req.interestRange} OR + #{req.interestRange} like concat('%', interest_range, '%') OR - political_range = #{req.politicalRange} OR + #{req.politicalRange} like concat('%', political_range, '%') OR - sex_range = #{req.sexRange} OR + #{req.sexRange} like concat('%', sex_range, '%') OR - nationality_range = #{req.nationalityRange} OR + #{req.nationalityRange} like concat('%', nationality_range, '%') OR - professional_range = #{req.professionalRange} OR + #{req.professionalRange} like concat('%', professional_range, '%') OR - industry_range = #{req.industryRange} OR + #{req.industryRange} like concat('%', industry_range, '%') OR - school_range = #{req.schoolRange} OR + #{req.schoolRange} like concat('%', school_range, '%') OR 1=0 )