Browse Source

指南收藏和我的收藏列表

dev_shibei_match
zhaoqifeng 4 years ago
parent
commit
04bdc9b658
  1. 1
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideListFormDTO.java
  2. 18
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideCollectionController.java
  3. 8
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideController.java
  4. 11
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideDao.java
  5. 12
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideCollectionService.java
  6. 11
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideService.java
  7. 35
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideCollectionServiceImpl.java
  8. 27
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java
  9. 18
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/GuideDao.xml

1
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideListFormDTO.java

@ -16,6 +16,7 @@ import java.io.Serializable;
public class GuideListFormDTO extends PageFormDTO implements Serializable { public class GuideListFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -4471422632936288213L; private static final long serialVersionUID = -4471422632936288213L;
private String customerId;
/** /**
* 组织ID * 组织ID
*/ */

18
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideCollectionController.java

@ -17,7 +17,9 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
@ -25,6 +27,7 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.GuideCollectionDTO; import com.epmet.dto.GuideCollectionDTO;
import com.epmet.dto.form.GuideFormDTO;
import com.epmet.service.GuideCollectionService; import com.epmet.service.GuideCollectionService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -81,4 +84,19 @@ public class GuideCollectionController {
return new Result(); return new Result();
} }
/**
* @Description 收藏指南
* @Param tokenDto
* @Param formDTO
* @Return {@link Result}
* @Author zhaoqifeng
* @Date 2021/9/9 9:46
*/
@PostMapping("collection")
public Result collection(@LoginUser TokenDto tokenDto, @RequestBody GuideFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
guideCollectionService.collection(tokenDto, formDTO);
return new Result();
}
} }

8
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideController.java

@ -169,4 +169,12 @@ public class GuideController {
} }
@PostMapping("collectionlist")
public Result<PageData<GuideListResultDTO>> collectionList(@LoginUser TokenDto tokenDto, @RequestBody PageFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class);
PageData<GuideListResultDTO> page = guideService.collectionList(tokenDto, formDTO);
return new Result<PageData<GuideListResultDTO>>().ok(page);
}
} }

11
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideDao.java

@ -18,6 +18,7 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.GuideListFormDTO; import com.epmet.dto.form.GuideListFormDTO;
import com.epmet.dto.result.GuideDetailResultDTO; import com.epmet.dto.result.GuideDetailResultDTO;
import com.epmet.dto.result.GuideListResultDTO; import com.epmet.dto.result.GuideListResultDTO;
@ -56,4 +57,14 @@ public interface GuideDao extends BaseDao<GuideEntity> {
*/ */
GuideDetailResultDTO getGuideDetail(@Param("guideId") String guideId); GuideDetailResultDTO getGuideDetail(@Param("guideId") String guideId);
/**
* 收藏列表
*
* @Param tokenDto
* @Return {@link List< GuideListResultDTO>}
* @Author zhaoqifeng
* @Date 2021/9/9 10:09
*/
List<GuideListResultDTO> getCollectionList(TokenDto tokenDto);
} }

12
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideCollectionService.java

@ -19,7 +19,9 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.GuideCollectionDTO; import com.epmet.dto.GuideCollectionDTO;
import com.epmet.dto.form.GuideFormDTO;
import com.epmet.entity.GuideCollectionEntity; import com.epmet.entity.GuideCollectionEntity;
import java.util.List; import java.util.List;
@ -92,4 +94,14 @@ public interface GuideCollectionService extends BaseService<GuideCollectionEntit
* @date 2021-09-06 * @date 2021-09-06
*/ */
void delete(String[] ids); void delete(String[] ids);
/**
* @Description 收藏指南
* @Param tokenDto
* @Param formDTO
* @Return
* @Author zhaoqifeng
* @Date 2021/9/9 9:46
*/
void collection(TokenDto tokenDto, GuideFormDTO formDTO);
} }

11
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideService.java

@ -18,6 +18,7 @@
package com.epmet.service; package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.GuideDTO; import com.epmet.dto.GuideDTO;
@ -150,4 +151,14 @@ public interface GuideService extends BaseService<GuideEntity> {
* @Date 2021/9/7 14:12 * @Date 2021/9/7 14:12
*/ */
GuideDetailResultDTO guideDetail(GuideFormDTO formDTO); GuideDetailResultDTO guideDetail(GuideFormDTO formDTO);
/**
* @Description 收藏列表
* @Param tokenDto
* @Param formDTO
* @Return {@link PageData< GuideListResultDTO>}
* @Author zhaoqifeng
* @Date 2021/9/9 10:07
*/
PageData<GuideListResultDTO> collectionList(TokenDto tokenDto, PageFormDTO formDTO);
} }

35
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideCollectionServiceImpl.java

