main
parent
57ad54dc42
commit
d209830640
|
|
@ -4,6 +4,7 @@ import com.mdd.common.core.basics.IBaseMapper;
|
||||||
import com.mdd.common.entity.AddressVo;
|
import com.mdd.common.entity.AddressVo;
|
||||||
import com.mdd.common.entity.AppCircle;
|
import com.mdd.common.entity.AppCircle;
|
||||||
import com.mdd.common.vo.AppCircleVo;
|
import com.mdd.common.vo.AppCircleVo;
|
||||||
|
import com.mdd.common.vo.CircleDetailVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
|
@ -20,5 +21,5 @@ public interface AppCircleMapper extends IBaseMapper<AppCircle> {
|
||||||
|
|
||||||
List<Integer> listFriendByUserId(@Param("ids") List<Integer> ids);
|
List<Integer> listFriendByUserId(@Param("ids") List<Integer> ids);
|
||||||
|
|
||||||
List<AddressVo> circleUserGroupUser(@Param("circleId") Long circleId);
|
CircleDetailVo selectOne(@Param("circleId") Integer circleId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
package com.mdd.common.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("圈子信息详情Vo")
|
||||||
|
public class CircleDetailVo implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "圈子名字")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "圈子封面")
|
||||||
|
private String imgUrl;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "简介")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "圈子类型1私密群2好友圈3位置圈")
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "圈子类型补充1固定位置2可变位置")
|
||||||
|
private Integer typeInfo;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建用户")
|
||||||
|
private Integer userId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否开启sos通知1是2否")
|
||||||
|
private Integer isSos;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "sos消耗金额")
|
||||||
|
private Integer sosUse;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "圈子内容是否仅圈友可写入1是2否")
|
||||||
|
private Integer isWrite;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "圈子内容是否仅圈友可见1是2否")
|
||||||
|
private Integer isRead;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "加入是否需要审核")
|
||||||
|
private Integer isCheck;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "经度")
|
||||||
|
private String longitude;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "纬度")
|
||||||
|
private String latitude;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户数")
|
||||||
|
private Integer userNum;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "好友数")
|
||||||
|
private Integer friendNum;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否加入1是2否")
|
||||||
|
private Integer is_join;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -68,6 +68,17 @@
|
||||||
order by count(c.id),count(l.id) desc
|
order by count(c.id),count(l.id) desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectOne" resultType="com.mdd.common.vo.CircleDetailVo">
|
||||||
|
select
|
||||||
|
<include refid="circleColumns"/>,
|
||||||
|
count(u.id) as "userNum"
|
||||||
|
from la_app_circle a
|
||||||
|
left join la_app_circle_user u on a.id = u.user_id and u.is_delete = 0
|
||||||
|
where a.is_delete = 0
|
||||||
|
and a.id = #{circleId}
|
||||||
|
group by a.id
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="circleUserGroupUser" resultType="com.mdd.common.entity.AddressVo">
|
<select id="circleUserGroupUser" resultType="com.mdd.common.entity.AddressVo">
|
||||||
select
|
select
|
||||||
a.longitude as "longitude",
|
a.longitude as "longitude",
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.mdd.front.controller;
|
||||||
|
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.mdd.common.vo.AppCircleVo;
|
import com.mdd.common.vo.AppCircleVo;
|
||||||
|
import com.mdd.common.vo.CircleDetailVo;
|
||||||
import com.mdd.front.aop.Log;
|
import com.mdd.front.aop.Log;
|
||||||
import com.mdd.front.service.IAppCircleService;
|
import com.mdd.front.service.IAppCircleService;
|
||||||
import com.mdd.front.validate.AppCircleCreateValidate;
|
import com.mdd.front.validate.AppCircleCreateValidate;
|
||||||
|
|
@ -55,8 +56,8 @@ public class AppCircleController {
|
||||||
|
|
||||||
@GetMapping("/detail")
|
@GetMapping("/detail")
|
||||||
@ApiOperation(value="圈子信息详情")
|
@ApiOperation(value="圈子信息详情")
|
||||||
public AjaxResult<AppCircleDetailVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
public AjaxResult<CircleDetailVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
|
||||||
AppCircleDetailVo detail = iAppCircleService.detail(id);
|
CircleDetailVo detail = iAppCircleService.detail(id);
|
||||||
return AjaxResult.success(detail);
|
return AjaxResult.success(detail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.mdd.front.service;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.mdd.common.core.AjaxResult;
|
import com.mdd.common.core.AjaxResult;
|
||||||
import com.mdd.common.vo.AppCircleVo;
|
import com.mdd.common.vo.AppCircleVo;
|
||||||
|
import com.mdd.common.vo.CircleDetailVo;
|
||||||
import com.mdd.front.validate.common.PageValidate;
|
import com.mdd.front.validate.common.PageValidate;
|
||||||
import com.mdd.front.validate.AppCircleCreateValidate;
|
import com.mdd.front.validate.AppCircleCreateValidate;
|
||||||
import com.mdd.front.validate.AppCircleUpdateValidate;
|
import com.mdd.front.validate.AppCircleUpdateValidate;
|
||||||
|
|
@ -36,7 +37,7 @@ public interface IAppCircleService {
|
||||||
* @param id 主键ID
|
* @param id 主键ID
|
||||||
* @return AppCircleDetailVo
|
* @return AppCircleDetailVo
|
||||||
*/
|
*/
|
||||||
AppCircleDetailVo detail(Integer id);
|
CircleDetailVo detail(Integer id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 圈子信息新增
|
* 圈子信息新增
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import com.mdd.common.mapper.AppCircleAddressMapper;
|
||||||
import com.mdd.common.mapper.AppCircleUserMapper;
|
import com.mdd.common.mapper.AppCircleUserMapper;
|
||||||
import com.mdd.common.mapper.AppFriendMapper;
|
import com.mdd.common.mapper.AppFriendMapper;
|
||||||
import com.mdd.common.vo.AppCircleVo;
|
import com.mdd.common.vo.AppCircleVo;
|
||||||
|
import com.mdd.common.vo.CircleDetailVo;
|
||||||
import com.mdd.front.validate.common.PageValidate;
|
import com.mdd.front.validate.common.PageValidate;
|
||||||
import com.mdd.front.service.IAppCircleService;
|
import com.mdd.front.service.IAppCircleService;
|
||||||
import com.mdd.front.validate.AppCircleCreateValidate;
|
import com.mdd.front.validate.AppCircleCreateValidate;
|
||||||
|
|
@ -25,6 +26,7 @@ import com.mdd.common.entity.AppCircle;
|
||||||
import com.mdd.common.mapper.AppCircleMapper;
|
import com.mdd.common.mapper.AppCircleMapper;
|
||||||
import com.mdd.common.util.TimeUtils;
|
import com.mdd.common.util.TimeUtils;
|
||||||
import com.mdd.front.vo.AppCircleListedVo;
|
import com.mdd.front.vo.AppCircleListedVo;
|
||||||
|
import io.swagger.models.auth.In;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
|
@ -210,18 +212,27 @@ public class AppCircleServiceImpl implements IAppCircleService {
|
||||||
* @return AppCircle
|
* @return AppCircle
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public AppCircleDetailVo detail(Integer id) {
|
public CircleDetailVo detail(Integer id) {
|
||||||
AppCircle model = appCircleMapper.selectOne(
|
CircleDetailVo model = appCircleMapper.selectOne(id);
|
||||||
new QueryWrapper<AppCircle>()
|
|
||||||
.eq("id", id)
|
|
||||||
.eq("is_delete", 0)
|
|
||||||
.last("limit 1"));
|
|
||||||
|
|
||||||
Assert.notNull(model, "数据不存在");
|
Assert.notNull(model, "数据不存在");
|
||||||
|
Integer userId = 1;
|
||||||
AppCircleDetailVo vo = new AppCircleDetailVo();
|
// 圈内
|
||||||
BeanUtils.copyProperties(model, vo);
|
List<Integer> ids = appCircleUserMapper.selectList(new QueryWrapper<AppCircleUser>()
|
||||||
return vo;
|
.eq("circle_id",id)).stream().map(x->x.getUserId()).collect(Collectors.toList());
|
||||||
|
model.setIs_join(ids.contains(userId) ? 1 : 2);
|
||||||
|
// 好友id
|
||||||
|
List<AppFriend> friends = appFriendMapper.selectList(new QueryWrapper<AppFriend>()
|
||||||
|
.eq("user_id",userId)
|
||||||
|
);
|
||||||
|
Integer friendNum = 0;
|
||||||
|
List<Integer> friendIds = friends.stream().map(x->x.getFriendId()).collect(Collectors.toList());
|
||||||
|
for (Integer friendId : friendIds) {
|
||||||
|
if (ids.contains(friendId)) {
|
||||||
|
friendNum = friendNum + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
model.setFriendNum(friendNum);
|
||||||
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue