Commit 94a62b19 authored by hezhen's avatar hezhen

Merge branch 'base-modify' of http://113.105.137.151:22280/youjj/cloud-platform into base-modify

parents 8199ffe7 7b9ee0d5
......@@ -7,3 +7,4 @@ target/
.settings/
.classpath
ace-modules/ace-tool/src/main/resources/application-dev.yml
src/main/test/**
\ No newline at end of file
package com.xxfc.platform.tour.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author libin
......@@ -10,6 +13,9 @@ import lombok.Data;
* @data 2019/6/12 13:50
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TourTagBannerDTO {
......
......@@ -4,6 +4,7 @@ import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.tour.dto.TourTagBannerDTO;
import com.xxfc.platform.tour.mapper.TourTagBannerMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
......@@ -13,9 +14,7 @@ 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.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -26,6 +25,7 @@ import java.util.stream.Collectors;
* @date 2019-06-06 11:41:51
*/
@Service
@Slf4j
public class TourTagBannerBiz extends BaseBiz<TourTagBannerMapper,TourTagBanner> {
public List<TourTagBanner> findById(long tid) {
......@@ -43,7 +43,6 @@ public class TourTagBannerBiz extends BaseBiz<TourTagBannerMapper,TourTagBanner>
* @return
*/
public PageDataVO<TourTagBanner> findTourTagBannerWithPage(Integer pageNo,Integer pageSize){
return PageDataVO.pageInfo(pageNo,pageSize,()->mapper.findAllByState(0));
}
......@@ -66,6 +65,9 @@ public class TourTagBannerBiz extends BaseBiz<TourTagBannerMapper,TourTagBanner>
*/
@Transactional(rollbackFor = Exception.class)
public int save(TourTagBannerDTO tourTagBannerDTO, UserDTO userDTO) {
if (log.isDebugEnabled()){
log.debug("保存的轮播图信息:[{}]",tourTagBannerDTO);
}
TourTagBanner tourTagBanner = new TourTagBanner();
BeanUtils.copyProperties(tourTagBannerDTO,tourTagBanner);
//设置相关信息
......@@ -75,6 +77,24 @@ public class TourTagBannerBiz extends BaseBiz<TourTagBannerMapper,TourTagBanner>
return mapper.insert(tourTagBanner);
}
/**
* 批量保存
* @param tourTagBannerDTOS
* @param userDTO
* @return
*/
public int saveBatch(List<TourTagBannerDTO> tourTagBannerDTOS,UserDTO userDTO){
if (log.isDebugEnabled()){
log.debug("批量保存的轮播图信息:[{}]",tourTagBannerDTOS);
}
tourTagBannerDTOS.stream().peek(tourTagBannerDTO -> {
tourTagBannerDTO.setCrtTime(Instant.now().toEpochMilli());
tourTagBannerDTO.setCrtName(userDTO.getUsername());
tourTagBannerDTO.setIsDel(0);
}).count();
return mapper.insertBatch(tourTagBannerDTOS);
}
/**
* 根据标签id查询
* @param tagId
......@@ -116,9 +136,10 @@ public class TourTagBannerBiz extends BaseBiz<TourTagBannerMapper,TourTagBanner>
mapper.updateTourTagBannerStatusByTagId(tourTagBannerDTOS.get(0).getTagId(),1,Instant.now().toEpochMilli());
}
}
tourTagBannerDTOS.stream().filter(tourTagBannerDTO -> Objects.isNull(tourTagBannerDTO.getId())).peek(tourTagBannerDTO -> {
save(tourTagBannerDTO,userDTO);
}).count();
List<TourTagBannerDTO> tagBannerDTOS = tourTagBannerDTOS.stream().filter(tourTagBannerDTO -> Objects.isNull(tourTagBannerDTO.getId())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(tagBannerDTOS)){
saveBatch(tagBannerDTOS,userDTO);
}
}
/**
......@@ -128,8 +149,24 @@ public class TourTagBannerBiz extends BaseBiz<TourTagBannerMapper,TourTagBanner>
*/
@Transactional(rollbackFor = Exception.class)
public int updateTourBanner(TourTagBannerDTO tourTagBannerDTO,UserDTO userDTO){
if (log.isDebugEnabled()){
log.debug("更改的banner信息:[{}]",tourTagBannerDTO);
}
tourTagBannerDTO.setUpdName(userDTO.getUsername());
tourTagBannerDTO.setUpdTime(Instant.now().toEpochMilli());
return mapper.updateTourTagBanner(tourTagBannerDTO);
}
/**
* 根据标签ids查询
* @param tagIds
* @return
*/
public Map<Integer, List<TourTagBannerDTO>> findTourTagBannersByTagIds(List<Integer> tagIds) {
List<TourTagBannerDTO> tourTagBannerDTOS = mapper.findByTagIdsAndStatus(tagIds,0);
if (log.isDebugEnabled()){
log.debug("根据标签集合id查询出banner信息:[{}]",tourTagBannerDTOS);
}
return tourTagBannerDTOS.stream().collect(Collectors.groupingBy(TourTagBannerDTO::getTagId));
}
}
\ No newline at end of file
......@@ -8,8 +8,8 @@ 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.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -23,6 +23,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 旅游路线标签
......@@ -32,6 +33,7 @@ import java.util.Objects;
* @date 2019-06-06 11:41:51
*/
@Service
@Slf4j
public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
......@@ -74,22 +76,31 @@ public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
* @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 -> {
//vo转换
TourTagDTO tourTagDTO = new TourTagDTO();
BeanUtils.copyProperties(tourTag,tourTagDTO);
//根据旅游标签id查询出标签banner相关信息
List<TourTagBannerDTO> tagBannerDTOS = tourTagBannerBiz.findTourTagBannersByTagId(tourTag.getId());
List<TourTagBannerDTO> tagBannerDTOS = tourTagBannerMap.get(tourTag.getId());
//banner 数量
tourTagDTO.setBannerNums(tagBannerDTOS.size());
tourTagAndBannerDTOS.add(TourTagAndBannerDTO.builder().tourTagDTO(tourTagDTO).tourTagBannerDTOS(tagBannerDTOS).build());
});
//组装数据
PageDataVO<TourTagAndBannerDTO> tourTagAndBannerDTOPageDataVO = new PageDataVO<>();
tourTagAndBannerDTOPageDataVO.setData(tourTagAndBannerDTOS);
tourTagAndBannerDTOPageDataVO.setPageNum(pageDataVO.getPageNum());
tourTagAndBannerDTOPageDataVO.setPageSize(pageDataVO.getPageSize());
......@@ -107,10 +118,16 @@ public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
public TourTagAndBannerDTO findTourTagById(Integer tagId){
//根据旅游标签id查询出标签信息
TourTag tourTag = mapper.findById(tagId);
if (log.isDebugEnabled()){
log.debug("根据标签id=[{}]查询出标签信息:[{}]",tagId,tourTag);
}
TourTagDTO tourTagDTO = new TourTagDTO();
BeanUtils.copyProperties(tourTag,tourTagDTO);
//根据旅游标签id查询出标签对应的轮播图信息
List<TourTagBannerDTO> tourTagBannerDTOS = tourTagBannerBiz.findTourTagBannersByTagId(tagId);
if (log.isDebugEnabled()){
log.debug("根据标签id=[{}],查询出轮播图信息:[{}]",tagId,tourTagBannerDTOS);
}
TourTagAndBannerDTO tourTagAndBannerDTO = new TourTagAndBannerDTO();
//组装数据
tourTagAndBannerDTO.setTourTagDTO(tourTagDTO);
......@@ -125,6 +142,9 @@ public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
*/
@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();
//设置标签创建的相关信息
......@@ -137,10 +157,8 @@ public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
return effectRows;
}
//保存标签轮播图
tourTagBannerDTOS.forEach(tourTagBannerDTO -> {
tourTagBannerDTO.setTagId(tourTagDTO.getId());
tourTagBannerBiz.save(tourTagBannerDTO,userDTO);
});
tourTagBannerDTOS.stream().peek(tourTagBannerDTO -> tourTagBannerDTO.setTagId(tourTagDTO.getId())).count();
tourTagBannerBiz.saveBatch(tourTagBannerDTOS,userDTO);
return effectRows;
}
......@@ -169,6 +187,9 @@ public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
*/
@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());
......@@ -178,6 +199,9 @@ public class TourTagBiz extends BaseBiz<TourTagMapper,TourTag> {
}
//修改标签的相关轮播图
List<TourTagBannerDTO> tourTagBannerDTOS = tourTagAndBannerDTO.getTourTagBannerDTOS();
if (log.isDebugEnabled()){
log.debug("更改标签对应的轮播图信息:[{}]",tourTagBannerDTOS);
}
tourTagBannerDTOS.stream().filter(tourTagBannerDTO -> Objects.isNull(tourTagBannerDTO.getTagId())).peek(tourTagBannerDTO -> tourTagBannerDTO.setTagId(tourTagDTO.getId())).count();
tourTagBannerBiz.updateTourBannerByBatch(tourTagBannerDTOS,userDTO);
return effrows;
......
......@@ -2,7 +2,6 @@ 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;
......@@ -68,4 +67,19 @@ public interface TourTagBannerMapper extends Mapper<TourTagBanner> {
* @param status
*/
void updateTourBannerStatusByTagannerIdsAndTagId(@Param("tourTagBannerIds") List<Long> tourTagBannerIds, @Param("tagId") Integer tagId,@Param("status") Integer status);
/**
* 根据标签ids 查询
* @param tagIds
* @param status
* @return
*/
List<TourTagBannerDTO> findByTagIdsAndStatus(@Param("tagIds") List<Integer> tagIds, @Param("status") Integer status);
/**
* 批量插入
* @param tourTagBannerDTOS
* @return
*/
int insertBatch(@Param("tourTagBanners") List<TourTagBannerDTO> tourTagBannerDTOS);
}
......@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
*/
@RestController
@RequestMapping("/admin/tourBanner")
@Api(value = "banner后台接口")
@Api(value = "banner后台接口",tags = "banner后台接口")
public class TourBannerAdminController extends TourBaseController<TourBannerBiz> {
/**
......@@ -51,7 +51,7 @@ public class TourBannerAdminController extends TourBaseController<TourBannerBiz>
}
/**
* 分查询banner
* 分查询banner
* @param pageNo
* @param pageSize
* @return
......
......@@ -22,7 +22,7 @@ import java.util.List;
*/
@RestController
@RequestMapping("/admin/tourTag")
@Api(value = "后台*旅游标签")
@Api(value = "后台*旅游标签",tags = "后台*旅游标签")
public class TourTagAdminController extends TourBaseController<TourTagBiz> {
/**
* 分页查询标签
......
......@@ -16,6 +16,18 @@
<result property="isDel" column="is_del"/>
</resultMap>
<resultMap id="tourTagBannerDTOMap" type="com.xxfc.platform.tour.dto.TourTagBannerDTO">
<result property="id" column="id"/>
<result property="title" column="title"/>
<result property="cover" column="cover"/>
<result property="crtName" column="crt_name"/>
<result property="crtTime" column="crt_time"/>
<result property="updName" column="upd_name"/>
<result property="updTime" column="upd_time"/>
<result property="url" column="url"/>
<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=",">
......@@ -23,4 +35,17 @@
</foreach>
</delete>
<select id="findByTagIdsAndStatus" resultMap="tourTagBannerDTOMap">
select * from `tour_tag_banner` where `is_del`=#{status} and `tag_id` in
<foreach collection="tagIds" item="tagId" separator="," close=")" open="(">
#{tagId}
</foreach>
</select>
<insert id="insertBatch" keyProperty="id" keyColumn="id" useGeneratedKeys="true">
insert into `tour_tag_banner`(`title`,`cover`,`crt_name`,`tag_id`,`crt_time`)values
<foreach collection="tourTagBanners" item="tagbanner" separator=",">
(#{tagbanner.title},#{tagbanner.cover},#{tagbanner.crtName},#{tagbanner.tagId} ,#{tagbanner.crtTime})
</foreach>
</insert>
</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