@ -17,14 +17,17 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.GuideCollectionDao; import com.epmet.dao.GuideCollectionDao;
import com.epmet.dto.GuideCollectionDTO; import com.epmet.dto.GuideCollectionDTO;
import com.epmet.dto.form.GuideFormDTO;
import com.epmet.entity.GuideCollectionEntity; import com.epmet.entity.GuideCollectionEntity;
import com.epmet.service.GuideCollectionService; import com.epmet.service.GuideCollectionService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -97,4 +100,36 @@ public class GuideCollectionServiceImpl extends BaseServiceImpl<GuideCollectionD
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
/**
* @param tokenDto
* @param formDTO
* @Description 收藏指南
* @Param tokenDto
* @Param formDTO
* @Return
* @Author zhaoqifeng
* @Date 2021/9/9 9:46
*/
@Override
public void collection(TokenDto tokenDto, GuideFormDTO formDTO) {
//获取指南收藏信息
LambdaQueryWrapper<GuideCollectionEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(GuideCollectionEntity::getGuideId, formDTO.getGuideId());
wrapper.eq(GuideCollectionEntity::getUserId, tokenDto.getUserId());
wrapper.eq(GuideCollectionEntity::getApp, tokenDto.getApp());
wrapper.eq(GuideCollectionEntity::getCustomerId, tokenDto.getCustomerId());
GuideCollectionEntity entity = baseDao.selectOne(wrapper);
//如果没有收藏记录,则添加收藏,有就删除收藏
if (null == entity) {
entity = new GuideCollectionEntity();
entity.setCustomerId(tokenDto.getCustomerId());
entity.setUserId(tokenDto.getUserId());
entity.setGuideId(formDTO.getGuideId());
entity.setApp(tokenDto.getApp());
insert(entity);
} else {
deleteById(entity.getId());
}
}
} }

27
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java

@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
@ -142,6 +143,7 @@ public class GuideServiceImpl extends BaseServiceImpl<GuideDao, GuideEntity> imp
@Override @Override
public PageData<GuideListResultDTO> guideList(TokenDto tokenDto, GuideListFormDTO formDTO) { public PageData<GuideListResultDTO> guideList(TokenDto tokenDto, GuideListFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
formDTO.setCustomerId(tokenDto.getCustomerId());
List<GuideListResultDTO> list = baseDao.getGuideList(formDTO); List<GuideListResultDTO> list = baseDao.getGuideList(formDTO);
list.forEach(item -> { list.forEach(item -> {
CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), item.getCreatedId()); CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), item.getCreatedId());
@ -382,4 +384,29 @@ public class GuideServiceImpl extends BaseServiceImpl<GuideDao, GuideEntity> imp
return result; return result;
} }
/**
* @param tokenDto
* @Description 收藏列表
* @Param tokenDto
* @Param formDTO
* @Return {@link PageData< GuideListResultDTO>}
* @Author zhaoqifeng
* @Date 2021/9/9 10:03
*/
@Override
public PageData<GuideListResultDTO> collectionList(TokenDto tokenDto, PageFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<GuideListResultDTO> list = baseDao.getCollectionList(tokenDto);
list.forEach(item -> {
CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), item.getCreatedId());
if (null == staffInfoCache) {
item.setCategoryName("");
} else {
item.setCreatedName(staffInfoCache.getRealName());
}
});
PageInfo<GuideListResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
} }

18
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/GuideDao.xml

@ -29,8 +29,9 @@
g.UPDATED_TIME AS updatedTime, g.UPDATED_TIME AS updatedTime,
FROM FROM
guide g guide g
INNER JOIN guide_category gc ON g.CATEGORY_ID = gc.ID INNER JOIN guide_category gc ON g.CATEGORY_ID = gc.ID AND gc.DEL_FLAG = 0 AND gc.CUSTOMER_ID = #{customerId}
WHERE g.DEL_FLAG = 0 WHERE g.DEL_FLAG = 0
AND g.CUSTOMER_ID = #{customerId}
<if test='null != agencyId and "" != agencyId'> <if test='null != agencyId and "" != agencyId'>
AND g.PIDS LIKE CONCAT( '%', #{agencyId}, '%' ) AND g.PIDS LIKE CONCAT( '%', #{agencyId}, '%' )
</if> </if>
@ -56,6 +57,21 @@
WHERE WHERE
g.ID = #{guideId} g.ID = #{guideId}
</select> </select>
<select id="getCollectionList" resultType="com.epmet.dto.result.GuideListResultDTO">
SELECT
g.ID AS "guideId",
g.TITLE AS "title",
gc.CATEGORY_NAME AS categoryName,
g.CREATED_BY AS createdId,
g.UPDATED_TIME AS updatedTime,
FROM
guide g
INNER JOIN guide_category gc ON g.CATEGORY_ID = gc.ID AND gc.DEL_FLAG = 0 AND gc.CUSTOMER_ID = #{customerId}
INNER JOIN guide_collection gco ON g.ID = gco.GUIDE_ID AND gco.USER_ID = #{userId} AND gco.APP = #{app} AND gco.DEL_FLAG = 0
WHERE g.DEL_FLAG = 0
AND g.CUSTOMER_ID = #{customerId}
ORDER BY gco.CREATED_TIME DESC
</select>
</mapper> </mapper>
Loading…
Cancel
Save