Commit 1383a794 authored by hezhen's avatar hezhen

123

parent eaac87a3
......@@ -3,20 +3,23 @@ package com.xxfc.platform.summit.biz;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.summit.entity.Activity;
import com.xxfc.platform.summit.mapper.ActivityMapper;
import com.xxfc.platform.summit.pojo.AccessType;
import com.xxfc.platform.summit.pojo.ActivityQuery;
import com.xxfc.platform.summit.pojo.SummitStatus;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import tk.mybatis.mapper.entity.Example;
import javax.xml.crypto.Data;
import java.util.Date;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author Administrator
......@@ -24,6 +27,9 @@ import java.util.List;
@Service
public class ActivityBiz extends BaseBiz<ActivityMapper, Activity> {
@Value("${wx.qdLimts}")
private BigDecimal qdLimts;
/**
* 未删除
*/
......@@ -72,6 +78,7 @@ public class ActivityBiz extends BaseBiz<ActivityMapper, Activity> {
PageHelper.startPage(query.getPage(), query.getLimit());
List<Activity> activities = mapper.selectByQuery (query);
return new PageInfo<Activity>(activities);
}
@Transactional(rollbackFor = Exception.class)
......@@ -116,4 +123,24 @@ public class ActivityBiz extends BaseBiz<ActivityMapper, Activity> {
activity.setUpdTime(System.currentTimeMillis());
mapper.updateByPrimaryKeySelective(activity);
}
public ObjectRestResponse checkQdlimits(Double latitude, Double longitude, Integer id){
Map<String, Object> map= initParam(latitude,longitude,id);
BigDecimal dinate=mapper.getdinate(map);
int status=0;
if (qdLimts.compareTo(dinate)>=0){
status=1;
}
return ObjectRestResponse.succ(status);
}
private Map<String, Object> initParam( Double latitude, Double longitude, Integer id) {
Map<String,Object> params = new HashMap<String,Object>();
params.put("latitude",latitude);
params.put("longitude",longitude);
params.put("id",id);
return params;
}
}
......@@ -22,7 +22,9 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author Administrator
......@@ -259,4 +261,8 @@ public class ActivityBmBiz extends BaseBiz<ActivityBmMapper, ActivityBm> {
return null;
}
}
......@@ -26,6 +26,9 @@ public class FrontActivityController extends BaseController<ActivityBiz, Activit
@Autowired
private ActivityBmBiz activityBmBiz;
@Autowired
private ActivityBiz activityBiz;
@GetMapping("app/unauth/info")
public ObjectRestResponse info(
......@@ -36,6 +39,15 @@ public class FrontActivityController extends BaseController<ActivityBiz, Activit
return activityBmBiz.getActivityById(activityId,key,request);
}
@GetMapping("app/unauth/qdLimts")
public ObjectRestResponse qdLimts(
@RequestParam(value = "activityId",defaultValue = "0")Integer activityId,
@RequestParam(value = "latitude", required = false) Double latitude,
@RequestParam(value = "longitude", required = false) Double longitude){
return activityBiz.checkQdlimits(latitude,longitude,activityId);
}
......
......@@ -3,10 +3,13 @@ package com.xxfc.platform.summit.mapper;
import com.xxfc.platform.summit.entity.Activity;
import com.xxfc.platform.summit.pojo.ActivityQuery;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.entity.Example;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
......@@ -15,4 +18,6 @@ import java.util.List;
public interface ActivityMapper extends Mapper<Activity> {
List<Activity> selectByQuery(ActivityQuery query);
BigDecimal getdinate(@Param("params") Map<String,Object> map);
}
......@@ -29,4 +29,11 @@
</if>
order by rank asc , start_time desc
</select>
<select id="getdinate" parameterType="java.util.Map" resultType="BigDecimal">
select
IFNULL(ROUND(( (2 * ASIN( SQRT( POW( SIN((latitude * PI() / 180.0- #{params.latitude}* PI() / 180.0)/2), 2)+COS( latitude * PI() / 180.0)*COS( #{params.latitude} * PI() / 180.0)
*POW(SIN((longitude * PI() / 180.0 - #{params.longitude}* PI() /180.0)/2),2))))*6378.137)*10000)/10000 ,0 ) AS distance
FROM fc_activity WHERE id=#{params.id}
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment