From d9ca1f7ca644bd197575d976207abad4665f0eaf Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Tue, 28 Jul 2020 11:49:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E6=89=93=E5=8D=A1=E8=8C=83?= =?UTF-8?q?=E5=9B=B4=E5=88=A4=E6=96=AD=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/resi/ResiActAddressResultDTO.java | 46 +++++++++++++++++++ .../controller/ResiActListController.java | 7 ++- .../com/epmet/service/ActInfoService.java | 9 ++-- .../service/impl/ActInfoServiceImpl.java | 17 +++++-- .../impl/ActUserRelationServiceImpl.java | 2 +- 5 files changed, 68 insertions(+), 13 deletions(-) create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/resi/ResiActAddressResultDTO.java diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/resi/ResiActAddressResultDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/resi/ResiActAddressResultDTO.java new file mode 100644 index 0000000000..96cd30af4d --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/resi/ResiActAddressResultDTO.java @@ -0,0 +1,46 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result.resi; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 是否到达活动打卡地址 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-07-19 + */ +@Data +public class ResiActAddressResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Boolean isAddress; + + /** + * 未报到活动范围的提示信息 + */ + private String errorTip; + +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiActListController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiActListController.java index f6c61a6815..1dfb2ed28a 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiActListController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiActListController.java @@ -235,16 +235,15 @@ public class ResiActListController { } /** - * 重新定位 * 根据活动id、前端传的实时经纬度,与活动设置的经纬度相比较,判断用户是否已到达打卡地点 * * @param formDTO - * @return javax.xml.transform.Result + * @return com.epmet.commons.tools.utils.Result * @Author zhangyong - * @Date 16:48 2020-07-20 + * @Date 11:21 2020-07-28 **/ @PostMapping("checksigninaddress") - public Result cancelSignUp(@RequestBody ResiActCaculateDistanceFormDTO formDTO) { + public Result cancelSignUp(@RequestBody ResiActCaculateDistanceFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, ResiActCaculateDistanceFormDTO.AddUserInternalGroup.class); return actInfoService.checkSignInAddress(formDTO); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActInfoService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActInfoService.java index 4f67a60cd8..26a868572b 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActInfoService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/ActInfoService.java @@ -101,12 +101,13 @@ public interface ActInfoService extends BaseService { /** * 根据活动id、前端传的实时经纬度,与活动设置的经纬度相比较,判断用户是否已到达打卡地点 - * @param fromDTO - * @return javax.xml.transform.Result + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result * @Author zhangyong - * @Date 16:48 2020-07-20 + * @Date 11:21 2020-07-28 **/ - Result checkSignInAddress(ResiActCaculateDistanceFormDTO fromDTO); + Result checkSignInAddress(ResiActCaculateDistanceFormDTO formDTO); /** * 活动列表(包含状态:报名中:signing_up;已报满:enough;截止报名: end_sign_up; 已开始: in_progress; 已结束:finished;) diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java index 3644df4f10..d47594761f 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java @@ -23,7 +23,6 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; -import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; @@ -42,6 +41,8 @@ import com.epmet.service.ActInfoService; import com.epmet.service.ActUserRelationService; import com.epmet.utils.CaculateDistance; import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -57,6 +58,8 @@ import java.util.*; @Service public class ActInfoServiceImpl extends BaseServiceImpl implements ActInfoService { + private Logger logger = LogManager.getLogger(ActInfoServiceImpl.class); + @Autowired private ActInfoRedis actInfoRedis; @@ -355,14 +358,20 @@ public class ActInfoServiceImpl extends BaseServiceImpl checkSignInAddress(ResiActCaculateDistanceFormDTO formDTO) { // 根据活动id,查询活动基本信息 ActInfoEntity entity = baseDao.selectById(formDTO.getActId()); Double distance = CaculateDistance.getDistance(formDTO.getLongitude(),formDTO.getLatitude(),entity.getActLongitude().doubleValue(),entity.getActLatitude().doubleValue()); + ResiActAddressResultDTO dto = new ResiActAddressResultDTO(); if (distance <= entity.getSignInRadius()){ - return new Result(); + dto.setIsAddress(true); + dto.setErrorTip(""); + return new Result().ok(dto); } else { - throw new RenException(EpmetErrorCode.NOT_IN_THE_SIGN_IN_RANGE.getCode()); + logger.info("您还未进入指定的签到范围~"); + dto.setIsAddress(false); + dto.setErrorTip(EpmetErrorCode.NOT_IN_THE_SIGN_IN_RANGE.getMsg()); + return new Result().ok(dto); } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java index 7aacc0cd0d..5d6ed5249b 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActUserRelationServiceImpl.java @@ -81,7 +81,7 @@ public class ActUserRelationServiceImpl extends BaseServiceImpl page(Map params) {