Commit 7bc73f87 authored by hanfeng's avatar hanfeng

Merge branch 'dev' of http://113.105.137.151:22280/youjj/cloud-platform into dev-hf

parents 65f697d2 2d58cd6c
...@@ -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>
......
...@@ -105,4 +105,9 @@ public class Banner { ...@@ -105,4 +105,9 @@ public class Banner {
* 位置 banner位置0 所有 1:推荐 2:拍拍 3:短视频 4:问答 * 位置 banner位置0 所有 1:推荐 2:拍拍 3:短视频 4:问答
*/ */
private Integer location; private Integer location;
/**
* 平台 0:APP 1:欣欣房车官网 2:滴房车官网
*/
private Integer platform;
} }
...@@ -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>
......
...@@ -21,20 +21,9 @@ import java.util.List; ...@@ -21,20 +21,9 @@ import java.util.List;
@Service @Service
public class BannerBiz extends BaseBiz<BannerMapper,Banner> { public class BannerBiz extends BaseBiz<BannerMapper,Banner> {
/* @CacheClear(key = RedisKey.CONSTANT_CODE_PREFIX_BANNER) public List<BannerVo> findBannerList(Integer type,Integer location,Integer platform) {
public void update(Banner banner) {
this.updateSelectiveById(banner);
}
@CacheClear(key = RedisKey.CONSTANT_CODE_PREFIX_BANNER)
public void remove(int id) {
this.deleteById(id);
}*/
public List<BannerVo> findBannerList(Integer type,Integer location) {
List<BannerVo> bannerVos = new ArrayList<>(); List<BannerVo> bannerVos = new ArrayList<>();
List<Banner> banners = mapper.findBannerListByType(type,location); List<Banner> banners = mapper.findBannerListByType(type,location,platform);
banners.forEach(banner -> { banners.forEach(banner -> {
BannerVo bannerVo = new BannerVo(); BannerVo bannerVo = new BannerVo();
bannerVo.setCover(banner.getCover()); bannerVo.setCover(banner.getCover());
...@@ -46,30 +35,14 @@ public class BannerBiz extends BaseBiz<BannerMapper,Banner> { ...@@ -46,30 +35,14 @@ public class BannerBiz extends BaseBiz<BannerMapper,Banner> {
return bannerVos; return bannerVos;
} }
/*
*/
/**
* 更改banner信息
* @param banner
* @param userInfo
* @return
*//*
public int update(Banner banner, UserDTO userInfo) {
banner.setUpdName(userInfo.getUsername());
banner.setUpdTime(Instant.now().toEpochMilli());
return mapper.updateByPrimaryKeySelective(banner);
}
*/
/** /**
* 分页查询banner * 分页查询banner
* @param pageNo * @param pageNo
* @param pageSize * @param pageSize
* @return * @return
*/ */
public PageDataVO<Banner> findBannePage(Integer pageNo, Integer pageSize) { public PageDataVO<Banner> findBannePage(Integer pageNo, Integer pageSize,Integer platform) {
return PageDataVO.pageInfo(pageNo, pageSize, () -> mapper.findBannerListByisDelOrderByRank(Banner.builder().isDel(0).build())); return PageDataVO.pageInfo(pageNo, pageSize, () -> mapper.findBannerListByisDelOrderByRank(Banner.builder().isDel(0).platform(platform).build()));
} }
/** /**
......
...@@ -19,10 +19,10 @@ import java.util.List; ...@@ -19,10 +19,10 @@ import java.util.List;
@Repository @Repository
public interface BannerMapper extends Mapper<Banner> { public interface BannerMapper extends Mapper<Banner> {
@Select("select * from `banner` where is_del=#{isDel} order by rank ASC") @Select("select * from `banner` where is_del=#{isDel} and `platform`=#{platform} order by rank ASC")
List<Banner> findBannerListByisDelOrderByRank(Banner banner); List<Banner> findBannerListByisDelOrderByRank(Banner banner);
List<Banner> findBannerListByType(@Param("type") Integer type,@Param("location") Integer location); List<Banner> findBannerListByType(@Param("type") Integer type,@Param("location") Integer location,@Param("platform") Integer platform);
} }
...@@ -25,15 +25,18 @@ public class BannerController { ...@@ -25,15 +25,18 @@ public class BannerController {
private BannerBiz bannerBiz; private BannerBiz bannerBiz;
/** /**
*查询banner图 * 查询banner图
*
* @return * @return
*/ */
@GetMapping("/app/unauth/findBannerlist") @GetMapping("/app/unauth/findBannerlist")
public ObjectRestResponse findBannerlist(@RequestParam("type") Integer type,@RequestParam(required = false,value = "location") Integer location){ public ObjectRestResponse findBannerlist(@RequestParam(value = "type") Integer type,
if (type==null) { @RequestParam(required = false, value = "location") Integer location,
@RequestParam(value = "platform",required = false,defaultValue = "0") Integer platform) {
if (type == null) {
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
} }
List<BannerVo> bannerList = bannerBiz.findBannerList(type,location); List<BannerVo> bannerList = bannerBiz.findBannerList(type, location,platform);
return ObjectRestResponse.succ(bannerList); return ObjectRestResponse.succ(bannerList);
} }
} }
...@@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.*;
*/ */
@RestController @RestController
@RequestMapping("/admin/banner") @RequestMapping("/admin/banner")
@Api(value = "banner后台接口",tags = "banner后台接口") @Api(value = "banner后台接口", tags = "banner后台接口")
public class BannerAdminController { public class BannerAdminController {
@Autowired @Autowired
...@@ -29,14 +29,15 @@ public class BannerAdminController { ...@@ -29,14 +29,15 @@ public class BannerAdminController {
/** /**
* 修改 * 修改
*
* @param banner * @param banner
* @return * @return
*/ */
@PutMapping @PutMapping
@ApiOperation(value = "banner修改",notes = "修改") @ApiOperation(value = "banner修改", notes = "修改")
public ObjectRestResponse<Banner> update(@RequestBody Banner banner, UserDTO userInfo){ public ObjectRestResponse<Banner> update(@RequestBody Banner banner, UserDTO userInfo) {
int effectRows = bannerBiz.save(banner,userInfo); int effectRows = bannerBiz.save(banner, userInfo);
if (effectRows>0){ if (effectRows > 0) {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
...@@ -44,47 +45,51 @@ public class BannerAdminController { ...@@ -44,47 +45,51 @@ public class BannerAdminController {
/** /**
* 根据id查询banner * 根据id查询banner
*
* @param id * @param id
* @return * @return
*/ */
@GetMapping("/{id}") @GetMapping("/{id}")
@ApiOperation(value = "根据id查询banner图",notes = "根据id查询banner图") @ApiOperation(value = "根据id查询banner图", notes = "根据id查询banner图")
public ObjectRestResponse<Banner> findBannerById(@PathVariable Integer id){ public ObjectRestResponse<Banner> findBannerById(@PathVariable Integer id) {
Banner Banner = bannerBiz.selectById(id); Banner Banner = bannerBiz.selectById(id);
return ObjectRestResponse.succ(Banner); return ObjectRestResponse.succ(Banner);
} }
/** /**
* 分页查询banner * 分页查询banner
*
* @param pageNo * @param pageNo
* @param pageSize * @param pageSize
* @return * @return
*/ */
@GetMapping("/page") @GetMapping("/page")
@ApiOperation(value = "banner分页查询",notes = "banner分页查询") @ApiOperation(value = "banner分页查询", notes = "banner分页查询")
@ApiImplicitParams(value = { @ApiImplicitParams(value = {
@ApiImplicitParam(name = "pageNo",paramType = "query",required = false,dataType = "integer",defaultValue = "0"), @ApiImplicitParam(name = "pageNo", paramType = "query", required = false, dataType = "integer", defaultValue = "0"),
@ApiImplicitParam(name = "pageSize",paramType = "query",required = false,dataType = "integer",defaultValue = "10") @ApiImplicitParam(name = "pageSize", paramType = "query", required = false, dataType = "integer", defaultValue = "10")
}) })
public ObjectRestResponse<PageDataVO> findBannerPage(@RequestParam(name = "pageNo",defaultValue = "0",required = false) Integer pageNo, public ObjectRestResponse<PageDataVO> findBannerPage(@RequestParam(name = "pageNo", defaultValue = "0", required = false) Integer pageNo,
@RequestParam(name = "pageSize",defaultValue = "10",required = false) Integer pageSize){ @RequestParam(name = "pageSize", defaultValue = "10", required = false) Integer pageSize,
@RequestParam(name = "platform", defaultValue = "0", required = false) Integer platform) {
PageDataVO<Banner> pageDataVO = bannerBiz.findBannePage(pageNo,pageSize); PageDataVO<Banner> pageDataVO = bannerBiz.findBannePage(pageNo, pageSize, platform);
return ObjectRestResponse.succ(pageDataVO); return ObjectRestResponse.succ(pageDataVO);
} }
/** /**
* 保存banner * 保存banner
*
* @param banner * @param banner
* @return * @return
*/ */
@ApiOperation(value = "banner保存",notes = "banner保存") @ApiOperation(value = "banner保存", notes = "banner保存")
@PostMapping @PostMapping
public ObjectRestResponse<Void> saveBanner(@RequestBody Banner banner,UserDTO userDTO){ public ObjectRestResponse<Void> saveBanner(@RequestBody Banner banner, UserDTO userDTO) {
banner.setIsDel(0); banner.setIsDel(0);
int effectRows = bannerBiz.save(banner,userDTO); int effectRows = bannerBiz.save(banner, userDTO);
if (effectRows>0){ if (effectRows > 0) {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
...@@ -93,14 +98,15 @@ public class BannerAdminController { ...@@ -93,14 +98,15 @@ public class BannerAdminController {
/** /**
* 逻辑删除 * 逻辑删除
*
* @param id * @param id
* @return * @return
*/ */
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
@ApiOperation(value = "banner逻辑删除",notes = "banner逻辑删除") @ApiOperation(value = "banner逻辑删除", notes = "banner逻辑删除")
public ObjectRestResponse<Void> deleteBannerById(@PathVariable Integer id,UserDTO userDTO){ public ObjectRestResponse<Void> deleteBannerById(@PathVariable Integer id, UserDTO userDTO) {
int effectRows = bannerBiz.updateBannerStatus(id,1,userDTO); int effectRows = bannerBiz.updateBannerStatus(id, 1, userDTO);
if (effectRows>0){ if (effectRows > 0) {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
return ObjectRestResponse.createDefaultFail(); return ObjectRestResponse.createDefaultFail();
...@@ -108,11 +114,12 @@ public class BannerAdminController { ...@@ -108,11 +114,12 @@ public class BannerAdminController {
/** /**
* 真实删除 * 真实删除
*
* @param id * @param id
* @return * @return
*/ */
@DeleteMapping("/del/{id}") @DeleteMapping("/del/{id}")
public ObjectRestResponse<Void> deleteReallyBannerById(@PathVariable(value = "id") Integer id){ public ObjectRestResponse<Void> deleteReallyBannerById(@PathVariable(value = "id") Integer id) {
bannerBiz.deleteById(id); bannerBiz.deleteById(id);
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<result property="url" column="url"/> <result property="url" column="url"/>
<result property="isDel" column="is_del"/> <result property="isDel" column="is_del"/>
<result property="location" column="location"/> <result property="location" column="location"/>
<result property="platform" column="platform"/>
</resultMap> </resultMap>
<select id="findBannerListByType" resultMap="bannerMap"> <select id="findBannerListByType" resultMap="bannerMap">
...@@ -22,6 +23,9 @@ ...@@ -22,6 +23,9 @@
<if test="location != null"> <if test="location != null">
and `location`=#{location} and `location`=#{location}
</if> </if>
<if test="platform != null">
and `platform`=#{platform}
</if>
order by rank asc order by rank asc
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -3,6 +3,9 @@ package com.xxfc.platform.campsite.feign; ...@@ -3,6 +3,9 @@ package com.xxfc.platform.campsite.feign;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.GoodDataVO; import com.github.wxiaoqi.security.common.vo.GoodDataVO;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.campsite.vo.CampsiteShopDetailVo;
import com.xxfc.platform.campsite.vo.CampsiteShopPageVo;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -14,13 +17,31 @@ import java.util.List; ...@@ -14,13 +17,31 @@ import java.util.List;
* Created by ace on 2017/9/15. * Created by ace on 2017/9/15.
*/ */
//@FeignClient(value = "${auth.serviceId}",configuration = {}) //@FeignClient(value = "${auth.serviceId}",configuration = {})
@FeignClient("xx-campsite") @FeignClient(name = "xx-campsite",path = "/campsiteShop")
public interface CampsiteFeign { public interface CampsiteFeign {
@ApiOperation("首页营地列表") @ApiOperation("首页营地列表")
@GetMapping(value = "/campsiteShop/app/shopList") @GetMapping(value = "/app/shopList")
public List<GoodDataVO> goodList(@RequestParam(value = "page", defaultValue = "1") Integer page, List<GoodDataVO> goodList(@RequestParam(value = "page", defaultValue = "1") Integer page,
@RequestParam(value = "limit",defaultValue = "4") Integer limit); @RequestParam(value = "limit", defaultValue = "4") Integer limit);
@GetMapping(value = "/campsiteShop/app/unauth/findRandomVehicle")
public ObjectRestResponse findRandomVehicle(@RequestParam(value = "number")Integer number); @GetMapping(value = "/app/unauth/findRandomVehicle")
ObjectRestResponse findRandomVehicle(@RequestParam(value = "number") Integer number);
@ApiOperation("分页查询营地列表")
@GetMapping("/app/unauth/shops")
ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsiteShopPageByType(@RequestParam(value = "type", required = false) Integer type,
@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "6") Integer pageSize);
/**
* @param longitude 经度
* @param latitude 纬度
* @return
*/
@ApiOperation("查询营地详情")
@GetMapping("/app/unauth/shop")
ObjectRestResponse<CampsiteShopDetailVo> findCampsiteShopDetailById(@RequestParam(value = "id") Integer id,
@RequestParam(value = "longitude", required = false) Double longitude,
@RequestParam(value = "latitude", required = false) Double latitude);
} }
...@@ -164,6 +164,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> { ...@@ -164,6 +164,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
} }
campsiteShopDetailVo.setTypeNames(shopTagDTOS == null ? Collections.EMPTY_LIST : shopTagDTOS.stream().map(CampsiteShopTagDTO::getName).collect(Collectors.toList())); campsiteShopDetailVo.setTypeNames(shopTagDTOS == null ? Collections.EMPTY_LIST : shopTagDTOS.stream().map(CampsiteShopTagDTO::getName).collect(Collectors.toList()));
//根据经纬度算距离 //根据经纬度算距离
if(Objects.nonNull(latitude) && Objects.nonNull(longitude)) {
if (campsiteShopDetailDTO.getLongitude() != null && campsiteShopDetailDTO.getLatitude() != null) { if (campsiteShopDetailDTO.getLongitude() != null && campsiteShopDetailDTO.getLatitude() != null) {
double distance = getDistance(campsiteShopDetailDTO.getLongitude(), campsiteShopDetailDTO.getLatitude(), longitude, latitude); double distance = getDistance(campsiteShopDetailDTO.getLongitude(), campsiteShopDetailDTO.getLatitude(), longitude, latitude);
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
...@@ -171,6 +172,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> { ...@@ -171,6 +172,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
} }
campsiteShopDetailVo.setDistance(String.format("%.1f", distance)); campsiteShopDetailVo.setDistance(String.format("%.1f", distance));
} }
}
campsiteValueOperations.set(String.format("%s%d", CAMSITE_DETAIL_CACHE_PREKEY, id), JSONObject.toJSONString(campsiteShopDetailVo)); campsiteValueOperations.set(String.format("%s%d", CAMSITE_DETAIL_CACHE_PREKEY, id), JSONObject.toJSONString(campsiteShopDetailVo));
return campsiteShopDetailVo; return campsiteShopDetailVo;
} }
......
...@@ -48,7 +48,9 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp ...@@ -48,7 +48,9 @@ public class CampsiteShopController extends BaseController<CampsiteShopBiz, Camp
*/ */
@ApiOperation("查询营地详情") @ApiOperation("查询营地详情")
@GetMapping("/app/unauth/shop") @GetMapping("/app/unauth/shop")
public ObjectRestResponse<CampsiteShopDetailVo> findCampsiteShopDetailById(@RequestParam("id") Integer id, @RequestParam("longitude") Double longitude, @RequestParam("latitude") Double latitude) { public ObjectRestResponse<CampsiteShopDetailVo> findCampsiteShopDetailById(@RequestParam(value = "id") Integer id,
@RequestParam(value = "longitude",required = false) Double longitude,
@RequestParam(value = "latitude",required = false) Double latitude) {
CampsiteShopDetailVo campsiteShopDetailVo = getBaseBiz().findCampsiteShopDetailById(id, longitude, latitude); CampsiteShopDetailVo campsiteShopDetailVo = getBaseBiz().findCampsiteShopDetailById(id, longitude, latitude);
return ObjectRestResponse.succ(campsiteShopDetailVo); return ObjectRestResponse.succ(campsiteShopDetailVo);
} }
......
...@@ -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
){ ){
try {
return baseBiz.cutStock(speId,number,type); 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>
......
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 {
}
...@@ -17,4 +17,6 @@ public class SummitActivityFindDTO extends PageParam { ...@@ -17,4 +17,6 @@ public class SummitActivityFindDTO extends PageParam {
private Long endTime; private Long endTime;
private String title; private String title;
private Integer location;
} }
package com.xxfc.platform.uccn.dto; package com.xxfc.platform.uccn.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/** /**
* @author libin * @author libin
* @version 1.0 * @version 1.0
...@@ -9,5 +13,94 @@ import lombok.Data; ...@@ -9,5 +13,94 @@ import lombok.Data;
* @data 2019/8/26 18:54 * @data 2019/8/26 18:54
*/ */
@Data @Data
public class SummitActivitySaveDTO { public class SummitActivitySaveDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
@ApiModelProperty(value = "活动主标题")
private String title;
@ApiModelProperty(value = "副标题(不展示)")
private String subtitle;
@ApiModelProperty(value = "活动主图")
private String banner;
@ApiModelProperty(value = "开始时间")
private Long startTime;
@ApiModelProperty(value = "结束时间")
private Long endTime;
@ApiModelProperty(value = "报名截止时间(不展示)")
private Long regCloseTime;
@ApiModelProperty(value = "省编码")
private Integer provinceCode;
@ApiModelProperty(value = "省")
private String province;
@ApiModelProperty(value = "市编码")
private Integer cityCode;
@ApiModelProperty(value = "市")
private String city;
@ApiModelProperty(value = "县/镇 编码")
private Integer townCode;
@ApiModelProperty(value = "县/镇")
private String town;
@ApiModelProperty(value = "活动场地(地址格式)")
private String address;
@ApiModelProperty(value = "纬度(不展示)")
private BigDecimal latitude;
@ApiModelProperty(value = "经度 (不展示)")
private BigDecimal longitude;
@ApiModelProperty(value = "总人数")
private Integer limitNum;
@ApiModelProperty(value = "活动图文内容")
private String content;
@ApiModelProperty(value = "创建时间", hidden = true)
private Long crtTime;
@ApiModelProperty(value = "活动对象说明(不展示)")
private String actDesc;
@ApiModelProperty(value = "活动类型(保留,不展示)")
private Integer type;
@ApiModelProperty(value = "1:欣欣官网 2:滴房车官网 0:无限制")
private Integer location;
@ApiModelProperty(value = "排序")
private Integer rank;
} }
...@@ -53,14 +53,14 @@ public class SummitActivity implements Serializable { ...@@ -53,14 +53,14 @@ public class SummitActivity implements Serializable {
*/ */
@Column(name = "start_time") @Column(name = "start_time")
@ApiModelProperty(value = "开始时间") @ApiModelProperty(value = "开始时间")
private Integer startTime; private Long startTime;
/** /**
* 结束时间 * 结束时间
*/ */
@Column(name = "end_time") @Column(name = "end_time")
@ApiModelProperty(value = "结束时间") @ApiModelProperty(value = "结束时间")
private Integer endTime; private Long endTime;
/** /**
* 报名截止时间(不展示) * 报名截止时间(不展示)
...@@ -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;
/** /**
* 活动对象说明(不展示) * 活动对象说明(不展示)
*/ */
......
package com.xxfc.platform.uccn.vo; package com.xxfc.platform.uccn.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/** /**
* @author libin * @author libin
* @version 1.0 * @version 1.0
* @description * @description
* @data 2019/8/26 19:00 * @data 2019/8/26 19:00
*/ */
public class SummitActivityAdminVo { @Data
public class SummitActivityAdminVo implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
@ApiModelProperty(value = "活动主标题")
private String title;
@ApiModelProperty(value = "副标题(不展示)")
private String subtitle;
@ApiModelProperty(value = "活动主图")
private String banner;
@ApiModelProperty(value = "开始时间")
private Long startTime;
@ApiModelProperty(value = "结束时间")
private Long endTime;
@ApiModelProperty(value = "报名截止时间(不展示)")
private Long regCloseTime;
@ApiModelProperty(value = "省编码")
private Integer provinceCode;
@ApiModelProperty(value = "省")
private String province;
@ApiModelProperty(value = "市编码")
private Integer cityCode;
@ApiModelProperty(value = "市")
private String city;
@ApiModelProperty(value = "县/镇 编码")
private Integer townCode;
@ApiModelProperty(value = "县/镇")
private String town;
@ApiModelProperty(value = "活动场地(地址格式)")
private String address;
@ApiModelProperty(value = "纬度(不展示)")
private BigDecimal latitude;
@ApiModelProperty(value = "经度 (不展示)")
private BigDecimal longitude;
@ApiModelProperty(value = "总人数")
private Integer limitNum;
@ApiModelProperty(value = "活动图文内容")
private String content;
@ApiModelProperty(value = "活动开关(0关,1开)")
private Integer isShow;
@ApiModelProperty(value = "报名开关(0开,1关)")
private Integer isOpenReg;
@ApiModelProperty(value = "删除(0正常,1删除)")
private Integer isDel;
@ApiModelProperty(value = "0是未发布,1是已发布")
private Integer isPublish;
@ApiModelProperty(value = "0是普通,1是置顶(首页展示)")
private Integer isHomePage;
@ApiModelProperty(value = "创建时间", hidden = true)
private Long crtTime;
@ApiModelProperty(value = "更新时间")
private Long updTime;
@ApiModelProperty(value = "活动对象说明(不展示)")
private String actDesc;
@ApiModelProperty(value = "活动类型(保留,不展示)")
private Integer type;
@ApiModelProperty(value = "报名人数(不展示)")
private Integer willNum;
@ApiModelProperty(value = "1:欣欣官网 2:滴房车官网 0:无限制")
private Integer location;
@ApiModelProperty(value = "排序")
private Integer rank;
} }
package com.xxfc.platform.uccn.vo;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/26 19:01
*/
public class SummitActivityDetailAdminVo {
}
...@@ -31,11 +31,11 @@ public class SummitActivityDetailVo implements Serializable { ...@@ -31,11 +31,11 @@ public class SummitActivityDetailVo implements Serializable {
@ApiModelProperty(value = "开始时间") @ApiModelProperty(value = "开始时间")
private Integer startTime; private Long startTime;
@ApiModelProperty(value = "结束时间") @ApiModelProperty(value = "结束时间")
private Integer endTime; private Long endTime;
@ApiModelProperty(value = "报名截止时间(不展示)") @ApiModelProperty(value = "报名截止时间(不展示)")
......
...@@ -32,11 +32,11 @@ public class SummitActivityVo implements Serializable { ...@@ -32,11 +32,11 @@ public class SummitActivityVo implements Serializable {
@ApiModelProperty(value = "开始时间") @ApiModelProperty(value = "开始时间")
private Integer startTime; private Long startTime;
@ApiModelProperty(value = "结束时间") @ApiModelProperty(value = "结束时间")
private Integer endTime; private Long endTime;
@ApiModelProperty(value = "省") @ApiModelProperty(value = "省")
......
...@@ -33,6 +33,12 @@ ...@@ -33,6 +33,12 @@
<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-campsite-api</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
...@@ -3,24 +3,24 @@ package com.xxfc.platform.uccn.biz; ...@@ -3,24 +3,24 @@ package com.xxfc.platform.uccn.biz;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO; import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.util.RandomUtil;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
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.entity.SummitActivity;
import com.xxfc.platform.uccn.mapper.SummitActivityMapper;
import com.xxfc.platform.uccn.vo.SummitActivityAdminVo; import com.xxfc.platform.uccn.vo.SummitActivityAdminVo;
import com.xxfc.platform.uccn.vo.SummitActivityDetailVo; import com.xxfc.platform.uccn.vo.SummitActivityDetailVo;
import com.xxfc.platform.uccn.vo.SummitActivityVo; import com.xxfc.platform.uccn.vo.SummitActivityVo;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xxfc.platform.uccn.entity.SummitActivity;
import com.xxfc.platform.uccn.mapper.SummitActivityMapper;
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.Collections; import java.util.*;
import java.util.List;
/** /**
* 峰会活动 * 峰会活动
...@@ -33,26 +33,28 @@ import java.util.List; ...@@ -33,26 +33,28 @@ import java.util.List;
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) {
...@@ -63,10 +65,49 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv ...@@ -63,10 +65,49 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
} }
public PageDataVO<SummitActivityAdminVo> listSummitActivityWithPage(SummitActivityFindDTO summitActivityFindDTO) { public PageDataVO<SummitActivityAdminVo> listSummitActivityWithPage(SummitActivityFindDTO summitActivityFindDTO) {
return null; PageDataVO<SummitActivityAdminVo> activityAdminVoPageDataVO = new PageDataVO<>();
Example example = new Example(SummitActivity.class);
example.setOrderByClause("crt_time");
Example.Criteria criteria = example.createCriteria();
if (StringUtils.isNotEmpty(summitActivityFindDTO.getTitle())) {
criteria.andLike("title", String.format("%%%s%%", summitActivityFindDTO.getTitle()));
}
criteria.andEqualTo("isDel", 0);
PageDataVO<SummitActivity> pageDataVO = PageDataVO.pageInfo(summitActivityFindDTO.getPage(), summitActivityFindDTO.getLimit(), () -> mapper.selectByExample(example));
List<SummitActivity> data = pageDataVO.getData();
if (CollectionUtils.isEmpty(data)) {
return activityAdminVoPageDataVO;
}
List<SummitActivityAdminVo> summitActivityAdminVos = new ArrayList<>();
SummitActivityAdminVo summitActivityAdminVo;
for (SummitActivity summitActivity : data) {
summitActivityAdminVo = new SummitActivityAdminVo();
BeanUtils.copyProperties(summitActivity, summitActivityAdminVo);
summitActivityAdminVos.add(summitActivityAdminVo);
}
activityAdminVoPageDataVO.setTotalCount(pageDataVO.getTotalCount());
activityAdminVoPageDataVO.setTotalPage(pageDataVO.getTotalPage());
activityAdminVoPageDataVO.setPageNum(pageDataVO.getPageNum());
activityAdminVoPageDataVO.setPageSize(pageDataVO.getPageSize());
activityAdminVoPageDataVO.setData(summitActivityAdminVos);
return activityAdminVoPageDataVO;
} }
public void saveSummitActivity(SummitActivitySaveDTO summitActivitySaveDTO, UserDTO userDTO) { public void saveSummitActivity(SummitActivitySaveDTO summitActivitySaveDTO, UserDTO userDTO) {
SummitActivity summitActivity = new SummitActivity();
if (Objects.isNull(summitActivitySaveDTO.getId())) {
BeanUtils.copyProperties(summitActivitySaveDTO, summitActivity);
summitActivity.setCrtName(userDTO.getUsername());
summitActivity.setCrtUser(userDTO.getId());
summitActivity.setCrtTime(Instant.now().toEpochMilli());
mapper.insertSelective(summitActivity);
} else {
BeanUtils.copyProperties(summitActivitySaveDTO, summitActivity);
summitActivity.setUpdTime(Instant.now().toEpochMilli());
mapper.updateByPrimaryKeySelective(summitActivity);
}
} }
public void publishSummitActivityById(Integer id, Integer state) { public void publishSummitActivityById(Integer id, Integer state) {
...@@ -103,4 +144,66 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv ...@@ -103,4 +144,66 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
summitActivity.setId(id); summitActivity.setId(id);
mapper.updateByPrimaryKeySelective(summitActivity); mapper.updateByPrimaryKeySelective(summitActivity);
} }
public SummitActivitySaveDTO selectSummitActivityById(Integer id) {
SummitActivitySaveDTO summitActivitySaveDTO = new SummitActivitySaveDTO();
SummitActivity summitActivity = mapper.selectByPrimaryKey(id);
BeanUtils.copyProperties(summitActivity, 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);
}
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
package com.xxfc.platform.uccn.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.campsite.feign.CampsiteFeign;
import com.xxfc.platform.campsite.vo.CampsiteShopDetailVo;
import com.xxfc.platform.campsite.vo.CampsiteShopPageVo;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/28 10:05
*/
@RestController
@RequestMapping("/app/unauth/campsite")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class CampsiteUccnController {
private final CampsiteFeign campsiteFeign;
@ApiOperation("分页查询营地列表")
@GetMapping("/shops")
public ObjectRestResponse<PageDataVO<CampsiteShopPageVo>> findCampsiteShopPageByType(@RequestParam(value = "type", required = false) Integer type,
@RequestParam(value = "pageNo", required = false, defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", required = false, defaultValue = "6") Integer pageSize) {
return campsiteFeign.findCampsiteShopPageByType(type, pageNo, pageSize);
}
/**
* @param longitude 经度
* @param latitude 纬度
* @return
*/
@ApiOperation("查询营地详情")
@GetMapping("/shop")
public ObjectRestResponse<CampsiteShopDetailVo> findCampsiteShopDetailById(@RequestParam(value = "id") Integer id,
@RequestParam(value = "longitude", required = false) Double longitude,
@RequestParam(value = "latitude", required = false) Double latitude) {
return campsiteFeign.findCampsiteShopDetailById(id, longitude, latitude);
}
}
...@@ -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<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
...@@ -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;
...@@ -33,6 +35,13 @@ public class SummitActivityAdminController { ...@@ -33,6 +35,13 @@ public class SummitActivityAdminController {
return ObjectRestResponse.succ(pageDataVO); return ObjectRestResponse.succ(pageDataVO);
} }
@ApiOperation("编辑查询")
@GetMapping("/{id}")
public ObjectRestResponse<SummitActivitySaveDTO> selectToEdit(@PathVariable(value = "id") Integer id){
SummitActivitySaveDTO summitActivitySaveDTO = summitActivityBiz.selectSummitActivityById(id);
return ObjectRestResponse.succ(summitActivitySaveDTO);
}
@ApiOperation("保存或编辑") @ApiOperation("保存或编辑")
@PostMapping("/save") @PostMapping("/save")
public ObjectRestResponse<Void> saveSummitActivity(@RequestBody SummitActivitySaveDTO summitActivitySaveDTO, UserDTO userDTO){ public ObjectRestResponse<Void> saveSummitActivity(@RequestBody SummitActivitySaveDTO summitActivitySaveDTO, UserDTO userDTO){
...@@ -68,6 +77,13 @@ public class SummitActivityAdminController { ...@@ -68,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){
......
...@@ -127,7 +127,7 @@ public class CompanyBaseBiz extends BaseBiz<CompanyBaseMapper, CompanyBase> { ...@@ -127,7 +127,7 @@ public class CompanyBaseBiz extends BaseBiz<CompanyBaseMapper, CompanyBase> {
BigDecimal latitude=companyVo.getLatitude(); BigDecimal latitude=companyVo.getLatitude();
BigDecimal longitude=companyVo.getLongitude(); BigDecimal longitude=companyVo.getLongitude();
if (state==1&&(StringUtils.isBlank(companyVo.getAddrDetail())||StringUtils.isBlank(companyVo.getImages())||StringUtils.isBlank(companyVo.getDescribes()) if (state==1&&(StringUtils.isBlank(companyVo.getAddrDetail())||StringUtils.isBlank(companyVo.getImages())||StringUtils.isBlank(companyVo.getDescribes())
||StringUtils.isBlank(companyVo.getLeaderContactInfo())||latitude==null||longitude==null)){ ||latitude==null||longitude==null)){
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"上架时参数不能为空"); return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE,"上架时参数不能为空");
} }
CompanyBase companyBase=new CompanyBase(); CompanyBase companyBase=new CompanyBase();
......
...@@ -82,7 +82,7 @@ public class VehicleActiveService { ...@@ -82,7 +82,7 @@ public class VehicleActiveService {
throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(), throw new BaseException(ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getDesc(),
ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode()); ResCode.VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED.getCode());
} }
if(MileageLift==null||MileageLift1>=MileageLift){ if(MileageLift==null||MileageLift1 >= MileageLift){
// 写入车辆公里数,预计目的地 // 写入车辆公里数,预计目的地
vehicle.setMileageLastUpdate(MileageLift1); vehicle.setMileageLastUpdate(MileageLift1);
vehicle.setExpectDestinationBranchCompanyId(departureVo.getExpectArrivalBranchCompanyId()); vehicle.setExpectDestinationBranchCompanyId(departureVo.getExpectArrivalBranchCompanyId());
...@@ -171,11 +171,13 @@ public class VehicleActiveService { ...@@ -171,11 +171,13 @@ public class VehicleActiveService {
break; break;
} }
List<VehicleBookRecordVo> vehicleBookRecordVos = vehicleBookRecordBiz.selectByVehicleId(vehicleId); List<VehicleBookRecordVo> vehicleBookRecordVos = vehicleBookRecordBiz.selectByVehicleId(vehicleId);
if(vehicleBookRecordVos != null && vehicleBookRecordVos.size() > 0) { if(vehicleBookRecordVos != null && vehicleBookRecordVos.size() > 0 && vehicleBookRecordVos.get(0).getVehicleDepartureLogVo() != null && vehicleBookRecordVos.get(0).getVehicleDepartureLogVo().getState() != 1) {
stringBuilder.append("中,使用人:"); stringBuilder.append("中,使用人:");
stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUsername()); stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUsername());
stringBuilder.append(" 使用人电话:"); stringBuilder.append(" 使用人电话:");
stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUserPhone()); stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUserPhone());
} else {
stringBuilder.append("请联系管理员修改车辆状态为正常状态");
} }
return stringBuilder.toString(); return stringBuilder.toString();
} }
...@@ -233,6 +235,7 @@ public class VehicleActiveService { ...@@ -233,6 +235,7 @@ public class VehicleActiveService {
} }
DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate()); DateTime arrivalDate = new DateTime(vehicleBookRecord.getBookEndDate());
DateTime actualArrivalDate = new DateTime(new Date()); DateTime actualArrivalDate = new DateTime(new Date());
//提前还车处理
if(actualArrivalDate.compareTo(arrivalDate) < 0) { //实际还车时间小于预计还车时间,需要释放后面的时间 if(actualArrivalDate.compareTo(arrivalDate) < 0) { //实际还车时间小于预计还车时间,需要释放后面的时间
BookVehicleVO bookVehicleVo = new BookVehicleVO(); BookVehicleVO bookVehicleVo = new BookVehicleVO();
BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo); BeanUtils.copyProperties(vehicleBookRecord, bookVehicleVo);
......
...@@ -816,11 +816,14 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -816,11 +816,14 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
break; break;
} }
List<VehicleBookRecordVo> vehicleBookRecordVos = vehicleBookRecordBiz.selectByVehicleId(vehicleId); List<VehicleBookRecordVo> vehicleBookRecordVos = vehicleBookRecordBiz.selectByVehicleId(vehicleId);
if(vehicleBookRecordVos != null && vehicleBookRecordVos.size() > 0) { vehicleBookRecordBiz.removeStatus2(vehicleBookRecordVos);
if(vehicleBookRecordVos != null && vehicleBookRecordVos.size() > 0 && vehicleBookRecordVos.get(0).getBookEndDate() != null && vehicleBookRecordVos.get(0).getBookEndDate().after(new Date())) {
stringBuilder.append("中,使用人:"); stringBuilder.append("中,使用人:");
stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUsername()); stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUsername());
stringBuilder.append(" 使用人电话:"); stringBuilder.append(" 使用人电话:");
stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUserPhone()); stringBuilder.append(vehicleBookRecordVos.get(0).getVehicleUserPhone());
} else {
stringBuilder.append("请联系管理员修改车辆状态为正常状态");
} }
return stringBuilder.toString(); return stringBuilder.toString();
} }
...@@ -1028,6 +1031,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR ...@@ -1028,6 +1031,11 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
} }
if(MapUtils.isNotEmpty(yearMonthAndParam)){ if(MapUtils.isNotEmpty(yearMonthAndParam)){
params.put("yearMonthAndParam",yearMonthAndParam); params.put("yearMonthAndParam",yearMonthAndParam);
String bitStr = "";
for(String key : yearMonthAndParam.keySet()) {
bitStr+= "1";
}
params.put("yearMonthAndParamBitStr", bitStr);
} }
} }
......
...@@ -88,7 +88,7 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V ...@@ -88,7 +88,7 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
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);
//全天预定 //全天预定
......
...@@ -71,9 +71,10 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use ...@@ -71,9 +71,10 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
private VehicleJobHandler vehicleJobHandler; private VehicleJobHandler vehicleJobHandler;
@Autowired @Autowired
BranchCompanyBiz branchCompanyBiz; private VehicleBookHourInfoBiz vehicleBookHourInfoBiz;
@Autowired @Autowired
VehicleBookHourInfoBiz vehicleBookHourInfoBiz; BranchCompanyBiz branchCompanyBiz;
public UserFeign getUserFeign() { public UserFeign getUserFeign() {
return userFeign; return userFeign;
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<mapper namespace="com.xxfc.platform.vehicle.mapper.CompanyBaseMapper" > <mapper namespace="com.xxfc.platform.vehicle.mapper.CompanyBaseMapper" >
<select id="getList" parameterType="com.xxfc.platform.vehicle.pojo.vo.CompanyVo" resultType="com.xxfc.platform.vehicle.pojo.vo.CompanyVo"> <select id="getList" parameterType="com.xxfc.platform.vehicle.pojo.vo.CompanyVo" resultType="com.xxfc.platform.vehicle.pojo.vo.CompanyVo">
SELECT
c.id as companyId, c.id as companyId,
c.`name` as companyName, c.`name` as companyName,
c.addr_detail as addrDetail, c.addr_detail as addrDetail,
......
...@@ -523,16 +523,14 @@ ...@@ -523,16 +523,14 @@
<!-- yearNo4Where 标识时间参数不用于where条件,用于select部分 --> <!-- yearNo4Where 标识时间参数不用于where条件,用于select部分 -->
<if test=" yearMonthAndParam !=null and yearNo4Where != null and yearNo4Where == true"> <if test=" yearMonthAndParam !=null and yearNo4Where != null and yearNo4Where == true">
,(max( ,(max(
<foreach collection="yearMonthAndParam" index="yearMonth" item="andOperation" separator="and"> vbi.bit_str = #{yearMonthAndParamBitStr}
<include refid="yearMonthAndParamSql"></include>
</foreach>
<!-- 租车列表 不过滤前后预约记录不符的车辆 但是合并标示车型是否有车 即 hasVehicle--> <!-- 租车列表 不过滤前后预约记录不符的车辆 但是合并标示车型是否有车 即 hasVehicle-->
<if test="withoutRecordWhere != null and withoutRecordWhere = 1 and startCompanyId != null and endCompanyId != null "> <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_lift_company is null or abr.to_lift_company = #{startCompanyId})
and (abr.to_return_company is null or abr.to_return_company = #{endCompanyId}) and (abr.to_return_company is null or abr.to_return_company = #{endCompanyId})
</if> </if>
) )
)as hasVehicle ) as hasVehicle
</if> </if>
<if test="lon != null and lat != null"> <if test="lon != null and lat != null">
,st_distance_sphere(point(#{lon}, #{lat}), point(bc.longitude, bc.latitude)) as distance ,st_distance_sphere(point(#{lon}, #{lat}), point(bc.longitude, bc.latitude)) as distance
...@@ -604,9 +602,9 @@ ...@@ -604,9 +602,9 @@
<if test="lon != null and lat != null"> <if test="lon != null and lat != null">
,st_distance_sphere(point(#{lon}, #{lat}), point(bc.longitude, bc.latitude)) as distance ,st_distance_sphere(point(#{lon}, #{lat}), point(bc.longitude, bc.latitude)) as distance
</if> </if>
<if test=" yearMonthAndParam !=null "> <!-- <if test=" yearMonthAndParam !=null ">-->
,ifnull(vbi.booked_date,0) as booked_date <!-- ,ifnull(vbi.booked_date,0) as booked_date-->
</if> <!-- </if>-->
<include refid="searchUsableSql"/> <include refid="searchUsableSql"/>
<if test="lon != null and lat != null"> <if test="lon != null and lat != null">
order by order by
...@@ -618,8 +616,18 @@ ...@@ -618,8 +616,18 @@
<sql id="searchUsableSql"> <sql id="searchUsableSql">
from vehicle v from vehicle v
<if test=" yearMonthAndParam !=null "> <if test=" yearMonthAndParam !=null ">
left join left join (
vehicle_book_info vbi on v.`id` = vbi.vehicle 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> </if>
left join vehicle_model vm on v.model_id = vm.id left join vehicle_model vm on v.model_id = vm.id
left join branch_company bc on v.park_branch_company_id = bc.id left join branch_company bc on v.park_branch_company_id = bc.id
...@@ -634,11 +642,8 @@ ...@@ -634,11 +642,8 @@
<where> <where>
<!-- 若需根据预定日期条件查询,针对换为位操作 --> <!-- 若需根据预定日期条件查询,针对换为位操作 -->
<!-- yearNo4Where 标识时间参数是否用于where条件 --> <!-- yearNo4Where 标识时间参数是否用于where条件 -->
<if test=" yearMonthAndParam !=null and yearNo4Where == null"> <if test=" yearMonthAndParam !=null and yearMonthAndParam != null and yearNo4Where == null">
<foreach collection="yearMonthAndParam" index="yearMonth" item="andOperation"> vbi.bit_str = #{yearMonthAndParamBitStr}
and
<include refid="yearMonthAndParamSql"></include>
</foreach>
</if> </if>
<!-- 根据前后record 过滤车辆 --> <!-- 根据前后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