Commit 8fad7fb7 authored by libin's avatar libin

Merge branch 'dev' into base-modify

parents 2de0ccfa 01dc4858
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
<groupId>com.xxfc.common</groupId> <groupId>com.xxfc.common</groupId>
<artifactId>xx-common-platform-web</artifactId> <artifactId>xx-common-platform-web</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<relativePath>../../xx-common/xx-common-platform-web/pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.xxfc.platform</groupId> <groupId>com.xxfc.platform</groupId>
......
...@@ -19,6 +19,9 @@ public interface ConfigFeign { ...@@ -19,6 +19,9 @@ public interface ConfigFeign {
*/ */
public static final int TYPE_CUS_SER = 400; public static final int TYPE_CUS_SER = 400;
//旅游提前天数
public static final int TYPE_TOUR_DAYS=99;
@RequestMapping(value = "/cofig/app/unauth/types",method = RequestMethod.GET) @RequestMapping(value = "/cofig/app/unauth/types",method = RequestMethod.GET)
ObjectRestResponse<List<Cofig>> getAllByType(@RequestParam("types") String types); ObjectRestResponse<List<Cofig>> getAllByType(@RequestParam("types") String types);
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
<groupId>com.xxfc.common</groupId> <groupId>com.xxfc.common</groupId>
<artifactId>xx-common-platform-web</artifactId> <artifactId>xx-common-platform-web</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<relativePath>../../xx-common/xx-common-platform-web/pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.xxfc.platform</groupId> <groupId>com.xxfc.platform</groupId>
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
<artifactId>xx-common-platform-web</artifactId> <artifactId>xx-common-platform-web</artifactId>
<groupId>com.xxfc.common</groupId> <groupId>com.xxfc.common</groupId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<relativePath>../../xx-common/xx-common-platform-web/pom.xml</relativePath>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
......
...@@ -145,7 +145,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To ...@@ -145,7 +145,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
//扣減庫存 //扣減庫存
ObjectRestResponse<TourSpePriceVo> response = tourFeign.stock(bo.getSpePriceId(), bo.getTotalNumber(), TourFeign.STOCK_SUBTRACT); ObjectRestResponse<TourSpePriceVo> response = tourFeign.stock(bo.getSpePriceId(), bo.getTotalNumber(), TourFeign.STOCK_SUBTRACT);
if(!SYS_JSON_TRUE.equals(response.getStatus())) { if(!SYS_JSON_TRUE.equals(response.getStatus())) {
throw new BaseException(ResultCode.PARAM_EPIRE_CODE, Sets.newSet("库存不足")); throw new BaseException(ResultCode.PARAM_EPIRE_CODE, Sets.newSet(response.getMessage()));
} }
......
...@@ -18,6 +18,13 @@ ...@@ -18,6 +18,13 @@
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-app-api</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -4,6 +4,8 @@ import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; ...@@ -4,6 +4,8 @@ import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.app.entity.Cofig;
import com.xxfc.platform.app.feign.ConfigFeign;
import com.xxfc.platform.tour.dto.GoodBannerDTO; import com.xxfc.platform.tour.dto.GoodBannerDTO;
import com.xxfc.platform.tour.dto.GoodTagDTO; import com.xxfc.platform.tour.dto.GoodTagDTO;
import com.xxfc.platform.tour.entity.TourGood; import com.xxfc.platform.tour.entity.TourGood;
...@@ -45,6 +47,8 @@ public class TourGoodDetailBiz extends BaseBiz<TourGoodMapper, TourGood> { ...@@ -45,6 +47,8 @@ public class TourGoodDetailBiz extends BaseBiz<TourGoodMapper, TourGood> {
private UserFeign userFeign; private UserFeign userFeign;
@Autowired @Autowired
TourGoodBannerMapper bannerMapper; TourGoodBannerMapper bannerMapper;
@Autowired
ConfigFeign configFeign;
//获取商品详情 //获取商品详情
public ObjectRestResponse<TourGoodDetailVo> getGoodDetaileById(Integer id) { public ObjectRestResponse<TourGoodDetailVo> getGoodDetaileById(Integer id) {
...@@ -79,7 +83,7 @@ public class TourGoodDetailBiz extends BaseBiz<TourGoodMapper, TourGood> { ...@@ -79,7 +83,7 @@ public class TourGoodDetailBiz extends BaseBiz<TourGoodMapper, TourGood> {
List<GoodBannerDTO> bannerList = bannerMapper.getBannerList(id); List<GoodBannerDTO> bannerList = bannerMapper.getBannerList(id);
detailVo.setBannerDTOS(bannerList); detailVo.setBannerDTOS(bannerList);
//获取出行时间 //获取出行时间
List<TourDepartTimeVo> timelist = priceMapper.getAllByGoodId(id); List<TourDepartTimeVo> timelist = priceMapper.getAllByGoodId(id,getTourDays());
detailVo.setTourDepartTimeVo(timelist); detailVo.setTourDepartTimeVo(timelist);
Integer stock=priceMapper.getTotalStock(id); Integer stock=priceMapper.getTotalStock(id);
detailVo.setStock(stock); detailVo.setStock(stock);
...@@ -109,7 +113,7 @@ public class TourGoodDetailBiz extends BaseBiz<TourGoodMapper, TourGood> { ...@@ -109,7 +113,7 @@ public class TourGoodDetailBiz extends BaseBiz<TourGoodMapper, TourGood> {
BeanUtils.copyProperties(detailVo, TourGood); BeanUtils.copyProperties(detailVo, TourGood);
BigDecimal price = detailVo.getPrice(); BigDecimal price = detailVo.getPrice();
//获取出行时间 //获取出行时间
List<TourDepartTimeVo> timelist = priceMapper.getAllByGoodId(id); List<TourDepartTimeVo> timelist = priceMapper.getAllByGoodId(id,getTourDays());
detailVo.setTourDepartTimeVo(timelist); detailVo.setTourDepartTimeVo(timelist);
//获取出发地点 //获取出发地点
List<TourDepartVo> departList = siteMapper.getlistByGoodId(id); List<TourDepartVo> departList = siteMapper.getlistByGoodId(id);
...@@ -135,5 +139,19 @@ public class TourGoodDetailBiz extends BaseBiz<TourGoodMapper, TourGood> { ...@@ -135,5 +139,19 @@ public class TourGoodDetailBiz extends BaseBiz<TourGoodMapper, TourGood> {
return selectById(id); return selectById(id);
} }
//获取旅游天数
public Integer getTourDays(){
try {
List<Cofig> list=configFeign.getAllByType(ConfigFeign.TYPE_TOUR_DAYS+"").getData();
if (list!=null && list.size()>0){
String params=list.get(0).getValue();
return Integer.parseInt(params);
}
}catch (Exception e){
e.printStackTrace();
}
return 0;
}
} }
\ No newline at end of file
...@@ -11,11 +11,13 @@ import com.xxfc.platform.tour.mapper.TourGoodSpePriceMapper; ...@@ -11,11 +11,13 @@ import com.xxfc.platform.tour.mapper.TourGoodSpePriceMapper;
import com.xxfc.platform.tour.vo.TourSpePriceVo; import com.xxfc.platform.tour.vo.TourSpePriceVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -30,6 +32,9 @@ import java.util.List; ...@@ -30,6 +32,9 @@ import java.util.List;
@Slf4j @Slf4j
public class TourGoodSpeBiz extends BaseBiz<TourGoodSpePriceMapper, TourGoodSpePrice> { public class TourGoodSpeBiz extends BaseBiz<TourGoodSpePriceMapper, TourGoodSpePrice> {
@Autowired
TourGoodDetailBiz goodDetailBiz;
public ObjectRestResponse<TourSpePriceVo> getPricesByuserid(TourSpePriceDTO priceDto) { public ObjectRestResponse<TourSpePriceVo> getPricesByuserid(TourSpePriceDTO priceDto) {
if (priceDto == null || priceDto.getUserId() == null || priceDto.getUserId() == 0 || if (priceDto == null || priceDto.getUserId() == null || priceDto.getUserId() == 0 ||
priceDto.getNumber() == null || priceDto.getNumber() == 0||priceDto.getSpeId()==null) { priceDto.getNumber() == null || priceDto.getNumber() == 0||priceDto.getSpeId()==null) {
...@@ -89,6 +94,9 @@ public class TourGoodSpeBiz extends BaseBiz<TourGoodSpePriceMapper, TourGoodSpeP ...@@ -89,6 +94,9 @@ public class TourGoodSpeBiz extends BaseBiz<TourGoodSpePriceMapper, TourGoodSpeP
TourGoodSpePrice spePrice = mapper.selectByPrimaryKey(speId); TourGoodSpePrice spePrice = mapper.selectByPrimaryKey(speId);
if(type==1){ if(type==1){
if (spePrice != null && spePrice.getStock() > 0 && spePrice.getStock() >= number) { if (spePrice != null && spePrice.getStock() > 0 && spePrice.getStock() >= number) {
if (!checkTime(spePrice.getStartTime())){
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE, "该日期已超过系统限制");
}
mapper.updStockById(speId, number,type); mapper.updStockById(speId, number,type);
} else { } else {
return ObjectRestResponse.createFailedResult(ResultCode.STOCK_CODE, "库存不足"); return ObjectRestResponse.createFailedResult(ResultCode.STOCK_CODE, "库存不足");
...@@ -109,4 +117,25 @@ public class TourGoodSpeBiz extends BaseBiz<TourGoodSpePriceMapper, TourGoodSpeP ...@@ -109,4 +117,25 @@ public class TourGoodSpeBiz extends BaseBiz<TourGoodSpePriceMapper, TourGoodSpeP
TourGoodSpePrice spePrice = mapper.selectOne(tourGoodSpePrice); TourGoodSpePrice spePrice = mapper.selectOne(tourGoodSpePrice);
return spePrice.getStartTime(); return spePrice.getStartTime();
} }
public boolean checkTime(Date startTime){
try {
Date endTime=new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
long startDateTime = dateFormat.parse(dateFormat.format(startTime)).getTime();
long endDateTime = dateFormat.parse(dateFormat.format(endTime)).getTime();
if (startDateTime<=endDateTime){
return false;
}
int days=(int)((startDateTime - endDateTime) / (1000 * 3600 * 24));
int tourDays=goodDetailBiz.getTourDays();
if (days>0&&days>=tourDays){
return true;
}
return false;
}catch (Exception e){
e.printStackTrace();
return false;
}
}
} }
\ No newline at end of file
...@@ -16,7 +16,7 @@ import java.util.List; ...@@ -16,7 +16,7 @@ import java.util.List;
*/ */
public interface TourGoodSpePriceMapper extends Mapper<TourGoodSpePrice> { public interface TourGoodSpePriceMapper extends Mapper<TourGoodSpePrice> {
List<TourDepartTimeVo> getAllByGoodId(@Param("goodId") Integer goodId); List<TourDepartTimeVo> getAllByGoodId(@Param("goodId") Integer goodId,Integer days);
//获取总库存 //获取总库存
Integer getTotalStock(@Param("goodId") Integer goodId); Integer getTotalStock(@Param("goodId") Integer goodId);
......
...@@ -2,6 +2,7 @@ package com.xxfc.platform.tour.rest; ...@@ -2,6 +2,7 @@ package com.xxfc.platform.tour.rest;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.tour.biz.TourGoodSpeBiz; import com.xxfc.platform.tour.biz.TourGoodSpeBiz;
import com.xxfc.platform.tour.common.TourBaseController; import com.xxfc.platform.tour.common.TourBaseController;
import com.xxfc.platform.tour.dto.TourSpePriceDTO; import com.xxfc.platform.tour.dto.TourSpePriceDTO;
...@@ -31,7 +32,13 @@ public class TourGoodSpeController extends TourBaseController<TourGoodSpeBiz> { ...@@ -31,7 +32,13 @@ public class TourGoodSpeController extends TourBaseController<TourGoodSpeBiz> {
@RequestParam(value = "number",defaultValue = "0") Integer number, @RequestParam(value = "number",defaultValue = "0") Integer number,
@RequestParam(value = "type",defaultValue = "1") Integer type @RequestParam(value = "type",defaultValue = "1") Integer type
){ ){
return baseBiz.cutStock(speId,number,type); try {
return baseBiz.cutStock(speId,number,type);
}catch (Exception e){
e.printStackTrace();
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"网络异常,稍后重试");
}
} }
@GetMapping("/departure_date") @GetMapping("/departure_date")
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<!-- 获取出行时间 --> <!-- 获取出行时间 -->
<select id="getAllByGoodId" resultMap="tourDepartTimeVoMap"> <select id="getAllByGoodId" resultMap="tourDepartTimeVoMap">
SELECT id,good_id,DATE_FORMAT(start_time,'%Y-%m-%d') as start_time,DATE_FORMAT(end_time,'%Y-%m-%d') as end_time,spe_id,price,child_price,member_price,stock, SELECT id,good_id,DATE_FORMAT(start_time,'%Y-%m-%d') as start_time,DATE_FORMAT(end_time,'%Y-%m-%d') as end_time,spe_id,price,child_price,member_price,stock,
DATE_FORMAT(start_time,'%w') as startWeek,DATE_FORMAT(end_time,'%w') as endWeek,IF(IFNULL(DATEDIFF(start_time,NOW()),0)>0,'0','1') as overdue DATE_FORMAT(start_time,'%w') as startWeek,DATE_FORMAT(end_time,'%w') as endWeek,IF(IFNULL(DATEDIFF(start_time,NOW()),0)>=#{days},'0','1') as overdue
FROM tour_good_spe_price WHERE good_id=#{goodId} and is_del=0 ORDER BY start_time FROM tour_good_spe_price WHERE good_id=#{goodId} and is_del=0 ORDER BY start_time
</select> </select>
......
...@@ -202,6 +202,10 @@ public class SummitActivity implements Serializable { ...@@ -202,6 +202,10 @@ public class SummitActivity implements Serializable {
@ApiModelProperty(value = "创建时间", hidden = true) @ApiModelProperty(value = "创建时间", hidden = true)
private Long crtTime; private Long crtTime;
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间")
private Long updTime;
/** /**
* 活动对象说明(不展示) * 活动对象说明(不展示)
*/ */
......
...@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
/** /**
* @author libin * @author libin
...@@ -15,56 +16,110 @@ import java.io.Serializable; ...@@ -15,56 +16,110 @@ import java.io.Serializable;
public class SummitActivityAdminVo implements Serializable { public class SummitActivityAdminVo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Integer id; private Integer id;
@ApiModelProperty(value = "活动主标题") @ApiModelProperty(value = "活动主标题")
private String title; private String title;
@ApiModelProperty(value = "副标题(不展示)")
private String subtitle;
@ApiModelProperty(value = "活动主图") @ApiModelProperty(value = "活动主图")
private String banner; private String banner;
@ApiModelProperty(value = "开始时间") @ApiModelProperty(value = "开始时间")
private Long startTime; private Long startTime;
@ApiModelProperty(value = "结束时间") @ApiModelProperty(value = "结束时间")
private Long endTime; private Long endTime;
@ApiModelProperty(value = "报名截止时间(不展示)")
private Long regCloseTime;
@ApiModelProperty(value = "省编码")
private Integer provinceCode;
@ApiModelProperty(value = "省") @ApiModelProperty(value = "省")
private String province; private String province;
@ApiModelProperty(value = "市编码")
private Integer cityCode;
@ApiModelProperty(value = "市") @ApiModelProperty(value = "市")
private String city; private String city;
@ApiModelProperty(value = "县/镇 编码")
private Integer townCode;
@ApiModelProperty(value = "县/镇") @ApiModelProperty(value = "县/镇")
private String town; private String town;
@ApiModelProperty(value = "活动场地(地址格式)") @ApiModelProperty(value = "活动场地(地址格式)")
private String address; private String address;
@ApiModelProperty(value = "纬度(不展示)")
private BigDecimal latitude;
@ApiModelProperty(value = "经度 (不展示)")
private BigDecimal longitude;
@ApiModelProperty(value = "总人数") @ApiModelProperty(value = "总人数")
private Integer limitNum; private Integer limitNum;
@ApiModelProperty(value = "活动图文内容")
private String content;
@ApiModelProperty(value = "活动开关(0关,1开)") @ApiModelProperty(value = "活动开关(0关,1开)")
private Integer isShow; private Integer isShow;
@ApiModelProperty(value = "报名开关(0开,1关)") @ApiModelProperty(value = "报名开关(0开,1关)")
private Integer isOpenReg; private Integer isOpenReg;
@ApiModelProperty(value = "删除(0正常,1删除)")
private Integer isDel;
@ApiModelProperty(value = "0是未发布,1是已发布") @ApiModelProperty(value = "0是未发布,1是已发布")
private Integer isPublish; private Integer isPublish;
@ApiModelProperty(value = "0是普通,1是置顶(首页展示)") @ApiModelProperty(value = "0是普通,1是置顶(首页展示)")
private Integer isHomePage; private Integer isHomePage;
@ApiModelProperty(value = "创建时间", hidden = true) @ApiModelProperty(value = "创建时间", hidden = true)
private Long crtTime; private Long crtTime;
@ApiModelProperty(value = "更新时间")
private Long updTime;
@ApiModelProperty(value = "活动对象说明(不展示)") @ApiModelProperty(value = "活动对象说明(不展示)")
private String actDesc; private String actDesc;
@ApiModelProperty(value = "活动类型(保留,不展示)") @ApiModelProperty(value = "活动类型(保留,不展示)")
private Integer type; private Integer type;
@ApiModelProperty(value = "报名人数(不展示)")
private Integer willNum;
@ApiModelProperty(value = "1:欣欣官网 2:滴房车官网 0:无限制")
private Integer location;
@ApiModelProperty(value = "排序") @ApiModelProperty(value = "排序")
private Integer rank; private Integer rank;
} }
...@@ -20,10 +20,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz; ...@@ -20,10 +20,7 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.time.Instant; import java.time.Instant;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
/** /**
* 峰会活动 * 峰会活动
...@@ -36,26 +33,28 @@ import java.util.Objects; ...@@ -36,26 +33,28 @@ import java.util.Objects;
public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActivity> { public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActivity> {
public List<SummitActivityVo> findSummitActivityForHomePage(Integer limit) { public List<SummitActivityVo> findSummitActivityForHomePage(Integer limit,Integer location) {
Example example = new Example(SummitActivity.class); Example example = new Example(SummitActivity.class);
example.setOrderByClause("rank"); example.setOrderByClause("rank");
Example.Criteria criteria = example.createCriteria(); Example.Criteria criteria = example.createCriteria();
//未删除 //未删除
criteria.andEqualTo("isDel",0); criteria.andEqualTo("isDel", 0);
//是首页展示 //是首页展示
criteria.andEqualTo("isHomePage",1); criteria.andEqualTo("isHomePage", 1);
//已发布 //已发布
criteria.andEqualTo("isPublish",1); criteria.andEqualTo("isPublish", 1);
//活动未下架 //活动未下架
criteria.andEqualTo("isShow",0); criteria.andEqualTo("isShow", 1);
//结束时间大于当前时间 //位置
//criteria.andGreaterThanOrEqualTo("endTime", Instant.now().toEpochMilli()); criteria.andIn("location", Arrays.asList(location,0));
PageDataVO<SummitActivity> dataVO = PageDataVO.pageInfo(1, limit, () -> mapper.selectByExample(example)); PageDataVO<SummitActivity> dataVO = PageDataVO.pageInfo(1, limit, () -> mapper.selectByExample(example));
List<SummitActivity> summitActivities = dataVO.getData(); List<SummitActivity> summitActivities = dataVO.getData();
if (CollectionUtils.isEmpty(summitActivities)){ if (CollectionUtils.isEmpty(summitActivities)) {
return Collections.EMPTY_LIST; return Collections.EMPTY_LIST;
} }
return JSON.parseObject(JSON.toJSONString(summitActivities),new TypeReference<List<SummitActivityVo>>(){}); return JSON.parseObject(JSON.toJSONString(summitActivities), new TypeReference<List<SummitActivityVo>>() {
});
} }
public SummitActivityDetailVo findSummitActivityDetailById(Integer id) { public SummitActivityDetailVo findSummitActivityDetailById(Integer id) {
...@@ -66,20 +65,20 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv ...@@ -66,20 +65,20 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
} }
public PageDataVO<SummitActivityAdminVo> listSummitActivityWithPage(SummitActivityFindDTO summitActivityFindDTO) { public PageDataVO<SummitActivityAdminVo> listSummitActivityWithPage(SummitActivityFindDTO summitActivityFindDTO) {
PageDataVO<SummitActivityAdminVo> activityAdminVoPageDataVO = new PageDataVO<>(); PageDataVO<SummitActivityAdminVo> activityAdminVoPageDataVO = new PageDataVO<>();
Example example = new Example(SummitActivity.class); Example example = new Example(SummitActivity.class);
example.setOrderByClause("crt_time"); example.setOrderByClause("crt_time");
Example.Criteria criteria = example.createCriteria(); Example.Criteria criteria = example.createCriteria();
if (StringUtils.isNotEmpty(summitActivityFindDTO.getTitle())){ if (StringUtils.isNotEmpty(summitActivityFindDTO.getTitle())) {
criteria.andLike("title",String.format("%%%s%%",summitActivityFindDTO.getTitle())); criteria.andLike("title", String.format("%%%s%%", summitActivityFindDTO.getTitle()));
} }
criteria.andEqualTo("isDel",0); criteria.andEqualTo("isDel", 0);
/* if (Objects.nonNull(summitActivityFindDTO.getStartTime()) && Objects.nonNull(summitActivityFindDTO.getEndTime())){ /* if (Objects.nonNull(summitActivityFindDTO.getStartTime()) && Objects.nonNull(summitActivityFindDTO.getEndTime())){
criteria.andBetween("") criteria.andBetween("")
}*/ }*/
PageDataVO<SummitActivity> pageDataVO = PageDataVO.pageInfo(summitActivityFindDTO.getPage(),summitActivityFindDTO.getLimit(),()->mapper.selectByExample(example)); PageDataVO<SummitActivity> pageDataVO = PageDataVO.pageInfo(summitActivityFindDTO.getPage(), summitActivityFindDTO.getLimit(), () -> mapper.selectByExample(example));
List<SummitActivity> data = pageDataVO.getData(); List<SummitActivity> data = pageDataVO.getData();
if (CollectionUtils.isEmpty(data)){ if (CollectionUtils.isEmpty(data)) {
return activityAdminVoPageDataVO; return activityAdminVoPageDataVO;
} }
...@@ -87,7 +86,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv ...@@ -87,7 +86,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivityAdminVo summitActivityAdminVo; SummitActivityAdminVo summitActivityAdminVo;
for (SummitActivity summitActivity : data) { for (SummitActivity summitActivity : data) {
summitActivityAdminVo = new SummitActivityAdminVo(); summitActivityAdminVo = new SummitActivityAdminVo();
BeanUtils.copyProperties(summitActivity,summitActivityAdminVo); BeanUtils.copyProperties(summitActivity, summitActivityAdminVo);
summitActivityAdminVos.add(summitActivityAdminVo); summitActivityAdminVos.add(summitActivityAdminVo);
} }
activityAdminVoPageDataVO.setTotalCount(pageDataVO.getTotalCount()); activityAdminVoPageDataVO.setTotalCount(pageDataVO.getTotalCount());
...@@ -100,14 +99,15 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv ...@@ -100,14 +99,15 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
public void saveSummitActivity(SummitActivitySaveDTO summitActivitySaveDTO, UserDTO userDTO) { public void saveSummitActivity(SummitActivitySaveDTO summitActivitySaveDTO, UserDTO userDTO) {
SummitActivity summitActivity = new SummitActivity(); SummitActivity summitActivity = new SummitActivity();
if (Objects.isNull(summitActivitySaveDTO.getId())){ if (Objects.isNull(summitActivitySaveDTO.getId())) {
BeanUtils.copyProperties(summitActivitySaveDTO,summitActivity); BeanUtils.copyProperties(summitActivitySaveDTO, summitActivity);
summitActivity.setCrtName(userDTO.getUsername()); summitActivity.setCrtName(userDTO.getUsername());
summitActivity.setCrtUser(userDTO.getId()); summitActivity.setCrtUser(userDTO.getId());
summitActivity.setCrtTime(Instant.now().toEpochMilli()); summitActivity.setCrtTime(Instant.now().toEpochMilli());
mapper.insertSelective(summitActivity); mapper.insertSelective(summitActivity);
}else { } else {
BeanUtils.copyProperties(summitActivitySaveDTO,summitActivity); BeanUtils.copyProperties(summitActivitySaveDTO, summitActivity);
summitActivity.setUpdTime(Instant.now().toEpochMilli());
mapper.updateByPrimaryKeySelective(summitActivity); mapper.updateByPrimaryKeySelective(summitActivity);
} }
} }
...@@ -150,7 +150,20 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv ...@@ -150,7 +150,20 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
public SummitActivitySaveDTO selectSummitActivityById(Integer id) { public SummitActivitySaveDTO selectSummitActivityById(Integer id) {
SummitActivitySaveDTO summitActivitySaveDTO = new SummitActivitySaveDTO(); SummitActivitySaveDTO summitActivitySaveDTO = new SummitActivitySaveDTO();
SummitActivity summitActivity = mapper.selectByPrimaryKey(id); SummitActivity summitActivity = mapper.selectByPrimaryKey(id);
BeanUtils.copyProperties(summitActivity,summitActivitySaveDTO); BeanUtils.copyProperties(summitActivity, summitActivitySaveDTO);
return summitActivitySaveDTO; return summitActivitySaveDTO;
} }
/**
* 更改排序
*
* @param id
* @param rank
*/
public void updateSummitActivityRankById(Integer id, Integer rank) {
SummitActivity summitActivity = new SummitActivity();
summitActivity.setId(id);
summitActivity.setRank(rank);
mapper.updateByPrimaryKeySelective(summitActivity);
}
} }
\ No newline at end of file
...@@ -28,9 +28,9 @@ public class SummitActivityController{ ...@@ -28,9 +28,9 @@ public class SummitActivityController{
@ApiOperation("官网首页展示") @ApiOperation("官网首页展示")
@GetMapping("/home") @GetMapping("/home")
public ObjectRestResponse<List<SummitActivityVo>> findSummitActivityForHomePage(@RequestParam(defaultValue = "5",required = false) Integer limit){ public ObjectRestResponse<List<SummitActivityVo>> findSummitActivityForHomePage(@RequestParam(defaultValue = "5",required = false) Integer limit,@RequestParam(value = "location",defaultValue = "1",required = false) Integer location){
List<SummitActivityVo> summitActivityVos = summitActivityBiz.findSummitActivityForHomePage(limit); List<SummitActivityVo> summitActivityVos = summitActivityBiz.findSummitActivityForHomePage(limit,location);
return ObjectRestResponse.succ(summitActivityVos); return ObjectRestResponse.succ(summitActivityVos);
} }
...@@ -40,4 +40,12 @@ public class SummitActivityController{ ...@@ -40,4 +40,12 @@ public class SummitActivityController{
SummitActivityDetailVo summitActivityDetailVo = summitActivityBiz.findSummitActivityDetailById(id); SummitActivityDetailVo summitActivityDetailVo = summitActivityBiz.findSummitActivityDetailById(id);
return ObjectRestResponse.succ(summitActivityDetailVo); return ObjectRestResponse.succ(summitActivityDetailVo);
} }
@ApiOperation("热门推荐获取")
@GetMapping("/hot")
public ObjectRestResponse<Void> findHotWithSummitActivity(@RequestParam(value = "num",required = false,defaultValue = "3") Integer num){
// List<> summitActivityBiz.getHostWithSummitActivity(num);
return ObjectRestResponse.succ();
}
} }
\ No newline at end of file
...@@ -7,6 +7,7 @@ import com.xxfc.platform.uccn.biz.SummitActivityBiz; ...@@ -7,6 +7,7 @@ import com.xxfc.platform.uccn.biz.SummitActivityBiz;
import com.xxfc.platform.uccn.dto.SummitActivityFindDTO; import com.xxfc.platform.uccn.dto.SummitActivityFindDTO;
import com.xxfc.platform.uccn.dto.SummitActivitySaveDTO; import com.xxfc.platform.uccn.dto.SummitActivitySaveDTO;
import com.xxfc.platform.uccn.vo.SummitActivityAdminVo; import com.xxfc.platform.uccn.vo.SummitActivityAdminVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
@RestController @RestController
@RequestMapping("/admin/summitActivity") @RequestMapping("/admin/summitActivity")
@RequiredArgsConstructor(onConstructor = @__(@Autowired)) @RequiredArgsConstructor(onConstructor = @__(@Autowired))
@Api("峰会活动*后台")
public class SummitActivityAdminController { public class SummitActivityAdminController {
private final SummitActivityBiz summitActivityBiz; private final SummitActivityBiz summitActivityBiz;
...@@ -75,6 +77,13 @@ public class SummitActivityAdminController { ...@@ -75,6 +77,13 @@ public class SummitActivityAdminController {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
@ApiOperation("更改排序")
@PutMapping("/rank/{id}/{rank}")
public ObjectRestResponse<Void> setSummitActivityRank(@PathVariable(value = "id") Integer id,@PathVariable("rank") Integer rank){
summitActivityBiz.updateSummitActivityRankById(id,rank);
return ObjectRestResponse.succ();
}
@ApiOperation("删除活动") @ApiOperation("删除活动")
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
public ObjectRestResponse<Void> deleteSummitActivity(@PathVariable(value = "id") Integer id){ public ObjectRestResponse<Void> deleteSummitActivity(@PathVariable(value = "id") Integer id){
......
...@@ -67,15 +67,15 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -67,15 +67,15 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
int endHour = new DateTime(endDate).hourOfDay().get(); int endHour = new DateTime(endDate).hourOfDay().get();
//获取开始天的预定小时 //获取开始天的预定小时
int startPredictableHour = 0; int startPredictableHour = 0;
for (int curentHour = hour; curentHour <= 23; curentHour++) { for (int curentHour = hour; curentHour <= 23; curentHour++) {
startPredictableHour |= 1 << (curentHour); startPredictableHour |= 1 << (curentHour);
} }
//获取结束天的预定小时 //获取结束天的预定小时
int endPredictableHour = 0; int endPredictableHour = 0;
for (int curentHour = 0; curentHour <= endHour; curentHour++) { for (int curentHour = 0; curentHour <= endHour; curentHour++) {
endPredictableHour |= 1 << (curentHour); endPredictableHour |= 1 << (curentHour);
} }
DateTime startDay = DateTime.parse(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), DATE_TIME_FORMATTER); DateTime startDay = DateTime.parse(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), DATE_TIME_FORMATTER);
DateTime endDay = DateTime.parse(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), DATE_TIME_FORMATTER); DateTime endDay = DateTime.parse(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), DATE_TIME_FORMATTER);
if(startPredictableHour == 0) { //如果是0点就直接预订全天 if(startPredictableHour == 0) { //如果是0点就直接预订全天
...@@ -83,12 +83,12 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -83,12 +83,12 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
} }
if(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER).equals(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER))) {//同一天预定 if(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER).equals(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER))) {//同一天预定
//如果开始时间是0点开始 //如果开始时间是0点开始
predictableHours.put(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour & endPredictableHour); predictableHours.put(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour & endPredictableHour);
} else { //非同一天开始 } else { //非同一天开始
predictableHours.put(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour); predictableHours.put(DateTime.parse(bookStartDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), startPredictableHour);
predictableHours.put(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), endPredictableHour); predictableHours.put(DateTime.parse(bookEndDate, DEFAULT_DATE_TIME_FORMATTER).toString(DATE_TIME_FORMATTER), endPredictableHour);
} }
if(endDay.getMillis() - startDay.getMillis() > 24 * 3600 * 1000){ // if(endDay.getMillis() - startDay.getMillis() > 24 * 3600 * 1000 ){ //
for (DateTime curDate = startDay.plusDays(1); curDate.compareTo(endDay) < 0; curDate = curDate.plusDays(1)) { for (DateTime curDate = startDay.plusDays(1); curDate.compareTo(endDay) < 0; curDate = curDate.plusDays(1)) {
String curDateStr = curDate.toString(DATE_TIME_FORMATTER); String curDateStr = curDate.toString(DATE_TIME_FORMATTER);
//全天预定 //全天预定
...@@ -145,15 +145,15 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -145,15 +145,15 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
@Transactional @Transactional
@CacheClear(key = "vehicle.hourInfo") @CacheClear(key = "vehicle.hourInfo")
public ObjectRestResponse delete(String vehicleId, List<String> dateList) { public ObjectRestResponse delete(String vehicleId, List<String> dateList) {
if(StringUtils.isBlank(vehicleId) || dateList.size() <= 0) { if(StringUtils.isBlank(vehicleId) || dateList.size() <= 0) {
return ObjectRestResponse.paramIsEmpty(); return ObjectRestResponse.paramIsEmpty();
} }
Map<String, Object> param = Maps.newHashMap(); Map<String, Object> param = Maps.newHashMap();
param.put("vehicleId", vehicleId); param.put("vehicleId", vehicleId);
param.put("list", dateList); param.put("list", dateList);
List<VehicleBookHourInfo> list = mapper.selectByVehicleAndDateList(param); List<VehicleBookHourInfo> list = mapper.selectByVehicleAndDateList(param);
list.forEach((a) -> mapper.delete(a)); list.forEach((a) -> mapper.delete(a));
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
public ObjectRestResponse checkBookHourInfo() { public ObjectRestResponse checkBookHourInfo() {
......
...@@ -70,6 +70,9 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use ...@@ -70,6 +70,9 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
@Autowired @Autowired
private VehicleJobHandler vehicleJobHandler; private VehicleJobHandler vehicleJobHandler;
@Autowired
private VehicleBookHourInfoBiz vehicleBookHourInfoBiz;
@Autowired @Autowired
BranchCompanyBiz branchCompanyBiz; BranchCompanyBiz branchCompanyBiz;
@Autowired @Autowired
......
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