Commit 3ac2f3e0 authored by hezhen's avatar hezhen

Merge branch 'master-tiande' of...

Merge branch 'master-tiande' of http://113.105.137.151:22280/youjj/cloud-platform into master-tiande
parents 286e7d4b e8d73bcf
package com.xxfc.platform.campsite.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.xxfc.platform.campsite.dto.CampsiteShopTagDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
......@@ -9,6 +10,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
......@@ -111,4 +113,7 @@ public class CampsiteShopPageVo implements Serializable {
@ApiModelProperty("seo*html标签优化")
private String imgDesc;
@ApiModelProperty("标签列表")
private List<CampsiteShopTagDTO>list;
}
......@@ -100,6 +100,12 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
}*/
PageDataVO<CampsiteShopPageVo> campsiteShopPageDataVO = findCampsiteShopPageByTypeAndName(campsiteShopFindDTO);
/* campHashOperations.put(CAMPSITE_LIST_CACHE_PREKEY,campsite_cache_key,JSONObject.toJSONString(campsiteShopPageDataVO));*/
//查询营地的标签
List<CampsiteShopPageVo>list = campsiteShopPageDataVO.getData();
for(CampsiteShopPageVo campsiteShopPageVo : list){
List<CampsiteShopTagDTO> tagList = campsiteShopTagBiz.findByCampsiteShopId(campsiteShopPageVo.getId());
campsiteShopPageVo.setList(tagList);
}
return campsiteShopPageDataVO;
}
......@@ -196,7 +202,7 @@ public class CampsiteShopBiz extends BaseBiz<CampsiteShopMapper, CampsiteShop> {
campsiteShopDetailVo.setHasCollection(false);
}
//
/* campsiteValueOperations.set(String.format("%s%d", CAMSITE_DETAIL_CACHE_PREKEY, id), JSONObject.toJSONString(campsiteShopDetailVo));*/
return campsiteShopDetailVo;
......
package com.xxfc.platform.tour.entity;
import java.io.Serializable;
import java.util.List;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 旅游路线标签
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-06 11:41:51
*/
@Data
@Table(name = "tour_tag")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TourTag implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
/**
* 名称
*/
@Column(name = "name")
@ApiModelProperty(value = "名称")
private String name;
/**
* 图片
*/
@Column(name = "img")
@ApiModelProperty(value = "图片")
private String img;
/**
* 描述
*/
@Column(name = "describe")
@ApiModelProperty(value = "描述")
private String describe;
/**
* 链接
*/
@Column(name = "link")
@ApiModelProperty(value = "链接")
private String link;
/**
* 是否热门:0-否;1-是
*/
@Column(name = "is_hot")
@ApiModelProperty(value = "是否热门:0-否;1-是")
private Integer isHot;
/**
* 成单量
*/
@Column(name = "count")
@ApiModelProperty(value = "成单量")
private Integer count;
/**
* 排序
*/
@Column(name = "rank")
@ApiModelProperty(value = "排序")
private Integer rank;
/**
* 创建时间
*/
@Column(name = "ctr_time")
@ApiModelProperty(value = "创建时间")
private Long ctrTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除:0-正常;1-删除")
private Integer isDel;
}
package com.xxfc.platform.tour.entity;
import java.io.Serializable;
import java.util.List;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 旅游路线标签
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-06 11:41:51
*/
@Data
@Table(name = "tour_tag")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TourTag implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键id")
private Integer id;
/**
* 名称
*/
@Column(name = "name")
@ApiModelProperty(value = "名称")
private String name;
/**
* 图片
*/
@Column(name = "img")
@ApiModelProperty(value = "图片")
private String img;
/**
* 描述
*/
@Column(name = "describe")
@ApiModelProperty(value = "描述")
private String describe;
/**
* 链接
*/
@Column(name = "link")
@ApiModelProperty(value = "链接")
private String link;
/**
* 是否热门:0-否;1-是
*/
@Column(name = "is_hot")
@ApiModelProperty(value = "是否热门:0-否;1-是")
private Integer isHot;
/**
* 成单量
*/
@Column(name = "count")
@ApiModelProperty(value = "成单量")
private Integer count;
/**
* 排序
*/
@Column(name = "rank")
@ApiModelProperty(value = "排序")
private Integer rank;
/**
* 创建时间
*/
@Column(name = "ctr_time")
@ApiModelProperty(value = "创建时间")
private Long ctrTime;
/**
* 更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
/**
* 是否删除:0-正常;1-删除
*/
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除:0-正常;1-删除")
private Integer isDel;
@Transient
private List<TourGood> list;
}
package com.xxfc.platform.tour.biz;
import com.ace.cache.annotation.CacheClear;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.tour.comstnt.RedisKey;
import com.xxfc.platform.tour.dto.TourTagAndBannerDTO;
import com.xxfc.platform.tour.dto.TourTagBannerDTO;
import com.xxfc.platform.tour.dto.TourTagDTO;
import com.xxfc.platform.tour.mapper.TourTagMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.xxfc.platform.tour.entity.TourTag;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.transaction.annotation.Transactional;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 旅游路线标签
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-06 11:41:51
*/
@Service
@Slf4j
public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
@Autowired
private TourTagBannerBiz tourTagBannerBiz;
// @Cache(key = RedisKey.CONSTANT_CODE_PREFIX_HOTTAG)
public List<TourTag> getHotTag() {
TourTag tag = new TourTag();
tag.setIsDel(0);
tag.setIsHot(1);
return mapper.findHotListTag(tag);
}
public List<TourTag> getTagList(Integer isHot) {
TourTag tag = new TourTag();
tag.setIsDel(0);
if (isHot!=null&&isHot==1){
tag.setIsHot(1);
return mapper.findHotListTag(tag);
}
return mapper.findAllByIsDel(tag);
}
public PageDataVO<TourTag> findPage(Map map) {
TourTag tag = new TourTag();
tag.setIsDel(0);
return PageDataVO.pageInfo((Integer)map.get("page"),(Integer)map.get("limit"),() -> mapper.findAllByIsDel(tag));
}
@CacheClear(key = RedisKey.CONSTANT_CODE_PREFIX_HOTTAG)
public void update(TourTag banner) {
this.updateSelectiveById(banner);
}
@CacheClear(key = RedisKey.CONSTANT_CODE_PREFIX_HOTTAG)
public void remove(int id) {
this.deleteById(id);
}
/**
* 分页查询旅游标签
* @param pageNo 查询的当前
* @param pageSize 分页大小
* @return
*/
public PageDataVO<TourTagAndBannerDTO> findTourTagWithPage(Integer pageNo, Integer pageSize) {
PageDataVO<TourTagAndBannerDTO> tourTagAndBannerDTOPageDataVO = new PageDataVO<>();
//根据分页条件查询出旅游标签的信息
PageDataVO<TourTag> pageDataVO = PageDataVO.pageInfo(pageNo, pageSize, () -> mapper.findAllByIsDel(TourTag.builder().isDel(0).build()));
List<TourTag> tourTags = pageDataVO.getData();
if (log.isDebugEnabled()){
log.debug("旅游分页查询标签:[{}]",tourTags);
}
if (CollectionUtils.isEmpty(tourTags)){
return tourTagAndBannerDTOPageDataVO;
}
List<TourTagAndBannerDTO> tourTagAndBannerDTOS = new ArrayList<>();
//根据标签ids查询banner
List<Integer> tagIds = tourTags.stream().map(TourTag::getId).collect(Collectors.toList());
Map<Integer, List<TourTagBannerDTO>> tourTagBannerMap = tourTagBannerBiz.findTourTagBannersByTagIds(tagIds);
tourTags.forEach(tourTag -> {
});
for (TourTag tourTag:tourTags){
//vo转换
TourTagDTO tourTagDTO = new TourTagDTO();
BeanUtils.copyProperties(tourTag,tourTagDTO);
//根据旅游标签id查询出标签banner相关信息
List<TourTagBannerDTO> tagBannerDTOS = tourTagBannerMap.get(tourTag.getId());
//banner 数量
tourTagDTO.setBannerNums(tagBannerDTOS==null?0:tagBannerDTOS.size());
tourTagAndBannerDTOS.add(TourTagAndBannerDTO.builder().tourTagDTO(tourTagDTO).tourTagBannerDTOS(tagBannerDTOS).build());
}
//组装数据
tourTagAndBannerDTOPageDataVO.setData(tourTagAndBannerDTOS);
tourTagAndBannerDTOPageDataVO.setPageNum(pageDataVO.getPageNum());
tourTagAndBannerDTOPageDataVO.setPageSize(pageDataVO.getPageSize());
tourTagAndBannerDTOPageDataVO.setTotalCount(pageDataVO.getTotalCount());
tourTagAndBannerDTOPageDataVO.setTotalPage(pageDataVO.getTotalPage());
return tourTagAndBannerDTOPageDataVO;
}
/**
* 根据主键id查询 旅游标签
* @param tagId
* @return
*/
public TourTagAndBannerDTO findTourTagById(Integer tagId){
TourTagAndBannerDTO tourTagAndBannerDTO = new TourTagAndBannerDTO();
//根据旅游标签id查询出标签信息
TourTag tourTag = mapper.findById(tagId);
if (log.isDebugEnabled()){
log.debug("根据标签id=[{}]查询出标签信息:[{}]",tagId,tourTag);
}
if (tourTag==null){
return tourTagAndBannerDTO;
}
TourTagDTO tourTagDTO = new TourTagDTO();
BeanUtils.copyProperties(tourTag,tourTagDTO);
//根据旅游标签id查询出标签对应的轮播图信息
List<TourTagBannerDTO> tourTagBannerDTOS = tourTagBannerBiz.findTourTagBannersByTagId(tagId);
if (log.isDebugEnabled()){
log.debug("根据标签id=[{}],查询出轮播图信息:[{}]",tagId,tourTagBannerDTOS);
}
//组装数据
tourTagAndBannerDTO.setTourTagDTO(tourTagDTO);
tourTagAndBannerDTO.setTourTagBannerDTOS(tourTagBannerDTOS);
return tourTagAndBannerDTO;
}
/**
* 保存旅游标签
* @param tourTagAndBannerDTO
* @return
*/
@Transactional(rollbackFor = Exception.class)
public int saveTourTag(TourTagAndBannerDTO tourTagAndBannerDTO, UserDTO userDTO) {
if (log.isDebugEnabled()){
log.debug("传入保存的标签信息:[{}]",tourTagAndBannerDTO);
}
TourTagDTO tourTagDTO = tourTagAndBannerDTO.getTourTagDTO();
List<TourTagBannerDTO> tourTagBannerDTOS = tourTagAndBannerDTO.getTourTagBannerDTOS();
//设置标签创建的相关信息
tourTagDTO.setCtrTime(Instant.now().toEpochMilli());
tourTagDTO.setRank(tourTagDTO.getRank()==null?0:tourTagDTO.getRank());
tourTagDTO.setIsHot(0);
//保存标签
int effectRows = mapper.save(tourTagDTO);
if (effectRows==0){
return effectRows;
}
if (CollectionUtils.isNotEmpty(tourTagBannerDTOS)) {
//保存标签轮播图
tourTagBannerDTOS.stream().peek(tourTagBannerDTO -> tourTagBannerDTO.setTagId(tourTagDTO.getId())).count();
tourTagBannerBiz.saveBatch(tourTagBannerDTOS, userDTO);
}
return effectRows;
}
/**
* 根据主键修改标签状态
* @param id
* @param status
* @return
*/
@Transactional(rollbackFor = Exception.class)
public int updateTourTagStateById(Integer id,int status) {
//更改标签状态
int effecttagRows = mapper.updateTourTagStatusById(id, status);
if (effecttagRows ==0){
return effecttagRows;
}
//更改标签对应的轮播图状态
tourTagBannerBiz.updateTourTagBannerStatusByTagId(id,status);
return effecttagRows;
}
/**
*更改旅游标签信息
* @param tourTagAndBannerDTO
* @return
*/
@Transactional(rollbackFor = Exception.class)
public int updateTourTag(TourTagAndBannerDTO tourTagAndBannerDTO, UserDTO userDTO) {
if (log.isDebugEnabled()){
log.debug("更改的旅游标签信息:[{}]",tourTagAndBannerDTO);
}
TourTagDTO tourTagDTO = tourTagAndBannerDTO.getTourTagDTO();
//修改旅游标签信息
tourTagDTO.setUpdTime(Instant.now().toEpochMilli());
int effrows = mapper.updateTourTag(tourTagDTO);
if (effrows==0){
return effrows;
}
//修改标签的相关轮播图
List<TourTagBannerDTO> tourTagBannerDTOS = tourTagAndBannerDTO.getTourTagBannerDTOS();
if (log.isDebugEnabled()){
log.debug("更改标签对应的轮播图信息:[{}]",tourTagBannerDTOS);
}
if (CollectionUtils.isNotEmpty(tourTagBannerDTOS)){
tourTagBannerDTOS.stream().filter(tourTagBannerDTO -> Objects.isNull(tourTagBannerDTO.getTagId())).peek(tourTagBannerDTO -> tourTagBannerDTO.setTagId(tourTagDTO.getId())).count();
}
tourTagBannerBiz.updateTourBannerByBatch(tourTagBannerDTOS,tourTagAndBannerDTO.getTourTagDTO().getId(),userDTO);
return effrows;
}
/**
* 更改旅游标签热度状态
* @param id
* @param state
* @return
*/
public int updateTourTagHotSate(Integer id, Integer state) {
return mapper.updateTourTagHotSate(id,state);
}
/**
* 根据标签名查询是否存在
* @param name
* @return
*/
public boolean checkTagNameExist(String name,Integer id) {
List<TourTag> tourTags = mapper.findByTagName(name,id);
return CollectionUtils.isNotEmpty(tourTags);
}
/**
* 根据旅游标签状态查询
* @param status
* @return
*/
public List<TourTag> findTourTagNameAndIdsByStatus(Integer status){
return mapper.selectByStuatus(status);
}
package com.xxfc.platform.tour.biz;
import cn.hutool.db.handler.HandleHelper;
import com.ace.cache.annotation.CacheClear;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.tour.comstnt.RedisKey;
import com.xxfc.platform.tour.dto.TourTagAndBannerDTO;
import com.xxfc.platform.tour.dto.TourTagBannerDTO;
import com.xxfc.platform.tour.dto.TourTagDTO;
import com.xxfc.platform.tour.entity.TourGood;
import com.xxfc.platform.tour.mapper.TourGoodMapper;
import com.xxfc.platform.tour.mapper.TourTagMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.xxfc.platform.tour.entity.TourTag;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.transaction.annotation.Transactional;
import java.time.Instant;
import java.util.*;
import java.util.stream.Collectors;
/**
* 旅游路线标签
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-06 11:41:51
*/
@Service
@Slf4j
public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
@Autowired
private TourTagBannerBiz tourTagBannerBiz;
@Autowired
private TourGoodMapper tourGoodMapper;
// @Cache(key = RedisKey.CONSTANT_CODE_PREFIX_HOTTAG)
public List<TourTag> getHotTag() {
TourTag tag = new TourTag();
tag.setIsDel(0);
tag.setIsHot(1);
return mapper.findHotListTag(tag);
}
public List<TourTag> getHotTagAndGoods() {
TourTag tag = new TourTag();
tag.setIsDel(0);
tag.setIsHot(1);
List<TourTag>list = mapper.findHotListTag(tag);
Map<String,Object>map = new HashMap<String,Object>();
//增加两条线路例子
for(TourTag tourTag :list){
map.put("tagId",tourTag.getId());
PageDataVO<TourGood> dataVO = PageDataVO.pageInfo(1, 2, () -> tourGoodMapper.getGoodList(map));
List<TourGood> pageDataVO = dataVO.getData();
tourTag.setList(pageDataVO);
}
return list;
}
public List<TourTag> getTagList(Integer isHot) {
TourTag tag = new TourTag();
tag.setIsDel(0);
if (isHot!=null&&isHot==1){
tag.setIsHot(1);
return mapper.findHotListTag(tag);
}
return mapper.findAllByIsDel(tag);
}
public PageDataVO<TourTag> findPage(Map map) {
TourTag tag = new TourTag();
tag.setIsDel(0);
return PageDataVO.pageInfo((Integer)map.get("page"),(Integer)map.get("limit"),() -> mapper.findAllByIsDel(tag));
}
@CacheClear(key = RedisKey.CONSTANT_CODE_PREFIX_HOTTAG)
public void update(TourTag banner) {
this.updateSelectiveById(banner);
}
@CacheClear(key = RedisKey.CONSTANT_CODE_PREFIX_HOTTAG)
public void remove(int id) {
this.deleteById(id);
}
/**
* 分页查询旅游标签
* @param pageNo 查询的当前
* @param pageSize 分页大小
* @return
*/
public PageDataVO<TourTagAndBannerDTO> findTourTagWithPage(Integer pageNo, Integer pageSize) {
PageDataVO<TourTagAndBannerDTO> tourTagAndBannerDTOPageDataVO = new PageDataVO<>();
//根据分页条件查询出旅游标签的信息
PageDataVO<TourTag> pageDataVO = PageDataVO.pageInfo(pageNo, pageSize, () -> mapper.findAllByIsDel(TourTag.builder().isDel(0).build()));
List<TourTag> tourTags = pageDataVO.getData();
if (log.isDebugEnabled()){
log.debug("旅游分页查询标签:[{}]",tourTags);
}
if (CollectionUtils.isEmpty(tourTags)){
return tourTagAndBannerDTOPageDataVO;
}
List<TourTagAndBannerDTO> tourTagAndBannerDTOS = new ArrayList<>();
//根据标签ids查询banner
List<Integer> tagIds = tourTags.stream().map(TourTag::getId).collect(Collectors.toList());
Map<Integer, List<TourTagBannerDTO>> tourTagBannerMap = tourTagBannerBiz.findTourTagBannersByTagIds(tagIds);
tourTags.forEach(tourTag -> {
});
for (TourTag tourTag:tourTags){
//vo转换
TourTagDTO tourTagDTO = new TourTagDTO();
BeanUtils.copyProperties(tourTag,tourTagDTO);
//根据旅游标签id查询出标签banner相关信息
List<TourTagBannerDTO> tagBannerDTOS = tourTagBannerMap.get(tourTag.getId());
//banner 数量
tourTagDTO.setBannerNums(tagBannerDTOS==null?0:tagBannerDTOS.size());
tourTagAndBannerDTOS.add(TourTagAndBannerDTO.builder().tourTagDTO(tourTagDTO).tourTagBannerDTOS(tagBannerDTOS).build());
}
//组装数据
tourTagAndBannerDTOPageDataVO.setData(tourTagAndBannerDTOS);
tourTagAndBannerDTOPageDataVO.setPageNum(pageDataVO.getPageNum());
tourTagAndBannerDTOPageDataVO.setPageSize(pageDataVO.getPageSize());
tourTagAndBannerDTOPageDataVO.setTotalCount(pageDataVO.getTotalCount());
tourTagAndBannerDTOPageDataVO.setTotalPage(pageDataVO.getTotalPage());
return tourTagAndBannerDTOPageDataVO;
}
/**
* 根据主键id查询 旅游标签
* @param tagId
* @return
*/
public TourTagAndBannerDTO findTourTagById(Integer tagId){
TourTagAndBannerDTO tourTagAndBannerDTO = new TourTagAndBannerDTO();
//根据旅游标签id查询出标签信息
TourTag tourTag = mapper.findById(tagId);
if (log.isDebugEnabled()){
log.debug("根据标签id=[{}]查询出标签信息:[{}]",tagId,tourTag);
}
if (tourTag==null){
return tourTagAndBannerDTO;
}
TourTagDTO tourTagDTO = new TourTagDTO();
BeanUtils.copyProperties(tourTag,tourTagDTO);
//根据旅游标签id查询出标签对应的轮播图信息
List<TourTagBannerDTO> tourTagBannerDTOS = tourTagBannerBiz.findTourTagBannersByTagId(tagId);
if (log.isDebugEnabled()){
log.debug("根据标签id=[{}],查询出轮播图信息:[{}]",tagId,tourTagBannerDTOS);
}
//组装数据
tourTagAndBannerDTO.setTourTagDTO(tourTagDTO);
tourTagAndBannerDTO.setTourTagBannerDTOS(tourTagBannerDTOS);
return tourTagAndBannerDTO;
}
/**
* 保存旅游标签
* @param tourTagAndBannerDTO
* @return
*/
@Transactional(rollbackFor = Exception.class)
public int saveTourTag(TourTagAndBannerDTO tourTagAndBannerDTO, UserDTO userDTO) {
if (log.isDebugEnabled()){
log.debug("传入保存的标签信息:[{}]",tourTagAndBannerDTO);
}
TourTagDTO tourTagDTO = tourTagAndBannerDTO.getTourTagDTO();
List<TourTagBannerDTO> tourTagBannerDTOS = tourTagAndBannerDTO.getTourTagBannerDTOS();
//设置标签创建的相关信息
tourTagDTO.setCtrTime(Instant.now().toEpochMilli());
tourTagDTO.setRank(tourTagDTO.getRank()==null?0:tourTagDTO.getRank());
tourTagDTO.setIsHot(0);
//保存标签
int effectRows = mapper.save(tourTagDTO);
if (effectRows==0){
return effectRows;
}
if (CollectionUtils.isNotEmpty(tourTagBannerDTOS)) {
//保存标签轮播图
tourTagBannerDTOS.stream().peek(tourTagBannerDTO -> tourTagBannerDTO.setTagId(tourTagDTO.getId())).count();
tourTagBannerBiz.saveBatch(tourTagBannerDTOS, userDTO);
}
return effectRows;
}
/**
* 根据主键修改标签状态
* @param id
* @param status
* @return
*/
@Transactional(rollbackFor = Exception.class)
public int updateTourTagStateById(Integer id,int status) {
//更改标签状态
int effecttagRows = mapper.updateTourTagStatusById(id, status);
if (effecttagRows ==0){
return effecttagRows;
}
//更改标签对应的轮播图状态
tourTagBannerBiz.updateTourTagBannerStatusByTagId(id,status);
return effecttagRows;
}
/**
*更改旅游标签信息
* @param tourTagAndBannerDTO
* @return
*/
@Transactional(rollbackFor = Exception.class)
public int updateTourTag(TourTagAndBannerDTO tourTagAndBannerDTO, UserDTO userDTO) {
if (log.isDebugEnabled()){
log.debug("更改的旅游标签信息:[{}]",tourTagAndBannerDTO);
}
TourTagDTO tourTagDTO = tourTagAndBannerDTO.getTourTagDTO();
//修改旅游标签信息
tourTagDTO.setUpdTime(Instant.now().toEpochMilli());
int effrows = mapper.updateTourTag(tourTagDTO);
if (effrows==0){
return effrows;
}
//修改标签的相关轮播图
List<TourTagBannerDTO> tourTagBannerDTOS = tourTagAndBannerDTO.getTourTagBannerDTOS();
if (log.isDebugEnabled()){
log.debug("更改标签对应的轮播图信息:[{}]",tourTagBannerDTOS);
}
if (CollectionUtils.isNotEmpty(tourTagBannerDTOS)){
tourTagBannerDTOS.stream().filter(tourTagBannerDTO -> Objects.isNull(tourTagBannerDTO.getTagId())).peek(tourTagBannerDTO -> tourTagBannerDTO.setTagId(tourTagDTO.getId())).count();
}
tourTagBannerBiz.updateTourBannerByBatch(tourTagBannerDTOS,tourTagAndBannerDTO.getTourTagDTO().getId(),userDTO);
return effrows;
}
/**
* 更改旅游标签热度状态
* @param id
* @param state
* @return
*/
public int updateTourTagHotSate(Integer id, Integer state) {
return mapper.updateTourTagHotSate(id,state);
}
/**
* 根据标签名查询是否存在
* @param name
* @return
*/
public boolean checkTagNameExist(String name,Integer id) {
List<TourTag> tourTags = mapper.findByTagName(name,id);
return CollectionUtils.isNotEmpty(tourTags);
}
/**
* 根据旅游标签状态查询
* @param status
* @return
*/
public List<TourTag> findTourTagNameAndIdsByStatus(Integer status){
return mapper.selectByStuatus(status);
}
}
\ No newline at end of file
package com.xxfc.platform.tour.rest;
import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.tour.biz.TourTagBiz;
import com.xxfc.platform.tour.entity.TourTag;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("tourTag")
public class TourTagController extends BaseController<TourTagBiz,TourTag> {
@Autowired
private TourTagBiz tagBiz;
@GetMapping("/app/unauth/getTagList")
public ObjectRestResponse getTagList(pageDTO dto){
if (dto==null) {
return ObjectRestResponse.createDefaultFail();
}
Integer hot = dto.getHot();
if (hot==1){
List<TourTag> hotTag = tagBiz.getHotTag();
return ObjectRestResponse.succ(hotTag);
}
PageDataVO<TourTag> all = tagBiz.findPage(BeanUtil.beanToMap(dto));
return ObjectRestResponse.succ(all);
}
@Override
@ApiOperation("修改")
@RequestMapping(value = "/{id}",method = RequestMethod.PUT)
public ObjectRestResponse<TourTag> update(@RequestBody TourTag tag){
tagBiz.update(tag);
return new ObjectRestResponse<TourTag>();
}
@Override
@ApiOperation("删除")
@RequestMapping(value = "/{id}",method = RequestMethod.DELETE)
public ObjectRestResponse<TourTag> remove(@PathVariable int id){
tagBiz.remove(id);
return new ObjectRestResponse<TourTag>();
}
@Data
public class pageDTO extends PageParam {
@ApiModelProperty("是否热门")
Integer hot;
}
@GetMapping("/token")
public ObjectRestResponse apptoken(AppUserDTO appUserDTO){
return ObjectRestResponse.succ(appUserDTO);
}
package com.xxfc.platform.tour.rest;
import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.tour.biz.TourTagBiz;
import com.xxfc.platform.tour.entity.TourTag;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("tourTag")
public class TourTagController extends BaseController<TourTagBiz,TourTag> {
@Autowired
private TourTagBiz tagBiz;
@GetMapping("/app/unauth/getTagList")
public ObjectRestResponse getTagList(pageDTO dto){
if (dto==null) {
return ObjectRestResponse.createDefaultFail();
}
Integer hot = dto.getHot();
if (hot==1){
List<TourTag> hotTag = tagBiz.getHotTag();
return ObjectRestResponse.succ(hotTag);
}
PageDataVO<TourTag> all = tagBiz.findPage(BeanUtil.beanToMap(dto));
return ObjectRestResponse.succ(all);
}
/**
* 标签带两条线路
* @param dto
* @return
*/
@GetMapping("/app/unauth/getTagListAndGoods")
public ObjectRestResponse getTagListAndGoods(pageDTO dto){
if (dto==null) {
return ObjectRestResponse.createDefaultFail();
}
Integer hot = dto.getHot();
if (hot==1){
List<TourTag> hotTag = tagBiz.getHotTagAndGoods();
return ObjectRestResponse.succ(hotTag);
}
PageDataVO<TourTag> all = tagBiz.findPage(BeanUtil.beanToMap(dto));
return ObjectRestResponse.succ(all);
}
@Override
@ApiOperation("修改")
@RequestMapping(value = "/{id}",method = RequestMethod.PUT)
public ObjectRestResponse<TourTag> update(@RequestBody TourTag tag){
tagBiz.update(tag);
return new ObjectRestResponse<TourTag>();
}
@Override
@ApiOperation("删除")
@RequestMapping(value = "/{id}",method = RequestMethod.DELETE)
public ObjectRestResponse<TourTag> remove(@PathVariable int id){
tagBiz.remove(id);
return new ObjectRestResponse<TourTag>();
}
@Data
public class pageDTO extends PageParam {
@ApiModelProperty("是否热门")
Integer hot;
}
@GetMapping("/token")
public ObjectRestResponse apptoken(AppUserDTO appUserDTO){
return ObjectRestResponse.succ(appUserDTO);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment