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) {