Commit f399dda8 authored by libin's avatar libin

旅游标签

parent b12b237d
package com.xxfc.platform.tour.biz;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.util.EntityUtils;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.tour.dto.TourTagBannerDTO;
import com.xxfc.platform.tour.mapper.TourTagBannerMapper;
......@@ -16,6 +15,7 @@ import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 标签轮播图
......@@ -27,11 +27,7 @@ import java.util.Objects;
@Service
public class TourTagBannerBiz extends BaseBiz<TourTagBannerMapper,TourTagBanner> {
private List<TourTagBannerDTO> tourTagBannerDTOS;
public List<TourTagBanner> findById(long tid) {
TourTagBanner tourTagBanner = new TourTagBanner();
tourTagBanner.setId(tid);
tourTagBanner.setIsDel(0);
......@@ -84,7 +80,7 @@ public class TourTagBannerBiz extends BaseBiz<TourTagBannerMapper,TourTagBanner>
* @return
*/
public List<TourTagBannerDTO> findTourTagBannersByTagId(Integer tagId) {
List<TourTagBanner> tourTagBanners = mapper.findByTagId(tagId);
List<TourTagBanner> tourTagBanners = mapper.findByTagId(tagId,0);
List<TourTagBannerDTO> tourTagBannerDTOS = new ArrayList<>(tourTagBanners.size());
for (TourTagBanner tourTagBanner : tourTagBanners) {
TourTagBannerDTO tourTagBannerDTO = new TourTagBannerDTO();
......@@ -111,9 +107,8 @@ public class TourTagBannerBiz extends BaseBiz<TourTagBannerMapper,TourTagBanner>
*/
@Transactional(rollbackFor = Exception.class)
public void updateTourBannerByBatch(List<TourTagBannerDTO> tourTagBannerDTOS,UserDTO userDTO) {
tourTagBannerDTOS.stream().filter(tourTagBannerDTO -> Objects.nonNull(tourTagBannerDTO.getId())).peek(tourTagBannerDTO -> EntityUtils.setUpdatedInfo(tourTagBannerDTO)).forEach(tourTagBannerDTO -> {
updateTourBanner(tourTagBannerDTO,userDTO);
});
List<Long> tourTagBannerIds = tourTagBannerDTOS.stream().filter(tourTagBannerDTO -> Objects.nonNull(tourTagBannerDTO.getId())).map(TourTagBannerDTO::getId).collect(Collectors.toList());
mapper.updateTourBannerStatusByTagannerIdsAndTagId(tourTagBannerIds,tourTagBannerDTOS.get(0).getTagId(),1);
tourTagBannerDTOS.stream().filter(tourTagBannerDTO -> Objects.isNull(tourTagBannerDTO.getId())).peek(tourTagBannerDTO -> {
save(tourTagBannerDTO,userDTO);
}).count();
......
......@@ -8,6 +8,7 @@ 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 org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -131,8 +132,6 @@ public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
tourTagDTO.setRank(tourTagDTO.getRank()==null?0:tourTagDTO.getRank());
tourTagDTO.setIsHot(0);
//保存标签
/* TourTag tourTag = new TourTag();
BeanUtils.copyProperties(tourTagDTO,tourTag);*/
int effectRows = mapper.save(tourTagDTO);
if (effectRows==0){
return effectRows;
......@@ -193,4 +192,23 @@ public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
public int updateTourTagHotSate(Integer id, Integer state) {
return mapper.updateTourTagHotSate(id,state);
}
/**
* 根据标签名查询是否存在
* @param name
* @return
*/
public boolean checkTagNameExist(String name) {
List<TourTag> tourTags = mapper.findByTagName(name);
return CollectionUtils.isNotEmpty(tourTags);
}
/**
* 根据旅游标签状态查询
* @param status
* @return
*/
public List<TourTag> findTourTagNameAndIdsByStatus(Integer status){
return mapper.selectByStuatus(status);
}
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.xxfc.platform.tour.mapper;
import com.xxfc.platform.tour.dto.TourTagBannerDTO;
import com.xxfc.platform.tour.entity.TourTagBanner;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
......@@ -39,8 +40,8 @@ public interface TourTagBannerMapper extends Mapper<TourTagBanner> {
* @param tagId
* @return
*/
@Select("select * from tour_tag_banner where `tag_id`=#{tagId}")
List<TourTagBanner> findByTagId(@Param("tagId") Integer tagId);
@Select("select * from tour_tag_banner where `tag_id`=#{tagId} and `is_del`=#{status}")
List<TourTagBanner> findByTagId(@Param("tagId") Integer tagId,@Param("status") Integer status);
/**
* 根据标签id更新banner状态
......@@ -56,6 +57,15 @@ public interface TourTagBannerMapper extends Mapper<TourTagBanner> {
* @param tourTagBannerDTO
* @return
*/
@Update("update tour_tag_banner set `title`=#{title},`cover`=#{cover},`upd_time`=#{updTime},`upd_name`=#{updName},`url`=#{url},`is_del`=#{isDel} where `id`=#{id}")
@Update("update tour_tag_banner set `title`=#{title},`cover`=#{cover},`upd_time`=#{updTime},`upd_name`=#{updName},`url`=#{url} where `id`=#{id}")
int updateTourTagBanner(TourTagBannerDTO tourTagBannerDTO);
/**
* 根据标签id 设置除了tourTagBannerIds集合中的id 的tagbanner状态
* @param tourTagBannerIds
* @param tagId
* @param status
*/
void updateTourBannerStatusByTagannerIdsAndTagId(@Param("tourTagBannerIds") List<Long> tourTagBannerIds, @Param("tagId") Integer tagId,@Param("status") Integer status);
}
......@@ -55,4 +55,10 @@ public interface TourTagMapper extends Mapper<TourTag> {
@Update("update tour_tag set `is_hot`=#{state} where `id`=#{id}")
int updateTourTagHotSate(@Param("id") Integer id, @Param("state") Integer state);
@Select("select * from tour_tag where name=#{name}")
List<TourTag> findByTagName(String name);
@Select("select `id`,`name` from tour_tag where `is_del`=#{status}")
List<TourTag> selectByStuatus(Integer status);
}
package com.xxfc.platform.tour.rest.admin;
import com.github.wxiaoqi.security.common.annotation.BeanValid;
import com.github.wxiaoqi.security.common.annotation.SimpleValid;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.tour.biz.TourTagBiz;
......@@ -7,8 +10,12 @@ import com.xxfc.platform.tour.common.TourBaseController;
import com.xxfc.platform.tour.dto.TourTagAndBannerDTO;
import com.xxfc.platform.tour.entity.TourTag;
import io.swagger.annotations.*;
import lombok.SneakyThrows;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import java.util.List;
/**
* @author libin
......@@ -113,4 +120,27 @@ public class TourTagAdminController extends TourBaseController<TourTagBiz> {
}
return ObjectRestResponse.createDefaultFail();
}
/**
*校验标签名是否存在
* @param name
* @return
*/
@GetMapping("/exist")
@ApiOperation("校验标签名是否存在")
public ObjectRestResponse checkTagNameExists(@RequestParam("name") String name){
boolean exist = getBaseBiz().checkTagNameExist(name);
return ObjectRestResponse.succ(exist);
}
/**
* 获取标签名和id
* @return
*/
@GetMapping("/tags")
@ApiOperation("获取标签名和id")
public ObjectRestResponse getTourTageNameAndIds(){
List<TourTag> tourTags = getBaseBiz().findTourTagNameAndIdsByStatus(0);
return ObjectRestResponse.succ(tourTags);
}
}
\ No newline at end of file
......@@ -16,4 +16,11 @@
<result property="isDel" column="is_del"/>
</resultMap>
<delete id="updateTourBannerStatusByTagannerIdsAndTagId">
update tour_tag_banner set `is_del`=#{status} where tag_id=#{tagId} and id not in
<foreach collection="tourTagBannerIds" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment