提交 b910d4be 作者: 余乾开

Merge branch 'develop'

package com.mmc.csf.release.auth.qo;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @author: zj
* @Date: 2023/5/25 13:32
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BUserAccountQO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "关键字", required = false)
private String keyword;
@ApiModelProperty(value = "地区", required = false)
private String area;
@ApiModelProperty(value = "省份编码", required = false)
private Integer provinceCode;
@ApiModelProperty(value = "城市编码", required = false)
private Integer cityCode;
@ApiModelProperty(value = "县区编码", required = false)
private Integer districtCode;
@ApiModelProperty(value = "角色id", required = false)
private Integer roleId;
@ApiModelProperty(value = "账号状态:0禁用 1可用")
private Integer accountStatus;
@ApiModelProperty(value = "账号状态:0合伙人 1员工")
private Integer userType;
@ApiModelProperty(value = "用户id集合")
private List<Integer> userIds;
@ApiModelProperty(value = "推荐单位id")
private Integer rcdCompanyId;
@ApiModelProperty(value="单位集合", hidden = true)
private List<Integer> companys;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
......@@ -17,4 +17,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims
newTag: 671f8862bf03d64a3dada1c85a4c703644db7ede
newTag: 1dbdae2bbbb7844f6694567d60be05cd8d62ebae
package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.ForumDynamicDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Author LW
* @date 2023/5/15 10:29
......@@ -46,4 +49,5 @@ public interface LikeDAO {
*/
int getLikesCount(int dynamicId);
List<ForumDynamicDO> selectLiked(Integer userId, List<Integer> ids);
}
package com.mmc.csf.release.feign;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.release.auth.qo.BUserAccountQO;
import com.mmc.csf.release.feign.hystrix.UserAppApiHystrix;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import java.util.List;
......@@ -34,4 +33,14 @@ public interface UserAppApi {
*/
@GetMapping("/userapp/user-account/feignListUserAccountIds")
List<Integer> feignListUserAccountIds(@RequestParam Integer provinceCode, @RequestParam Integer cityCode, @RequestParam Integer districtCode);
/**
* 获取用户集合列表页面
*
* @param bUserAccountQO 问:b用户帐户
* @return {@link List}<{@link UserAccountSimpleDTO}>
*/
@PostMapping("/userapp/back-user/feignListBAccountPage")
List<UserAccountSimpleDTO> feignListBAccountPage(@ApiParam(value = "账号查询QO", required = true) @RequestBody BUserAccountQO bUserAccountQO);
}
package com.mmc.csf.release.feign.hystrix;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.release.auth.qo.BUserAccountQO;
import com.mmc.csf.release.feign.UserAppApi;
import lombok.extern.slf4j.Slf4j;
......@@ -23,4 +24,10 @@ public class UserAppApiHystrix implements UserAppApi {
log.error("熔断:feignListUserAccountIds:{}, {}, {}", provinceCode, cityCode, districtCode);
return null;
}
@Override
public List<UserAccountSimpleDTO> feignListBAccountPage(BUserAccountQO bUserAccountQO) {
log.error("熔断:feignListBAccountPage:{}", bUserAccountQO);
return null;
}
}
......@@ -3,14 +3,15 @@ package com.mmc.csf.release.service.impl;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.forum.vo.*;
import com.mmc.csf.release.auth.qo.BUserAccountQO;
import com.mmc.csf.release.dao.CommentDAO;
import com.mmc.csf.release.dao.DynamicDAO;
import com.mmc.csf.release.dao.LikeDAO;
import com.mmc.csf.release.entity.ForumDynamicDO;
import com.mmc.csf.release.entity.ForumImageDO;
import com.mmc.csf.release.entity.ForumVideoDO;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.forum.vo.*;
import com.mmc.csf.release.service.DynamicService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -18,10 +19,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
......@@ -145,6 +144,16 @@ public class DynamicServiceImpl implements DynamicService {
Map<Integer, List<ForumImageDO>> ImageMap = forumImageList.stream().collect(Collectors.groupingBy(ForumImageDO::getDynamicId));
// 获取视频信息
List<ForumVideoDO> forumVideoList = dynamicDAO.listDynamicVideo(ids);
// 获取用户信息
Set<Integer> userIds = forumDynamicList.stream().map(ForumDynamicDO::getUserId).collect(Collectors.toSet());
List<Integer> userIdList = new ArrayList<>(userIds);
BUserAccountQO bUserAccountQO = new BUserAccountQO();
bUserAccountQO.setUserIds(userIdList);
// 解决bug
List<UserAccountSimpleDTO> userAccountSimpleDTOS = userAppApi.feignListBAccountPage(bUserAccountQO);
Map<Integer, UserAccountSimpleDTO> userAccountInfoMap = userAccountSimpleDTOS.stream().collect(Collectors.toMap(UserAccountSimpleDTO::getId, Function.identity()));
//获取liked信息
List<ForumDynamicDO> forumDynamicDOS = likeDAO.selectLiked(userId, ids);
List<DynamicVO> dynamicVOList = forumDynamicList.stream()
.map(d -> {
MediaVO mediaVO = new MediaVO();
......@@ -158,16 +167,24 @@ public class DynamicServiceImpl implements DynamicService {
}
}
DynamicVO dynamicVO = d.buildDynamicVO();
UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(d.getUserId());
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setId(d.getUserId());
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
dynamicVO.setUserBaseInfo(userBaseInfoVO);
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());
dynamicVO.setUserBaseInfo(userBaseInfoVO);
}
dynamicVO.setMediaVO(mediaVO);
// 设置是否点赞
boolean liked = likeDAO.isLiked(userId, d.getId());
dynamicVO.setLikes(liked);
for (ForumDynamicDO forumDynamicDO : forumDynamicDOS) {
if (forumDynamicDO.getId().equals(d.getId())){
dynamicVO.setLikes(true);
break;
}else {
dynamicVO.setLikes(false);
}
}
return dynamicVO;
}).collect(Collectors.toList());
return PageResult.buildPage(pageNo, pageSize, count, dynamicVOList);
......
......@@ -48,10 +48,10 @@ public class RequirementsServiceImpl implements RequirementsService {
@Override
public ResultBody publish(RequirementsInfoVO requirementsInfoVO) {
//是否完成认证
UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(requirementsInfoVO.getUserAccountId());
if (userAccountSimpleDTO == null || !userAccountSimpleDTO.getCompanyAuthStatus().toString().equals("1")){
return ResultBody.error(ResultEnum.COMPANY_NOT_VERIFY_ERROR);
}
// UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(requirementsInfoVO.getUserAccountId());
// if (userAccountSimpleDTO == null || !userAccountSimpleDTO.getCompanyAuthStatus().toString().equals("1")){
// return ResultBody.error(ResultEnum.COMPANY_NOT_VERIFY_ERROR);
// }
RequirementsInfoDO requirementsInfoDO = new RequirementsInfoDO(requirementsInfoVO);
requirementsDao.addRequirementsInfo(requirementsInfoDO);
return ResultBody.success();
......
......@@ -25,4 +25,31 @@
FROM forum_like
WHERE dynamic_id = #{dynamicId}
</select>
<select id="isLikedBatch" resultType="java.lang.Boolean">
SELECT
*
FROM (
SELECT
d.id AS dynamic_id,
EXISTS (SELECT 1 FROM forum_like WHERE user_id = #{userId} AND dynamic_id = d.id) AS liked
FROM forum_dynamic d
WHERE d.id IN (
<foreach collection="ids" item="id" separator=",">
#{id}
</foreach>
)
) t
</select>
<select id="selectLiked" resultType="com.mmc.csf.release.entity.ForumDynamicDO">
SELECT fd.id
FROM forum_dynamic fd
INNER JOIN forum_like fl ON fd.id = fl.dynamic_id
where fl.user_id = #{userId}
and fd.id in (
<foreach collection="ids" item="id" separator=",">
#{id}
</foreach>
)
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论