From 8a510a6b0d289392036a87573e337c77d75a7354 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Sun, 26 Jul 2020 20:18:33 +0800 Subject: [PATCH] =?UTF-8?q?heart-work:=E5=B7=B2=E7=BB=93=E6=9D=9F-?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=B4=BB=E5=8A=A8=E5=AE=9E=E9=99=85=E5=BC=80?= =?UTF-8?q?=E5=A7=8B=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 2 +- .../epmet/commons/tools/utils/DateUtils.java | 8 ++++ .../dto/form/work/SaveActualTimeFormDTO.java | 40 +++++++++++++++++++ .../epmet/controller/WorkActController.java | 15 +++++++ .../com/epmet/service/WorkActService.java | 10 +++++ .../service/impl/WorkActServiceImpl.java | 27 +++++++++++-- 6 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/SaveActualTimeFormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 1c4adc9bf3..f715f35b01 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -57,7 +57,7 @@ public enum EpmetErrorCode { ACT_START_TIME_ERROR(8119,"活动预计开始时间应早于活动预计结束时间"), ACT_SIGN_IN_START_TIME_ERROR(8120,"签到开始时间应早于签到结束时间"), ACT_SIGN_UP_END_TIME_ERROR(8121,"活动报名截止时间应早于活动预计开始时间"), - + ACT_ACTUAL_START_TIME_ERROR(8122,"实际开始时间应早于实际结束时间"), CANNOT_AUDIT_WARM(8201, "请完善居民信息"), NOT_DEL_AGENCY(8202, "该机关存在下级机关,不允许删除"), diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java index e76c5a4c33..c652bde696 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java @@ -502,4 +502,12 @@ public class DateUtils { return null; } + public static Integer calculateMin(Date startDate,Date endDate){ + long start=startDate.getTime(); + long end=endDate.getTime(); + // 计算差多少分钟 + int minutes = (int) ((end - start) / (1000 * 60)); + System.out.println("两个时间之间的分钟差为:" + minutes); + return minutes; + } } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/SaveActualTimeFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/SaveActualTimeFormDTO.java new file mode 100644 index 0000000000..8380ece57c --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/work/SaveActualTimeFormDTO.java @@ -0,0 +1,40 @@ +package com.epmet.dto.form.work; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 已结束-保存活动实际开始结束时间 + * + * @author yinzuomei@elink-cn.com + * @date 2020/7/26 19:43 + */ +@Data +public class SaveActualTimeFormDTO implements Serializable { + private static final long serialVersionUID = -3668309257254318868L; + + public interface AddUserInternalGroup { + } + + public interface UserShowGroup extends CustomerClientShowGroup { + } + + /** + * 活动id + */ + @NotBlank(message = "活动id不能为空", groups = {AddUserInternalGroup.class}) + private String actId; + /** + * 实际开始时间yyyy-MM-dd HH:mm + */ + @NotBlank(message = "实际开始时间不能为空", groups = {UserShowGroup.class}) + private String actualStartTime; + /** + * 实际结束时间yyyy-MM-dd HH:mm + */ + @NotBlank(message = "实际结束时间不能为空", groups = {UserShowGroup.class}) + private String actualEndTime; +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActController.java index aca1f4aee4..818f4e48b7 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/WorkActController.java @@ -135,4 +135,19 @@ public class WorkActController { ValidatorUtils.validateEntity(actIdFormDTO, ActIdFormDTO.AddUserInternalGroup.class); return new Result().ok(workActService.canceledDetail(actIdFormDTO.getActId())); } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 已结束-保存活动实际开始结束时间 + * @Date 2020/7/26 19:48 + **/ + @PostMapping("saveactualtime") + public Result saveActualTime(@RequestBody SaveActualTimeFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, SaveActualTimeFormDTO.UserShowGroup.class, + SaveActualTimeFormDTO.AddUserInternalGroup.class); + workActService.saveActualTime(formDTO); + return new Result(); + } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActService.java index b4e83a2aa1..971240c5c8 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/WorkActService.java @@ -3,6 +3,7 @@ package com.epmet.service; import com.epmet.dto.form.work.ActListCommonFormDTO; import com.epmet.dto.form.work.CancelActFormDTO; import com.epmet.dto.form.work.PublishActInfoFormDTO; +import com.epmet.dto.form.work.SaveActualTimeFormDTO; import com.epmet.dto.result.work.*; import java.util.List; @@ -85,4 +86,13 @@ public interface WorkActService { * @Date 2020/7/26 18:00 **/ CanceledActDetailResultDTO canceledDetail(String actId); + + /** + * @return void + * @param formDTO + * @author yinzuomei + * @description 已结束-保存活动实际开始结束时间 + * @Date 2020/7/26 19:49 + **/ + void saveActualTime(SaveActualTimeFormDTO formDTO); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java index 257b8a810d..1e713b226e 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/WorkActServiceImpl.java @@ -12,6 +12,7 @@ import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ActConstant; @@ -24,10 +25,7 @@ import com.epmet.dao.ActUserRelationDao; import com.epmet.dto.ActInfoDTO; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.UserMessageFormDTO; -import com.epmet.dto.form.work.ActListCommonFormDTO; -import com.epmet.dto.form.work.CancelActFormDTO; -import com.epmet.dto.form.work.PublishActContentFormDTO; -import com.epmet.dto.form.work.PublishActInfoFormDTO; +import com.epmet.dto.form.work.*; import com.epmet.dto.result.ActSponsorResultDTO; import com.epmet.dto.result.work.*; import com.epmet.entity.ActContentEntity; @@ -560,4 +558,25 @@ public class WorkActServiceImpl implements WorkActService { } return canceledActDetailResultDTO; } + + /** + * @param formDTO + * @return void + * @author yinzuomei + * @description 已结束-保存活动实际开始结束时间 + * @Date 2020/7/26 19:49 + **/ + @Override + public void saveActualTime(SaveActualTimeFormDTO formDTO) { + if(formDTO.getActualStartTime().compareTo(formDTO.getActualEndTime())!=-1){ + throw new RenException(EpmetErrorCode.ACT_ACTUAL_START_TIME_ERROR.getCode()); + } + ActInfoDTO actInfoDTO=actInfoService.get(formDTO.getActId()); + Date actualStartTime= DateUtils.minStrToSecondDate(formDTO.getActualStartTime()); + actInfoDTO.setActualStartTime(actualStartTime); + Date actualEndTime= DateUtils.minStrToSecondDate(formDTO.getActualEndTime()); + actInfoDTO.setActualEndTime(actualEndTime); + actInfoDTO.setServiceMin(DateUtils.calculateMin(actualStartTime,actualEndTime)); + actInfoService.update(actInfoDTO); + } }