提交 a5b94054 作者: xiaowang 提交者: 余乾开

小小优化

上级 16d3e183
package com.mmc.csf.release.forum.dto;
import com.mmc.csf.release.forum.vo.MediaVO;
import com.mmc.csf.release.forum.vo.UserBaseInfoVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author LW
*
* @date 2023/6/19 14:25 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class DynamicInfoDTO {
@ApiModelProperty(value = "动态id")
private Integer id;
@ApiModelProperty(value = "动态描述")
private String description;
@ApiModelProperty(value = "图片/视频")
private MediaVO mediaVO;
@ApiModelProperty(value = "show: 0显示 1隐藏")
private Integer show;
@ApiModelProperty(value = "发布动态用户信息")
private UserBaseInfoVO userBaseInfo;
}
package com.mmc.csf.release.forum.qo;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author LW
* @date 2023/6/19 11:12
* 概要:
*/
@Data
public class DynamicQO implements Serializable {
@ApiModelProperty(value = "关键字", required = true,example = "作者")
private String keyword;
@ApiModelProperty(value = "页码", required = true,example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class })
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true,example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class })
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
...@@ -22,4 +22,10 @@ public class UserBaseInfoVO implements Serializable { ...@@ -22,4 +22,10 @@ public class UserBaseInfoVO implements Serializable {
private String nickName; private String nickName;
@ApiModelProperty(value = "用户头像") @ApiModelProperty(value = "用户头像")
private String userImg; private String userImg;
@ApiModelProperty(value = "用户名称")
private String userName;
@ApiModelProperty(value = "手机号")
private String phone;
@ApiModelProperty(value = "UID")
private String uid;
} }
package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.forum.dto.DynamicInfoDTO;
import com.mmc.csf.release.forum.qo.DynamicQO;
import com.mmc.csf.release.service.BackstageForumService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* @Author LW
*
* @date 2023/6/19 10:44 概要:
*/
@Api(tags = {"后台-论坛管理-模块"})
@RestController
@RequestMapping("/backstage/forum")
public class BackstageForumController {
@Autowired BackstageForumService backstageForumService;
@ApiOperation(value = "动态列表")
@PostMapping("/listDynamic")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicInfoDTO.class)})
public ResultBody<DynamicInfoDTO> listDynamic(
@RequestBody DynamicQO dynamic, HttpServletRequest request) {
return ResultBody.success(backstageForumService.listDynamic(dynamic, request));
}
}
package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Author LW
*
* @date 2023/6/19 10:50 概要:
*/
@Mapper
public interface BackstageForumDao {
int countDynamic(@Param("ids") List<Integer> ids);
List<ForumDynamicDO> listDynamicInfo(
@Param("ids") List<Integer> ids,
@Param("pageNo") int pageNo,
@Param("pageSize") Integer pageSize);
}
package com.mmc.csf.release.dao; package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.ForumDynamicDO; import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.ForumImageDO; import com.mmc.csf.release.entity.forum.ForumImageDO;
import com.mmc.csf.release.entity.ForumVideoDO; import com.mmc.csf.release.entity.forum.ForumVideoDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -10,8 +10,8 @@ import java.util.List; ...@@ -10,8 +10,8 @@ import java.util.List;
/** /**
* @Author LW * @Author LW
* @date 2023/5/15 10:29 *
* 概要:动态信息数据访问层 * @date 2023/5/15 10:29 概要:动态信息数据访问层
*/ */
@Mapper @Mapper
public interface DynamicDAO { public interface DynamicDAO {
......
package com.mmc.csf.release.dao; package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.ForumDynamicDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -9,8 +8,8 @@ import java.util.List; ...@@ -9,8 +8,8 @@ import java.util.List;
/** /**
* @Author LW * @Author LW
* @date 2023/5/15 10:29 *
* 概要:点赞信息数据访问层 * @date 2023/5/15 10:29 概要:点赞信息数据访问层
*/ */
@Mapper @Mapper
public interface LikeDAO { public interface LikeDAO {
......
package com.mmc.csf.release.dao; package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.store.DummyFlyerDO;
import com.mmc.csf.release.entity.DummyFlyerDO; import com.mmc.csf.release.entity.store.DummyUavDO;
import com.mmc.csf.release.entity.DummyUavDO; import com.mmc.csf.release.entity.store.MaintainDO;
import com.mmc.csf.release.entity.MaintainDO; import com.mmc.csf.release.entity.store.WebsiteInfoDO;
import com.mmc.csf.release.entity.WebsiteInfoDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
/** /**
* @Author LW * @Author LW
* @date 2022/4/21 19:21 *
* 概要: * @date 2022/4/21 19:21 概要:
*/ */
@Mapper @Mapper
public interface WebsiteDao { public interface WebsiteDao {
...@@ -31,5 +30,4 @@ public interface WebsiteDao { ...@@ -31,5 +30,4 @@ public interface WebsiteDao {
List<WebsiteInfoDO> getWebsiteList(Double lon, Double lat, Integer pageNo, Integer pageSize); List<WebsiteInfoDO> getWebsiteList(Double lon, Double lat, Integer pageNo, Integer pageSize);
int countWebsiteList(); int countWebsiteList();
} }
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.forum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
...@@ -20,37 +20,20 @@ import java.util.Date; ...@@ -20,37 +20,20 @@ import java.util.Date;
@Accessors(chain = true) @Accessors(chain = true)
public class ForumCommentDO implements Serializable { public class ForumCommentDO implements Serializable {
private static final long serialVersionUID = 768897358613182410L; private static final long serialVersionUID = 768897358613182410L;
/** /** 评论id */
* 评论id
*/
private Integer id; private Integer id;
/** /** 用户id,外键,关联user表 */
* 用户id,外键,关联user表 private Integer userId; // todo userAccountId
*/ /** 动态id,外键,关联dynamic表 */
private Integer userId;
/**
* 动态id,外键,关联dynamic表
*/
private Integer dynamicId; private Integer dynamicId;
/** /** 评论内容 */
* 评论内容
*/
private String content; private String content;
/** /** 点赞数量 */
* 点赞数量
*/
private Integer likesCount; private Integer likesCount;
/** /** 创建时间 */
* 创建时间
*/
private Date createTime; private Date createTime;
/** /** 修改时间 */
* 修改时间
*/
private Date updateTime; private Date updateTime;
/** /** 是否删除,0表示未删除,1表示已删除 */
* 是否删除,0表示未删除,1表示已删除
*/
private Integer deleted; private Integer deleted;
} }
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.forum.dto.DynamicInfoDTO;
import com.mmc.csf.release.forum.vo.DynamicVO; import com.mmc.csf.release.forum.vo.DynamicVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
...@@ -22,57 +23,31 @@ import java.util.Date; ...@@ -22,57 +23,31 @@ import java.util.Date;
@Accessors(chain = true) @Accessors(chain = true)
public class ForumDynamicDO implements Serializable { public class ForumDynamicDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L; private static final long serialVersionUID = 570379773690905364L;
/** /** 主键,自增长 */
* 主键,自增长
*/
private Integer id; private Integer id;
/** /** 版本字段pid */
* 版本字段pid private Integer pid; // todo 修改为 version
*/ /** 动态标题 */
private Integer pid; private String title; // todo 删除
/** /** 发布用户ID */
* 动态标题 private Integer userId; // todo 改userAccountId
*/ /** 动态描述 */
private String title;
/**
* 发布用户ID
*/
private Integer userId;
/**
* 动态描述
*/
private String description; private String description;
/** /** 发布动态具体位置 */
* 发布动态具体位置
*/
private String location; private String location;
/** /** 发布动态纬度 */
* 发布动态纬度
*/
private BigDecimal lat; private BigDecimal lat;
/** /** 发布动态经度 */
* 发布动态经度
*/
private BigDecimal lon; private BigDecimal lon;
/** /** 点赞数 */
* 点赞数
*/
private Integer likesCount; private Integer likesCount;
/** /** 评论数 */
* 评论数
*/
private Integer commentsCount; private Integer commentsCount;
/** /** 创建时间 */
* 创建时间
*/
private Date createTime; private Date createTime;
/** /** 修改时间 */
* 修改时间
*/
private Date updateTime; private Date updateTime;
/** /** 是否删除,默认为0表示未删除 */
* 是否删除,默认为0表示未删除
*/
private Integer deleted; private Integer deleted;
public ForumDynamicDO(DynamicVO dynamicVO) { public ForumDynamicDO(DynamicVO dynamicVO) {
...@@ -84,10 +59,20 @@ public class ForumDynamicDO implements Serializable { ...@@ -84,10 +59,20 @@ public class ForumDynamicDO implements Serializable {
} }
public DynamicVO buildDynamicVO() { public DynamicVO buildDynamicVO() {
return DynamicVO.builder().id(id).description(description) return DynamicVO.builder()
.commentCount(commentsCount).likesCount(likesCount) .id(id)
.lat(lat).lon(lon).location(location).title(title) .description(description)
.dynamicPublishTime(createTime).build(); .commentCount(commentsCount)
.likesCount(likesCount)
.lat(lat)
.lon(lon)
.location(location)
.title(title)
.dynamicPublishTime(createTime)
.build();
} }
}
public DynamicInfoDTO buildDynamicInfoDTO() {
return DynamicInfoDTO.builder().id(id).description(description).show(deleted).build();
}
}
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.forum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
...@@ -20,30 +20,16 @@ import java.util.Date; ...@@ -20,30 +20,16 @@ import java.util.Date;
@Accessors(chain = true) @Accessors(chain = true)
public class ForumImageDO implements Serializable { public class ForumImageDO implements Serializable {
private static final long serialVersionUID = 678578415154893126L; private static final long serialVersionUID = 678578415154893126L;
/** /** 主键,自增长 */
* 主键,自增长 private Integer id; // todo 删除
*/ /** 动态ID,必填 */
private Integer id;
/**
* 动态ID,必填
*/
private Integer dynamicId; private Integer dynamicId;
/** /** 图片URL,必填 */
* 图片URL,必填
*/
private String url; private String url;
/** /** 创建时间 */
* 创建时间
*/
private Date createTime; private Date createTime;
/** /** 修改时间 */
* 修改时间
*/
private Date updateTime; private Date updateTime;
/** /** 是否删除,默认为0表示未删除 */
* 是否删除,默认为0表示未删除 private Integer deleted; // todo 删除
*/
private Integer deleted;
} }
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.forum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
...@@ -20,22 +20,12 @@ import java.util.Date; ...@@ -20,22 +20,12 @@ import java.util.Date;
@Accessors(chain = true) @Accessors(chain = true)
public class ForumLikeDO implements Serializable { public class ForumLikeDO implements Serializable {
private static final long serialVersionUID = 980171641026737097L; private static final long serialVersionUID = 980171641026737097L;
/** /** 点赞id */
* 点赞id
*/
private Integer id; private Integer id;
/** /** 用户id,外键,关联user表 */
* 用户id,外键,关联user表
*/
private Integer userId; private Integer userId;
/** /** 动态id,外键,关联dynamic表 */
* 动态id,外键,关联dynamic表
*/
private Integer dynamicId; private Integer dynamicId;
/** /** 创建时间 */
* 创建时间
*/
private Date createTime; private Date createTime;
} }
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.forum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
...@@ -20,30 +20,16 @@ import java.util.Date; ...@@ -20,30 +20,16 @@ import java.util.Date;
@Accessors(chain = true) @Accessors(chain = true)
public class ForumVideoDO implements Serializable { public class ForumVideoDO implements Serializable {
private static final long serialVersionUID = -50745508548714291L; private static final long serialVersionUID = -50745508548714291L;
/** /** 主键,自增长 */
* 主键,自增长
*/
private Integer id; private Integer id;
/** /** 动态ID,必填 */
* 动态ID,必填
*/
private Integer dynamicId; private Integer dynamicId;
/** /** 视频URL,必填 */
* 视频URL,必填
*/
private String url; private String url;
/** /** 创建时间 */
* 创建时间
*/
private Date createTime; private Date createTime;
/** /** 修改时间 */
* 修改时间
*/
private Date updateTime; private Date updateTime;
/** /** 是否删除,默认为0表示未删除 */
* 是否删除,默认为0表示未删除
*/
private Integer deleted; private Integer deleted;
} }
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.store;
import com.mmc.csf.web.dto.DummyFlyerDTO; import com.mmc.csf.web.dto.DummyFlyerDTO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
......
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.store;
import com.mmc.csf.web.dto.DummyUavDTO; import com.mmc.csf.web.dto.DummyUavDTO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
......
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.store;
import com.mmc.csf.web.dto.MaintainDTO; import com.mmc.csf.web.dto.MaintainDTO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -32,12 +32,18 @@ public class MaintainDO implements Serializable { ...@@ -32,12 +32,18 @@ public class MaintainDO implements Serializable {
private Double distance; private Double distance;
public MaintainDTO buildMaintainDTO() { public MaintainDTO buildMaintainDTO() {
this.distance = this.distance == null ? 0 : (BigDecimal.valueOf(this.distance).setScale(2, BigDecimal.ROUND_HALF_DOWN)).doubleValue(); this.distance =
return MaintainDTO.builder().name(name).address(address).lon(this.lon).lat(this.lat).distance(this.distance / 1000).build(); this.distance == null
? 0
: (BigDecimal.valueOf(this.distance).setScale(2, BigDecimal.ROUND_HALF_DOWN))
.doubleValue();
return MaintainDTO.builder()
.name(name)
.address(address)
.lon(this.lon)
.lat(this.lat)
.distance(this.distance / 1000)
.build();
} }
} }
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.store;
import com.mmc.csf.web.dto.WebsiteRangeDTO; import com.mmc.csf.web.dto.WebsiteRangeDTO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -10,8 +10,8 @@ import java.math.BigDecimal; ...@@ -10,8 +10,8 @@ import java.math.BigDecimal;
/** /**
* @Author LW * @Author LW
* @date 2022/4/21 20:09 *
* 概要: * @date 2022/4/21 20:09 概要:
*/ */
@Data @Data
@NoArgsConstructor @NoArgsConstructor
...@@ -24,9 +24,18 @@ public class WebsiteInfoDO implements Serializable { ...@@ -24,9 +24,18 @@ public class WebsiteInfoDO implements Serializable {
private Double lon; private Double lon;
private Double distance; private Double distance;
public WebsiteRangeDTO buildWebsiteRangeDTO() { public WebsiteRangeDTO buildWebsiteRangeDTO() {
this.distance = this.distance == null ? 0 : (BigDecimal.valueOf(this.distance).setScale(2, BigDecimal.ROUND_HALF_DOWN)).doubleValue(); this.distance =
return WebsiteRangeDTO.builder().name(name).address(address).lon(this.lon).lat(this.lat).distance(this.distance / 1000).build(); this.distance == null
? 0
: (BigDecimal.valueOf(this.distance).setScale(2, BigDecimal.ROUND_HALF_DOWN))
.doubleValue();
return WebsiteRangeDTO.builder()
.name(name)
.address(address)
.lon(this.lon)
.lat(this.lat)
.distance(this.distance / 1000)
.build();
} }
} }
package com.mmc.csf.release.service;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.release.forum.qo.DynamicQO;
import javax.servlet.http.HttpServletRequest;
/**
* @Author LW
*
* @date 2023/6/19 10:47 概要:
*/
public interface BackstageForumService {
PageResult listDynamic(DynamicQO dynamic, HttpServletRequest request);
}
package com.mmc.csf.release.service.impl;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.release.auth.qo.BUserAccountQO;
import com.mmc.csf.release.constant.TokenConstant;
import com.mmc.csf.release.dao.BackstageForumDao;
import com.mmc.csf.release.dao.DynamicDAO;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.forum.ForumImageDO;
import com.mmc.csf.release.entity.forum.ForumVideoDO;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.forum.dto.DynamicInfoDTO;
import com.mmc.csf.release.forum.qo.DynamicQO;
import com.mmc.csf.release.forum.vo.MediaVO;
import com.mmc.csf.release.forum.vo.UserBaseInfoVO;
import com.mmc.csf.release.service.BackstageForumService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @Author LW
*
* @date 2023/6/19 10:47 概要:
*/
@Service
public class BackstageForumServiceImpl implements BackstageForumService {
@Autowired BackstageForumDao backstageForumDao;
@Autowired DynamicDAO dynamicDAO;
@Autowired UserAppApi userAppApi;
@Override
public PageResult listDynamic(DynamicQO dynamic, HttpServletRequest request) {
List<Integer> userIds = null;
if (dynamic.getKeyword() != null) {
BUserAccountQO bUserAccountQO = new BUserAccountQO();
bUserAccountQO.setKeyword(dynamic.getKeyword());
// 获取筛选的用户id
List<UserAccountSimpleDTO> userAccountSimpleDTOS =
userAppApi.feignListBAccountPage(bUserAccountQO, request.getHeader(TokenConstant.TOKEN));
if (CollectionUtils.isNotEmpty(userAccountSimpleDTOS)) {
// 获取用户id
userIds =
userAccountSimpleDTOS.stream()
.map(UserAccountSimpleDTO::getId)
.collect(Collectors.toList());
}
if (userIds == null) {
return PageResult.buildPage(dynamic.getPageNo(), dynamic.getPageSize(), 0);
}
}
int count = backstageForumDao.countDynamic(userIds);
if (count == 0) {
return PageResult.buildPage(dynamic.getPageNo(), dynamic.getPageSize(), count);
}
int itemIndex = (dynamic.getPageNo() - 1) * dynamic.getPageSize();
// 获取动态信息
List<ForumDynamicDO> dynamicList =
backstageForumDao.listDynamicInfo(userIds, itemIndex, dynamic.getPageSize());
// 动态id集合
List<Integer> ids =
dynamicList.stream().map(ForumDynamicDO::getId).collect(Collectors.toList());
// 根据id集合查询图片
List<ForumImageDO> forumImageList = dynamicDAO.listDynamicPicture(ids);
Map<Integer, List<ForumImageDO>> ImageMap =
forumImageList.stream().collect(Collectors.groupingBy(ForumImageDO::getDynamicId));
// 获取视频信息
List<ForumVideoDO> forumVideoList = dynamicDAO.listDynamicVideo(ids);
// 获取查询到的列表用户信息
// 获取用户信息
Set<Integer> ListUserIds =
dynamicList.stream().map(ForumDynamicDO::getUserId).collect(Collectors.toSet());
List<Integer> userIdList = new ArrayList<>(ListUserIds);
BUserAccountQO accountQO = new BUserAccountQO();
accountQO.setUserIds(userIdList);
List<UserAccountSimpleDTO> userAccountSimpleList =
userAppApi.feignListBAccountPage(accountQO, request.getHeader(TokenConstant.TOKEN));
Map<Integer, UserAccountSimpleDTO> userAccountInfoMap =
userAccountSimpleList.stream()
.collect(Collectors.toMap(UserAccountSimpleDTO::getId, Function.identity()));
List<DynamicInfoDTO> list =
dynamicList.stream()
.map(
d -> {
DynamicInfoDTO dynamicInfoDTO = d.buildDynamicInfoDTO();
MediaVO mediaVO = new MediaVO();
if (CollectionUtils.isNotEmpty(ImageMap.get(d.getId()))) {
mediaVO.setPicture(
ImageMap.get(d.getId()).stream()
.map(ForumImageDO::getUrl)
.collect(Collectors.toList()));
}
for (ForumVideoDO forumVideoDO : forumVideoList) {
if (forumVideoDO.getDynamicId().equals(d.getId())) {
mediaVO.setVideoUrl(forumVideoDO.getUrl());
break;
}
}
UserAccountSimpleDTO userAccountSimpleDTO = userAccountInfoMap.get(d.getUserId());
if (userAccountSimpleDTO != null) {
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setId(d.getUserId());
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
userBaseInfoVO.setUserName(userAccountSimpleDTO.getUserName());
userBaseInfoVO.setPhone(userAccountSimpleDTO.getPhoneNum());
userBaseInfoVO.setUid(userAccountSimpleDTO.getUid());
dynamicInfoDTO.setUserBaseInfo(userBaseInfoVO);
}
dynamicInfoDTO.setMediaVO(mediaVO);
return dynamicInfoDTO;
})
.collect(Collectors.toList());
return PageResult.buildPage(dynamic.getPageNo(), dynamic.getPageSize(), count, list);
}
}
...@@ -8,9 +8,9 @@ import com.mmc.csf.release.constant.TokenConstant; ...@@ -8,9 +8,9 @@ import com.mmc.csf.release.constant.TokenConstant;
import com.mmc.csf.release.dao.CommentDAO; import com.mmc.csf.release.dao.CommentDAO;
import com.mmc.csf.release.dao.DynamicDAO; import com.mmc.csf.release.dao.DynamicDAO;
import com.mmc.csf.release.dao.LikeDAO; import com.mmc.csf.release.dao.LikeDAO;
import com.mmc.csf.release.entity.ForumDynamicDO; import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.ForumImageDO; import com.mmc.csf.release.entity.forum.ForumImageDO;
import com.mmc.csf.release.entity.ForumVideoDO; import com.mmc.csf.release.entity.forum.ForumVideoDO;
import com.mmc.csf.release.feign.UserAppApi; import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.forum.vo.*; import com.mmc.csf.release.forum.vo.*;
import com.mmc.csf.release.service.DynamicService; import com.mmc.csf.release.service.DynamicService;
...@@ -27,24 +27,20 @@ import java.util.stream.Collectors; ...@@ -27,24 +27,20 @@ import java.util.stream.Collectors;
/** /**
* @Author LW * @Author LW
* @date 2023/5/15 10:29 *
* 概要:动态信息实现层 * @date 2023/5/15 10:29 概要:动态信息实现层
*/ */
@Service @Service
public class DynamicServiceImpl implements DynamicService { public class DynamicServiceImpl implements DynamicService {
@Resource @Resource private DynamicDAO dynamicDAO;
private DynamicDAO dynamicDAO; @Resource private LikeDAO likeDAO;
@Resource @Resource private CommentDAO commentDAO;
private LikeDAO likeDAO; @Autowired private UserAppApi userAppApi;
@Resource
private CommentDAO commentDAO;
@Autowired
private UserAppApi userAppApi;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ResultBody insertDynamic(DynamicVO dynamicVO,Integer userAccountId) { public ResultBody insertDynamic(DynamicVO dynamicVO, Integer userAccountId) {
// 插入动态基本信息 // 插入动态基本信息
ForumDynamicDO forumDynamicDO = new ForumDynamicDO(dynamicVO); ForumDynamicDO forumDynamicDO = new ForumDynamicDO(dynamicVO);
forumDynamicDO.setUserId(userAccountId); forumDynamicDO.setUserId(userAccountId);
...@@ -80,7 +76,7 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -80,7 +76,7 @@ public class DynamicServiceImpl implements DynamicService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ResultBody commentDynamic(CommentVO commentVO,Integer userAccountId) { public ResultBody commentDynamic(CommentVO commentVO, Integer userAccountId) {
ForumDynamicDO forumDynamicDO = dynamicDAO.getDynamicInfo(commentVO.getDynamicId()); ForumDynamicDO forumDynamicDO = dynamicDAO.getDynamicInfo(commentVO.getDynamicId());
if (forumDynamicDO == null) { if (forumDynamicDO == null) {
return ResultBody.error("动态不存在或已删除"); return ResultBody.error("动态不存在或已删除");
...@@ -88,7 +84,8 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -88,7 +84,8 @@ public class DynamicServiceImpl implements DynamicService {
if (commentVO.getParentId() == null) { if (commentVO.getParentId() == null) {
commentDAO.insertComment(userAccountId, commentVO.getDynamicId(), commentVO.getContent()); commentDAO.insertComment(userAccountId, commentVO.getDynamicId(), commentVO.getContent());
} else { } else {
commentDAO.insertReplyComment(userAccountId, commentVO.getDynamicId(), commentVO.getContent(), commentVO.getParentId()); commentDAO.insertReplyComment(
userAccountId, commentVO.getDynamicId(), commentVO.getContent(), commentVO.getParentId());
} }
dynamicDAO.updateDynamicCommentCount(commentVO.getDynamicId(), forumDynamicDO.getPid()); dynamicDAO.updateDynamicCommentCount(commentVO.getDynamicId(), forumDynamicDO.getPid());
return ResultBody.success(); return ResultBody.success();
...@@ -104,14 +101,20 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -104,14 +101,20 @@ public class DynamicServiceImpl implements DynamicService {
public List<CommentAndReplyVO> getCommentAndReply(Integer dynamicId, HttpServletRequest request) { public List<CommentAndReplyVO> getCommentAndReply(Integer dynamicId, HttpServletRequest request) {
// 获取评论列表 // 获取评论列表
List<CommentAndReplyVO> commentList = commentDAO.selectCommentList(dynamicId); List<CommentAndReplyVO> commentList = commentDAO.selectCommentList(dynamicId);
commentList = commentList.stream().peek(d -> { commentList =
UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(d.getUserId(), request.getHeader(TokenConstant.TOKEN)); commentList.stream()
.peek(
d -> {
UserAccountSimpleDTO userAccountSimpleDTO =
userAppApi.feignGetUserSimpleInfo(
d.getUserId(), request.getHeader(TokenConstant.TOKEN));
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO(); UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setId(d.getUserId()); userBaseInfoVO.setId(d.getUserId());
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName()); userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg()); userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
d.setUserBaseInfoVO(userBaseInfoVO); d.setUserBaseInfoVO(userBaseInfoVO);
}).collect(Collectors.toList()); })
.collect(Collectors.toList());
List<CommentAndReplyVO> topLevelComment = new ArrayList<>(); List<CommentAndReplyVO> topLevelComment = new ArrayList<>();
Map<Integer, CommentAndReplyVO> commentMap = new HashMap<>(); Map<Integer, CommentAndReplyVO> commentMap = new HashMap<>();
// 将每个数据模型对象添加到Map中,以便在递归过程中查找它们的父母 // 将每个数据模型对象添加到Map中,以便在递归过程中查找它们的父母
...@@ -132,7 +135,8 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -132,7 +135,8 @@ public class DynamicServiceImpl implements DynamicService {
} }
@Override @Override
public PageResult dynamicList(Integer pageNo, Integer pageSize, Integer userId, HttpServletRequest request) { public PageResult dynamicList(
Integer pageNo, Integer pageSize, Integer userId, HttpServletRequest request) {
int count = dynamicDAO.countDynamicList(); int count = dynamicDAO.countDynamicList();
if (count == 0) { if (count == 0) {
return PageResult.buildPage(pageNo, pageSize, 0); return PageResult.buildPage(pageNo, pageSize, 0);
...@@ -140,27 +144,38 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -140,27 +144,38 @@ public class DynamicServiceImpl implements DynamicService {
int itemIndex = (pageNo - 1) * pageSize; int itemIndex = (pageNo - 1) * pageSize;
List<ForumDynamicDO> forumDynamicList = dynamicDAO.dynamicList(itemIndex, pageSize); List<ForumDynamicDO> forumDynamicList = dynamicDAO.dynamicList(itemIndex, pageSize);
// 动态id集合 // 动态id集合
List<Integer> ids = forumDynamicList.stream().map(ForumDynamicDO::getId).collect(Collectors.toList()); List<Integer> ids =
forumDynamicList.stream().map(ForumDynamicDO::getId).collect(Collectors.toList());
// 根据id集合查询图片 // 根据id集合查询图片
List<ForumImageDO> forumImageList = dynamicDAO.listDynamicPicture(ids); List<ForumImageDO> forumImageList = dynamicDAO.listDynamicPicture(ids);
Map<Integer, List<ForumImageDO>> ImageMap = forumImageList.stream().collect(Collectors.groupingBy(ForumImageDO::getDynamicId)); Map<Integer, List<ForumImageDO>> ImageMap =
forumImageList.stream().collect(Collectors.groupingBy(ForumImageDO::getDynamicId));
// 获取视频信息 // 获取视频信息
List<ForumVideoDO> forumVideoList = dynamicDAO.listDynamicVideo(ids); List<ForumVideoDO> forumVideoList = dynamicDAO.listDynamicVideo(ids);
// 获取用户信息 // 获取用户信息
Set<Integer> userIds = forumDynamicList.stream().map(ForumDynamicDO::getUserId).collect(Collectors.toSet()); Set<Integer> userIds =
forumDynamicList.stream().map(ForumDynamicDO::getUserId).collect(Collectors.toSet());
List<Integer> userIdList = new ArrayList<>(userIds); List<Integer> userIdList = new ArrayList<>(userIds);
BUserAccountQO bUserAccountQO = new BUserAccountQO(); BUserAccountQO bUserAccountQO = new BUserAccountQO();
bUserAccountQO.setUserIds(userIdList); bUserAccountQO.setUserIds(userIdList);
// 解决bug // 解决bug
List<UserAccountSimpleDTO> userAccountSimpleDTOS = userAppApi.feignListBAccountPage(bUserAccountQO, request.getHeader(TokenConstant.TOKEN)); List<UserAccountSimpleDTO> userAccountSimpleDTOS =
Map<Integer, UserAccountSimpleDTO> userAccountInfoMap = userAccountSimpleDTOS.stream().collect(Collectors.toMap(UserAccountSimpleDTO::getId, Function.identity())); userAppApi.feignListBAccountPage(bUserAccountQO, request.getHeader(TokenConstant.TOKEN));
//获取liked信息 Map<Integer, UserAccountSimpleDTO> userAccountInfoMap =
userAccountSimpleDTOS.stream()
.collect(Collectors.toMap(UserAccountSimpleDTO::getId, Function.identity()));
// 获取liked信息
List<ForumDynamicDO> forumDynamicDOS = likeDAO.selectLiked(userId, ids); List<ForumDynamicDO> forumDynamicDOS = likeDAO.selectLiked(userId, ids);
List<DynamicVO> dynamicVOList = forumDynamicList.stream() List<DynamicVO> dynamicVOList =
.map(d -> { forumDynamicList.stream()
.map(
d -> {
MediaVO mediaVO = new MediaVO(); MediaVO mediaVO = new MediaVO();
if (CollectionUtils.isNotEmpty(ImageMap.get(d.getId()))) { if (CollectionUtils.isNotEmpty(ImageMap.get(d.getId()))) {
mediaVO.setPicture(ImageMap.get(d.getId()).stream().map(ForumImageDO::getUrl).collect(Collectors.toList())); mediaVO.setPicture(
ImageMap.get(d.getId()).stream()
.map(ForumImageDO::getUrl)
.collect(Collectors.toList()));
} }
for (ForumVideoDO forumVideoDO : forumVideoList) { for (ForumVideoDO forumVideoDO : forumVideoList) {
if (forumVideoDO.getDynamicId().equals(d.getId())) { if (forumVideoDO.getDynamicId().equals(d.getId())) {
...@@ -170,7 +185,7 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -170,7 +185,7 @@ public class DynamicServiceImpl implements DynamicService {
} }
DynamicVO dynamicVO = d.buildDynamicVO(); DynamicVO dynamicVO = d.buildDynamicVO();
UserAccountSimpleDTO userAccountSimpleDTO = userAccountInfoMap.get(d.getUserId()); UserAccountSimpleDTO userAccountSimpleDTO = userAccountInfoMap.get(d.getUserId());
if (userAccountSimpleDTO != null){ if (userAccountSimpleDTO != null) {
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO(); UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setId(d.getUserId()); userBaseInfoVO.setId(d.getUserId());
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName()); userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
...@@ -180,15 +195,16 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -180,15 +195,16 @@ public class DynamicServiceImpl implements DynamicService {
dynamicVO.setMediaVO(mediaVO); dynamicVO.setMediaVO(mediaVO);
// 设置是否点赞 // 设置是否点赞
for (ForumDynamicDO forumDynamicDO : forumDynamicDOS) { for (ForumDynamicDO forumDynamicDO : forumDynamicDOS) {
if (forumDynamicDO.getId().equals(d.getId())){ if (forumDynamicDO.getId().equals(d.getId())) {
dynamicVO.setLikes(true); dynamicVO.setLikes(true);
break; break;
}else { } else {
dynamicVO.setLikes(false); dynamicVO.setLikes(false);
} }
} }
return dynamicVO; return dynamicVO;
}).collect(Collectors.toList()); })
.collect(Collectors.toList());
return PageResult.buildPage(pageNo, pageSize, count, dynamicVOList); return PageResult.buildPage(pageNo, pageSize, count, dynamicVOList);
} }
...@@ -207,12 +223,15 @@ public class DynamicServiceImpl implements DynamicService { ...@@ -207,12 +223,15 @@ public class DynamicServiceImpl implements DynamicService {
mediaVO.setVideoUrl(forumVideoDO.getUrl()); mediaVO.setVideoUrl(forumVideoDO.getUrl());
} }
if (CollectionUtils.isNotEmpty(forumImage)) { if (CollectionUtils.isNotEmpty(forumImage)) {
mediaVO.setPicture(forumImage.stream().map(ForumImageDO::getUrl).collect(Collectors.toList())); mediaVO.setPicture(
forumImage.stream().map(ForumImageDO::getUrl).collect(Collectors.toList()));
} }
DynamicVO dynamicVO = dynamicInfo.buildDynamicVO(); DynamicVO dynamicVO = dynamicInfo.buildDynamicVO();
// 设置是否点赞 // 设置是否点赞
boolean liked = likeDAO.isLiked(userId, dynamicId); boolean liked = likeDAO.isLiked(userId, dynamicId);
UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(dynamicInfo.getUserId(), request.getHeader(TokenConstant.TOKEN)); UserAccountSimpleDTO userAccountSimpleDTO =
userAppApi.feignGetUserSimpleInfo(
dynamicInfo.getUserId(), request.getHeader(TokenConstant.TOKEN));
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO(); UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName()); userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg()); userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
......
...@@ -2,8 +2,8 @@ package com.mmc.csf.release.service.impl; ...@@ -2,8 +2,8 @@ package com.mmc.csf.release.service.impl;
import com.mmc.csf.common.util.page.PageResult; import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.release.dao.WebsiteDao; import com.mmc.csf.release.dao.WebsiteDao;
import com.mmc.csf.release.entity.MaintainDO; import com.mmc.csf.release.entity.store.MaintainDO;
import com.mmc.csf.release.entity.WebsiteInfoDO; import com.mmc.csf.release.entity.store.WebsiteInfoDO;
import com.mmc.csf.release.service.WebsiteService; import com.mmc.csf.release.service.WebsiteService;
import com.mmc.csf.web.dto.MaintainDTO; import com.mmc.csf.web.dto.MaintainDTO;
import com.mmc.csf.web.dto.WebsiteRangeDTO; import com.mmc.csf.web.dto.WebsiteRangeDTO;
...@@ -15,14 +15,12 @@ import java.util.stream.Collectors; ...@@ -15,14 +15,12 @@ import java.util.stream.Collectors;
/** /**
* @Author LW * @Author LW
* @date 2022/4/21 19:19 *
* 概要: * @date 2022/4/21 19:19 概要:
*/ */
@Service @Service
public class WebsiteServiceImpl implements WebsiteService { public class WebsiteServiceImpl implements WebsiteService {
@Autowired @Autowired private WebsiteDao websiteDao;
private WebsiteDao websiteDao;
@Override @Override
public PageResult listMaintainData(Integer pageNo, Integer pageSize, Double lon, Double lat) { public PageResult listMaintainData(Integer pageNo, Integer pageSize, Double lon, Double lat) {
...@@ -30,7 +28,10 @@ public class WebsiteServiceImpl implements WebsiteService { ...@@ -30,7 +28,10 @@ public class WebsiteServiceImpl implements WebsiteService {
if (count == 0) { if (count == 0) {
return PageResult.buildPage(pageNo, pageSize, count); return PageResult.buildPage(pageNo, pageSize, count);
} }
List<MaintainDTO> list = websiteDao.listMaintain(lon, lat, (pageNo - 1) * pageSize, pageSize).stream().map(MaintainDO::buildMaintainDTO).collect(Collectors.toList()); List<MaintainDTO> list =
websiteDao.listMaintain(lon, lat, (pageNo - 1) * pageSize, pageSize).stream()
.map(MaintainDO::buildMaintainDTO)
.collect(Collectors.toList());
return PageResult.buildPage(pageNo, pageSize, count, list); return PageResult.buildPage(pageNo, pageSize, count, list);
} }
...@@ -40,7 +41,10 @@ public class WebsiteServiceImpl implements WebsiteService { ...@@ -40,7 +41,10 @@ public class WebsiteServiceImpl implements WebsiteService {
if (count == 0) { if (count == 0) {
return PageResult.buildPage(pageNo, pageSize, count); return PageResult.buildPage(pageNo, pageSize, count);
} }
List<WebsiteRangeDTO> list = websiteDao.getWebsiteList(lon, lat, (pageNo - 1) * pageSize, pageSize).stream().map(WebsiteInfoDO::buildWebsiteRangeDTO).collect(Collectors.toList()); List<WebsiteRangeDTO> list =
websiteDao.getWebsiteList(lon, lat, (pageNo - 1) * pageSize, pageSize).stream()
.map(WebsiteInfoDO::buildWebsiteRangeDTO)
.collect(Collectors.toList());
return PageResult.buildPage(pageNo, pageSize, count, list); return PageResult.buildPage(pageNo, pageSize, count, list);
} }
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.csf.release.dao.BackstageForumDao">
<select id="countDynamic" resultType="java.lang.Integer">
select count(*) from forum_dynamic
<where>
<foreach collection="ids" index="index" separator="," open="user_id in (" close=")" item="ids">
#{ids}
</foreach>
</where>
</select>
<select id="listDynamicInfo" resultType="com.mmc.csf.release.entity.forum.ForumDynamicDO">
select id,user_id,description,is_deleted as deleted from forum_dynamic
<where>
<foreach collection="ids" index="index" separator="," open="user_id in (" close=")" item="ids">
#{ids}
</foreach>
</where>
limit #{pageNo},#{pageSize}
</select>
</mapper>
\ No newline at end of file
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
insert into forum_video(dynamic_id, url) insert into forum_video(dynamic_id, url)
values (#{dynamicId}, #{videoUrl}) values (#{dynamicId}, #{videoUrl})
</insert> </insert>
<insert id="insertDynamic" keyProperty="id" useGeneratedKeys="true" parameterType="com.mmc.csf.release.entity.ForumDynamicDO"> <insert id="insertDynamic" keyProperty="id" useGeneratedKeys="true"
parameterType="com.mmc.csf.release.entity.forum.ForumDynamicDO">
INSERT INTO forum_dynamic(title, user_id, description, location, lat, lon) INSERT INTO forum_dynamic(title, user_id, description, location, lat, lon)
VALUES (#{title}, #{userId}, #{description}, #{location}, #{lat}, #{lon}) VALUES (#{title}, #{userId}, #{description}, #{location}, #{lat}, #{lon})
</insert> </insert>
...@@ -37,7 +38,7 @@ ...@@ -37,7 +38,7 @@
where id = #{dynamicId} where id = #{dynamicId}
and pid = #{pid}; and pid = #{pid};
</update> </update>
<select id="getDynamicInfo" resultType="com.mmc.csf.release.entity.ForumDynamicDO"> <select id="getDynamicInfo" resultType="com.mmc.csf.release.entity.forum.ForumDynamicDO">
select id, select id,
pid, pid,
title, title,
...@@ -55,9 +56,10 @@ ...@@ -55,9 +56,10 @@
</select> </select>
<select id="countDynamicList" resultType="java.lang.Integer"> <select id="countDynamicList" resultType="java.lang.Integer">
select count(*) select count(*)
from forum_dynamic where is_deleted = 0 from forum_dynamic
where is_deleted = 0
</select> </select>
<select id="dynamicList" resultType="com.mmc.csf.release.entity.ForumDynamicDO"> <select id="dynamicList" resultType="com.mmc.csf.release.entity.forum.ForumDynamicDO">
select id, select id,
pid, pid,
title, title,
...@@ -75,7 +77,7 @@ ...@@ -75,7 +77,7 @@
LIMIT #{itemIndex}, #{pageSize} LIMIT #{itemIndex}, #{pageSize}
</select> </select>
<select id="listDynamicPicture" resultType="com.mmc.csf.release.entity.ForumImageDO"> <select id="listDynamicPicture" resultType="com.mmc.csf.release.entity.forum.ForumImageDO">
select id, url , dynamic_id select id, url , dynamic_id
from forum_image from forum_image
where where
...@@ -84,7 +86,7 @@ ...@@ -84,7 +86,7 @@
#{item} #{item}
</foreach> </foreach>
</select> </select>
<select id="listDynamicVideo" resultType="com.mmc.csf.release.entity.ForumVideoDO"> <select id="listDynamicVideo" resultType="com.mmc.csf.release.entity.forum.ForumVideoDO">
select id, url , dynamic_id select id, url , dynamic_id
from forum_video from forum_video
where where
...@@ -93,7 +95,7 @@ ...@@ -93,7 +95,7 @@
#{item} #{item}
</foreach> </foreach>
</select> </select>
<select id="dynamicPicture" resultType="com.mmc.csf.release.entity.ForumImageDO"> <select id="dynamicPicture" resultType="com.mmc.csf.release.entity.forum.ForumImageDO">
select id, select id,
dynamic_id, dynamic_id,
url url
...@@ -101,7 +103,7 @@ ...@@ -101,7 +103,7 @@
where dynamic_id = #{dynamicId} where dynamic_id = #{dynamicId}
and is_deleted = 0 and is_deleted = 0
</select> </select>
<select id="dynamicVideo" resultType="com.mmc.csf.release.entity.ForumVideoDO"> <select id="dynamicVideo" resultType="com.mmc.csf.release.entity.forum.ForumVideoDO">
select id, select id,
dynamic_id, dynamic_id,
url url
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
) t ) t
</select> </select>
<select id="selectLiked" resultType="com.mmc.csf.release.entity.ForumDynamicDO"> <select id="selectLiked" resultType="com.mmc.csf.release.entity.forum.ForumDynamicDO">
SELECT fd.id SELECT fd.id
FROM forum_dynamic fd FROM forum_dynamic fd
INNER JOIN forum_like fl ON fd.id = fl.dynamic_id INNER JOIN forum_like fl ON fd.id = fl.dynamic_id
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.csf.release.dao.WebsiteDao"> <mapper namespace="com.mmc.csf.release.dao.WebsiteDao">
<resultMap id="dummyFlyerResultMap" type="com.mmc.csf.release.entity.DummyFlyerDO"> <resultMap id="dummyFlyerResultMap" type="com.mmc.csf.release.entity.store.DummyFlyerDO">
<id property="id" column="id"/> <id property="id" column="id"/>
<result property="flyerName" column="flyer_name"/> <result property="flyerName" column="flyer_name"/>
<result property="phoneNum" column="phone_num"/> <result property="phoneNum" column="phone_num"/>
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<result property="distance" column="distance"/> <result property="distance" column="distance"/>
</resultMap> </resultMap>
<resultMap id="dummyUavResultMap" type="com.mmc.csf.release.entity.DummyUavDO"> <resultMap id="dummyUavResultMap" type="com.mmc.csf.release.entity.store.DummyUavDO">
<id property="id" column="id"/> <id property="id" column="id"/>
<result property="code" column="code"/> <result property="code" column="code"/>
<result property="online" column="online"/> <result property="online" column="online"/>
...@@ -23,65 +23,74 @@ ...@@ -23,65 +23,74 @@
<result property="distance" column="distance"/> <result property="distance" column="distance"/>
</resultMap> </resultMap>
<select id="getWebsiteByAdCode" resultType="com.mmc.csf.release.entity.WebsiteInfoDO"> <select id="getWebsiteByAdCode" resultType="com.mmc.csf.release.entity.store.WebsiteInfoDO">
select id, ad_code adCode, province, location, create_time createTime select id, ad_code adCode, province, location, create_time createTime
from website_info from website_info
where ad_code = #{adCode} where ad_code = #{adCode}
</select> </select>
<select id="countDummyFlyer" resultType="Integer"> <select id="countDummyFlyer" resultType="Integer">
select count(*) from dummy_flyer select count(*)
from dummy_flyer
</select> </select>
<select id="listDummyFlyer" resultMap="dummyFlyerResultMap"> <select id="listDummyFlyer" resultMap="dummyFlyerResultMap">
SELECT id,flyer_name,phone_num,lon,lat, SELECT id,
st_distance_sphere(point(lon,lat),point(${lon},${lat})) as distance flyer_name,
phone_num,
lon,
lat,
st_distance_sphere(point(lon, lat), point(${lon}, ${lat})) as distance
FROM dummy_flyer FROM dummy_flyer
ORDER BY distance ASC ORDER BY distance ASC
LIMIT #{pageNo},#{pageSize} LIMIT #{pageNo}, #{pageSize}
</select> </select>
<select id="countDummyUav" resultType="Integer"> <select id="countDummyUav" resultType="Integer">
select count(*) from dummy_uav select count(*)
from dummy_uav
</select> </select>
<select id="listDummyUav" resultMap="dummyUavResultMap"> <select id="listDummyUav" resultMap="dummyUavResultMap">
SELECT id,code,online,lon,lat,uav_name, SELECT id,
st_distance_sphere(point(lon,lat),point(${lon},${lat})) as distance code,
online,
lon,
lat,
uav_name,
st_distance_sphere(point(lon, lat), point(${lon}, ${lat})) as distance
FROM dummy_uav FROM dummy_uav
ORDER BY distance ASC ORDER BY distance ASC
LIMIT #{pageNo},#{pageSize} LIMIT #{pageNo}, #{pageSize}
</select> </select>
<select id="countMaintain" resultType="java.lang.Integer"> <select id="countMaintain" resultType="java.lang.Integer">
select count(*) from maintain select count(*)
from maintain
</select> </select>
<select id="listMaintain" resultType="com.mmc.csf.release.entity.MaintainDO"> <select id="listMaintain" resultType="com.mmc.csf.release.entity.store.MaintainDO">
SELECT SELECT id,
id,
`name`, `name`,
address, address,
lon, lon,
lat, st_distance_sphere (point (lon,lat),point (${lon},${lat})) AS distance lat,
FROM st_distance_sphere(point(lon, lat), point(${lon}, ${lat})) AS distance
maintain FROM maintain
ORDER BY ORDER BY distance ASC
distance ASC LIMIT #{pageNo}, #{pageSize}
LIMIT #{pageNo},#{pageSize}
</select> </select>
<select id="countWebsiteList" resultType="java.lang.Integer"> <select id="countWebsiteList" resultType="java.lang.Integer">
select count(*) from website_info select count(*)
from website_info
</select> </select>
<select id="getWebsiteList" resultType="com.mmc.csf.release.entity.WebsiteInfoDO"> <select id="getWebsiteList" resultType="com.mmc.csf.release.entity.store.WebsiteInfoDO">
SELECT SELECT id,
id,
`name`, `name`,
address, address,
lon, lon,
lat, st_distance_sphere (point (lon,lat),point (${lon},${lat})) AS distance lat,
FROM st_distance_sphere(point(lon, lat), point(${lon}, ${lat})) AS distance
website_info FROM website_info
ORDER BY ORDER BY distance ASC
distance ASC LIMIT #{pageNo}, #{pageSize}
LIMIT #{pageNo},#{pageSize}
</select> </select>
</mapper> </mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论