Commit f0b953ce authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/dev' into jrz_dev

parents a2cc1f5c 2caf93e1
package com.xxfc.platform.uccn.dto;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/26 15:51
*/
@Data
public class SummitActivityDTO {
}
......@@ -3,6 +3,8 @@ package com.xxfc.platform.uccn.biz;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.RandomUtil;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.uccn.dto.SummitActivityFindDTO;
import com.xxfc.platform.uccn.dto.SummitActivitySaveDTO;
......@@ -33,7 +35,7 @@ import java.util.*;
public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActivity> {
public List<SummitActivityVo> findSummitActivityForHomePage(Integer limit,Integer location) {
public List<SummitActivityVo> findSummitActivityForHomePage(Integer limit, Integer location) {
Example example = new Example(SummitActivity.class);
example.setOrderByClause("rank");
Example.Criteria criteria = example.createCriteria();
......@@ -46,7 +48,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
//活动未下架
criteria.andEqualTo("isShow", 1);
//位置
criteria.andIn("location", Arrays.asList(location,0));
criteria.andIn("location", Arrays.asList(location, 0));
PageDataVO<SummitActivity> dataVO = PageDataVO.pageInfo(1, limit, () -> mapper.selectByExample(example));
List<SummitActivity> summitActivities = dataVO.getData();
......@@ -166,4 +168,46 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
summitActivity.setRank(rank);
mapper.updateByPrimaryKeySelective(summitActivity);
}
public List<SummitActivityVo> getHostWithSummitActivity(Integer num, Integer location) {
List<SummitActivityVo> summitActivityVos = new ArrayList<>();
Example example = new Example(SummitActivity.class);
Example.Criteria criteria = example.createCriteria();
//未删除
criteria.andEqualTo("isDel", 0);
//已发布
criteria.andEqualTo("isPublish", 1);
//活动未下架
criteria.andEqualTo("isShow", 1);
//位置
criteria.andIn("location", Arrays.asList(location, 0));
criteria.andGreaterThan("endTime", Instant.now().toEpochMilli());
List<SummitActivity> summitActivities = mapper.selectByExample(example);
if (CollectionUtils.isNotEmpty(summitActivities)) {
SummitActivityVo summitActivityVo;
if (summitActivities.size() <= num) {
for (SummitActivity summitActivity : summitActivities) {
summitActivityVo = new SummitActivityVo();
summitActivityVo.setId(summitActivity.getId());
summitActivityVo.setBanner(summitActivity.getBanner());
summitActivityVo.setTitle(summitActivity.getTitle());
summitActivityVos.add(summitActivityVo);
}
} else {
Set<Integer> resultSet = new HashSet<>();
RandomUtil.randomSet(summitActivities.size(), num, resultSet);
for (Integer i : resultSet) {
summitActivityVo = new SummitActivityVo();
SummitActivity summitActivity = summitActivities.get(i);
summitActivityVo.setId(summitActivity.getId());
summitActivityVo.setBanner(summitActivity.getBanner());
summitActivityVo.setTitle(summitActivity.getTitle());
summitActivityVos.add(summitActivityVo);
}
}
}
return summitActivityVos;
}
}
\ No newline at end of file
......@@ -43,9 +43,9 @@ public class SummitActivityController{
@ApiOperation("热门推荐获取")
@GetMapping("/hot")
public ObjectRestResponse<Void> findHotWithSummitActivity(@RequestParam(value = "num",required = false,defaultValue = "3") Integer num){
// List<> summitActivityBiz.getHostWithSummitActivity(num);
return ObjectRestResponse.succ();
public ObjectRestResponse<List<SummitActivityVo>> findHotWithSummitActivity(@RequestParam(value = "num",required = false,defaultValue = "2") Integer num,@RequestParam(value = "location",defaultValue = "1",required = false) Integer location){
List<SummitActivityVo> summitActivityVos = summitActivityBiz.getHostWithSummitActivity(num,location);
return ObjectRestResponse.succ(summitActivityVos);
}
}
\ No newline at end of file
......@@ -1028,6 +1028,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
}
if(MapUtils.isNotEmpty(yearMonthAndParam)){
params.put("yearMonthAndParam",yearMonthAndParam);
String bitStr = "";
for(String key : yearMonthAndParam.keySet()) {
bitStr+= "1";
}
params.put("yearMonthAndParamBitStr", bitStr);
}
}
......
......@@ -344,7 +344,7 @@
</select>
<select id="selectByNumberPlate" resultType="com.xxfc.platform.vehicle.entity.Vehicle">
select * from vehicle
where number_plate = #{numberPlate} and is_del=0
where number_plate = #{numberPlate} and is_del=0
</select>
<select id="selectById" resultMap="searchModel">
......@@ -523,16 +523,14 @@
<!-- yearNo4Where 标识时间参数不用于where条件,用于select部分 -->
<if test=" yearMonthAndParam !=null and yearNo4Where != null and yearNo4Where == true">
,(max(
<foreach collection="yearMonthAndParam" index="yearMonth" item="andOperation" separator="and">
<include refid="yearMonthAndParamSql"></include>
</foreach>
vbi.bit_str = #{yearMonthAndParamBitStr}
<!-- 租车列表 不过滤前后预约记录不符的车辆 但是合并标示车型是否有车 即 hasVehicle-->
<if test="withoutRecordWhere != null and withoutRecordWhere = 1 and startCompanyId != null and endCompanyId != null ">
and (abr.to_lift_company is null or abr.to_lift_company = #{startCompanyId})
and (abr.to_return_company is null or abr.to_return_company = #{endCompanyId})
</if>
)
)as hasVehicle
) as hasVehicle
</if>
<if test="lon != null and lat != null">
,st_distance_sphere(point(#{lon}, #{lat}), point(bc.longitude, bc.latitude)) as distance
......@@ -604,9 +602,9 @@
<if test="lon != null and lat != null">
,st_distance_sphere(point(#{lon}, #{lat}), point(bc.longitude, bc.latitude)) as distance
</if>
<if test=" yearMonthAndParam !=null ">
,ifnull(vbi.booked_date,0) as booked_date
</if>
<!-- <if test=" yearMonthAndParam !=null ">-->
<!-- ,ifnull(vbi.booked_date,0) as booked_date-->
<!-- </if>-->
<include refid="searchUsableSql"/>
<if test="lon != null and lat != null">
order by
......@@ -618,8 +616,18 @@
<sql id="searchUsableSql">
from vehicle v
<if test=" yearMonthAndParam !=null ">
left join
vehicle_book_info vbi on v.`id` = vbi.vehicle
left join (
select
vbi.vehicle,
BIT_OR(
CONCAT(
<foreach collection="yearMonthAndParam" index="yearMonth" item="andOperation" separator=",">
<include refid="yearMonthAndParamSql"></include>
</foreach>
)
) as bit_str
from vehicle_book_info vbi group by vbi.vehicle
) vbi on v.`id` = vbi.vehicle
</if>
left join vehicle_model vm on v.model_id = vm.id
left join branch_company bc on v.park_branch_company_id = bc.id
......@@ -634,11 +642,8 @@
<where>
<!-- 若需根据预定日期条件查询,针对换为位操作 -->
<!-- yearNo4Where 标识时间参数是否用于where条件 -->
<if test=" yearMonthAndParam !=null and yearNo4Where == null">
<foreach collection="yearMonthAndParam" index="yearMonth" item="andOperation">
and
<include refid="yearMonthAndParamSql"></include>
</foreach>
<if test=" yearMonthAndParam !=null and yearMonthAndParam != null and yearNo4Where == null">
vbi.bit_str = #{yearMonthAndParamBitStr}
</if>
<!-- 根据前后record 过滤车辆 -->
......
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