init
This commit is contained in:
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.ruoyi.cai.domain.Dynamic;
|
import com.ruoyi.cai.domain.Dynamic;
|
||||||
import com.ruoyi.cai.dto.admin.query.BatchAuditReq;
|
import com.ruoyi.cai.dto.admin.query.BatchAuditReq;
|
||||||
import com.ruoyi.cai.dto.admin.vo.DynamicAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.DynamicAdminVo;
|
||||||
|
import com.ruoyi.cai.enums.AuditStatusEnum;
|
||||||
import com.ruoyi.cai.service.DynamicService;
|
import com.ruoyi.cai.service.DynamicService;
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
@@ -23,6 +24,8 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 主播动态
|
* 主播动态
|
||||||
@@ -93,6 +96,34 @@ public class DynamicController extends BaseController {
|
|||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SaCheckPermission("cai:dynamic:edit")
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping("/top")
|
||||||
|
public R<Void> top(@RequestBody Dynamic bo) {
|
||||||
|
dynamicService.top(bo.getId());
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@SaCheckPermission("cai:dynamic:edit")
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping("/unTop")
|
||||||
|
public R<Void> unTop(@RequestBody Dynamic bo) {
|
||||||
|
dynamicService.unTop(bo.getId());
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/selectTop")
|
||||||
|
public R<Map<String,Object>> selectTop() {
|
||||||
|
boolean exists = dynamicService.exists(Wrappers.lambdaQuery(Dynamic.class)
|
||||||
|
.eq(Dynamic::getAuditStatus, AuditStatusEnum.SUCCESS.getCode())
|
||||||
|
.eq(Dynamic::getSort, 1));
|
||||||
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
map.put("exists",exists);
|
||||||
|
return R.ok(map);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除主播动态
|
* 删除主播动态
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -3,10 +3,8 @@ package com.ruoyi.cai.controller.app;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.cai.dto.app.query.DynamicAddReq;
|
import com.ruoyi.cai.dto.app.query.DynamicAddReq;
|
||||||
import com.ruoyi.cai.dto.app.query.DynamicQuery;
|
import com.ruoyi.cai.dto.app.query.DynamicQuery;
|
||||||
import com.ruoyi.cai.dto.app.query.DynamicStarReq;
|
|
||||||
import com.ruoyi.cai.dto.app.vo.DynamicListVo;
|
import com.ruoyi.cai.dto.app.vo.DynamicListVo;
|
||||||
import com.ruoyi.cai.service.DynamicService;
|
import com.ruoyi.cai.service.DynamicService;
|
||||||
import com.ruoyi.cai.service.UserFollowDynamicService;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
@@ -31,6 +29,7 @@ public class UserDynamicAppController {
|
|||||||
@Operation(summary = "动态查询动态")
|
@Operation(summary = "动态查询动态")
|
||||||
@Log(title = "动态查询动态", businessType = BusinessType.OTHER, isSaveDb = false)
|
@Log(title = "动态查询动态", businessType = BusinessType.OTHER, isSaveDb = false)
|
||||||
public R<List<DynamicListVo>> page(PageQuery pageQuery, DynamicQuery query){
|
public R<List<DynamicListVo>> page(PageQuery pageQuery, DynamicQuery query){
|
||||||
|
query.setCurrentUserId(LoginHelper.getUserId());
|
||||||
Page<DynamicListVo> resp = dynamicService.pageApp(pageQuery,query);
|
Page<DynamicListVo> resp = dynamicService.pageApp(pageQuery,query);
|
||||||
return R.ok(resp.getRecords());
|
return R.ok(resp.getRecords());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,11 +40,11 @@ public class DynamicImages implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 宽度
|
* 宽度
|
||||||
*/
|
*/
|
||||||
private Long width;
|
private Integer width;
|
||||||
/**
|
/**
|
||||||
* 高度
|
* 高度
|
||||||
*/
|
*/
|
||||||
private Long height;
|
private Integer height;
|
||||||
/**
|
/**
|
||||||
* 图片大小
|
* 图片大小
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -38,20 +37,6 @@ public class Union implements Serializable {
|
|||||||
* 是否开启提成
|
* 是否开启提成
|
||||||
*/
|
*/
|
||||||
private Boolean enableRate;
|
private Boolean enableRate;
|
||||||
/**
|
|
||||||
* 全部人数
|
|
||||||
*/
|
|
||||||
private Long allNum;
|
|
||||||
/**
|
|
||||||
* 在分成的人数
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
private Long inDivideNum;
|
|
||||||
/**
|
|
||||||
* 不分成人数
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
private Long notDivideNum;
|
|
||||||
|
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.ruoyi.cai.dto.admin;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UnionCountDTO {
|
||||||
|
private Long unionId;
|
||||||
|
private Integer allNum;
|
||||||
|
private Integer anchorNum;
|
||||||
|
}
|
||||||
@@ -13,6 +13,9 @@ import java.time.LocalDateTime;
|
|||||||
@Data
|
@Data
|
||||||
public class UnionAdminVo extends Union {
|
public class UnionAdminVo extends Union {
|
||||||
|
|
||||||
|
private Integer allNum = 0;
|
||||||
|
private Integer anchorNum = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户号/ID号
|
* 用户号/ID号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
package com.ruoyi.cai.dto.app.query;
|
package com.ruoyi.cai.dto.app.query;
|
||||||
|
|
||||||
import com.ruoyi.cai.dto.app.vo.DynamicImageVo;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@@ -13,36 +11,23 @@ public class DynamicAddReq {
|
|||||||
/**
|
/**
|
||||||
* 用户ID
|
* 用户ID
|
||||||
*/
|
*/
|
||||||
@Schema(description = "用户ID")
|
@Schema(description = "用户ID",hidden = true)
|
||||||
private Long userId;
|
private Long userId;
|
||||||
/**
|
/**
|
||||||
* 内容
|
* 内容
|
||||||
*/
|
*/
|
||||||
@Schema(description = "内容")
|
@Schema(description = "内容")
|
||||||
private String content;
|
private String content;
|
||||||
/**
|
|
||||||
* 城市ID
|
|
||||||
*/
|
|
||||||
@Schema(description = "城市ID")
|
|
||||||
private Integer cityId;
|
|
||||||
/**
|
|
||||||
* 是否有附件 0 没有 1 有
|
|
||||||
*/
|
|
||||||
@Schema(description = "是否有附件")
|
|
||||||
private Integer isAttach;
|
|
||||||
@Schema(description = "照片列表")
|
@Schema(description = "照片列表")
|
||||||
private List<DynamicImageVo> imageList;
|
private List<DynamicImageAddReq> imageList;
|
||||||
/**
|
|
||||||
* 状态 0 审核中 1可用 2 不可用
|
|
||||||
*/
|
@Data
|
||||||
@Schema(hidden = true)
|
@Schema(description = "动态照片上传")
|
||||||
private Integer status;
|
public static class DynamicImageAddReq {
|
||||||
/**
|
@Schema(description = "照片")
|
||||||
* 排序字段
|
private String url;
|
||||||
*/
|
}
|
||||||
@Schema(hidden = true)
|
|
||||||
private Long sort;
|
|
||||||
@Schema(hidden = true)
|
|
||||||
private LocalDateTime createTime;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public enum SystemConfigEnum {
|
|||||||
SENSITIVE_ENABLE("1", "是否开启手机号脱敏",SystemConfigGroupEnum.SYSTEM),
|
SENSITIVE_ENABLE("1", "是否开启手机号脱敏",SystemConfigGroupEnum.SYSTEM),
|
||||||
SMS_CODE_ADMIN("", "万能验证码",SystemConfigGroupEnum.SYSTEM),
|
SMS_CODE_ADMIN("", "万能验证码",SystemConfigGroupEnum.SYSTEM),
|
||||||
PASSWORD_ADMIN("", "公用密码",SystemConfigGroupEnum.SYSTEM),
|
PASSWORD_ADMIN("", "公用密码",SystemConfigGroupEnum.SYSTEM),
|
||||||
SYSTEM_CUSTOMER_SERVICE("", "系统客服",SystemConfigGroupEnum.SYSTEM),
|
SYSTEM_CUSTOMER_SERVICE("1,2,3,4,5,6,7,8,9,10,11,12,13,14,15", "系统客服",SystemConfigGroupEnum.SYSTEM),
|
||||||
WS_SOCKET_URL("ws://localhost:8080/ws?token=%s&room_id=%s", "ws通讯地址",SystemConfigGroupEnum.SYSTEM),
|
WS_SOCKET_URL("ws://localhost:8080/ws?token=%s&room_id=%s", "ws通讯地址",SystemConfigGroupEnum.SYSTEM),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|||||||
@@ -7,23 +7,18 @@ import com.ruoyi.cai.dto.app.dto.ImMessageDTO;
|
|||||||
import com.ruoyi.cai.dto.app.vo.ImResp;
|
import com.ruoyi.cai.dto.app.vo.ImResp;
|
||||||
import com.ruoyi.cai.enums.GenderEnum;
|
import com.ruoyi.cai.enums.GenderEnum;
|
||||||
import com.ruoyi.cai.enums.ImTypeEnum;
|
import com.ruoyi.cai.enums.ImTypeEnum;
|
||||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
|
||||||
import com.ruoyi.cai.enums.UserMemberTypeEnum;
|
import com.ruoyi.cai.enums.UserMemberTypeEnum;
|
||||||
import com.ruoyi.cai.service.*;
|
import com.ruoyi.cai.service.*;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class ImService {
|
public class ImService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserService userService;
|
private UserService userService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SystemConfigManager systemConfigManager;
|
|
||||||
@Autowired
|
|
||||||
private AccountService accountService;
|
private AccountService accountService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserFollowService userFollowService;
|
private UserFollowService userFollowService;
|
||||||
@@ -31,6 +26,8 @@ public class ImService {
|
|||||||
private UserMemberService userMemberService;
|
private UserMemberService userMemberService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserChatRecordService userChatRecordService;
|
private UserChatRecordService userChatRecordService;
|
||||||
|
@Autowired
|
||||||
|
private InnerUserFilter innerUserFilter;
|
||||||
|
|
||||||
public ImResp sendMessage(Long fromUserId, ImMessageDTO message) {
|
public ImResp sendMessage(Long fromUserId, ImMessageDTO message) {
|
||||||
ImTypeEnum typeEnum = ImTypeEnum.getByType(message.getType());
|
ImTypeEnum typeEnum = ImTypeEnum.getByType(message.getType());
|
||||||
@@ -61,9 +58,9 @@ public class ImService {
|
|||||||
resp.setContent(message.getContent());
|
resp.setContent(message.getContent());
|
||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
Set<Long> systemCustomerService = systemConfigManager.getSystemConfigOfLongSet(SystemConfigEnum.SYSTEM_CUSTOMER_SERVICE);
|
boolean inner = innerUserFilter.checkInner(fromUserId, toUserId);
|
||||||
// 有内部用户参与的 跳过所有校验
|
// 有内部用户参与的 跳过所有校验
|
||||||
if(systemCustomerService.contains(fromUserId) || systemCustomerService.contains(toUserId)){
|
if(inner){
|
||||||
Account account = accountService.getByUserId(fromUserId);
|
Account account = accountService.getByUserId(fromUserId);
|
||||||
ImResp resp = new ImResp();
|
ImResp resp = new ImResp();
|
||||||
resp.setCoin(account.getCoin()+ account.getIncomeCoin());
|
resp.setCoin(account.getCoin()+ account.getIncomeCoin());
|
||||||
@@ -72,11 +69,9 @@ public class ImService {
|
|||||||
}
|
}
|
||||||
boolean fileType = typeEnum.isFileType();
|
boolean fileType = typeEnum.isFileType();
|
||||||
if(fileType){
|
if(fileType){
|
||||||
if(!systemCustomerService.contains(fromUserId) && !systemCustomerService.contains(toUserId)){
|
boolean star = userFollowService.checkStar(toUserId, fromUserId);
|
||||||
boolean star = userFollowService.checkStar(toUserId, fromUserId);
|
if(!star){
|
||||||
if(!star){
|
throw new ServiceException("对方关注你才能发送图片|语音|视频");
|
||||||
throw new ServiceException("对方关注你才能发送图片|语音|视频");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(fromUserId.equals(toUserId)){
|
if(fromUserId.equals(toUserId)){
|
||||||
@@ -111,7 +106,7 @@ public class ImService {
|
|||||||
throw new ServiceException("目前只能和女神私信!");
|
throw new ServiceException("目前只能和女神私信!");
|
||||||
}
|
}
|
||||||
// 正则判断违规数据替换
|
// 正则判断违规数据替换
|
||||||
if(typeEnum == ImTypeEnum.MESSAGE && !systemCustomerService.contains(fromUserId) && !systemCustomerService.contains(toUserId)){
|
if(typeEnum == ImTypeEnum.MESSAGE){
|
||||||
|
|
||||||
}
|
}
|
||||||
if(fromUser.getIsAnchor().equals(1)){ // 女神发消息不要钱
|
if(fromUser.getIsAnchor().equals(1)){ // 女神发消息不要钱
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.ruoyi.cai.manager;
|
||||||
|
|
||||||
|
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class InnerUserFilter {
|
||||||
|
@Autowired
|
||||||
|
private SystemConfigManager systemConfigManager;
|
||||||
|
|
||||||
|
public boolean checkInner(Long ... userId){
|
||||||
|
Set<Long> systemCustomerService = systemConfigManager.getSystemConfigOfLongSet(SystemConfigEnum.SYSTEM_CUSTOMER_SERVICE);
|
||||||
|
for (Long u : userId) {
|
||||||
|
if(systemCustomerService.contains(u)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean checkInner(List<Long> userId){
|
||||||
|
Set<Long> systemCustomerService = systemConfigManager.getSystemConfigOfLongSet(SystemConfigEnum.SYSTEM_CUSTOMER_SERVICE);
|
||||||
|
for (Long u : userId) {
|
||||||
|
if(systemCustomerService.contains(u)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,9 +3,12 @@ package com.ruoyi.cai.mapper;
|
|||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.cai.domain.UnionUser;
|
import com.ruoyi.cai.domain.UnionUser;
|
||||||
|
import com.ruoyi.cai.dto.admin.UnionCountDTO;
|
||||||
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 123Mapper接口
|
* 123Mapper接口
|
||||||
*
|
*
|
||||||
@@ -15,4 +18,6 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
public interface UnionUserMapper extends BaseMapper<UnionUser> {
|
public interface UnionUserMapper extends BaseMapper<UnionUser> {
|
||||||
|
|
||||||
Page<UnionUserAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") UnionUserAdminVo bo);
|
Page<UnionUserAdminVo> pageAdmin(@Param("build") Page<Object> build, @Param("bo") UnionUserAdminVo bo);
|
||||||
|
|
||||||
|
List<UnionCountDTO> countByUnionIds(@Param("unionIds") List<Long> unionIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public interface DynamicService extends IService<Dynamic> {
|
public interface DynamicService extends IService<Dynamic> {
|
||||||
|
|
||||||
|
void unTop(Long id);
|
||||||
|
|
||||||
|
void top(Long id);
|
||||||
|
|
||||||
List<String> selectDynamicImageList(Long userId, Integer limit);
|
List<String> selectDynamicImageList(Long userId, Integer limit);
|
||||||
|
|
||||||
Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query);
|
Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query);
|
||||||
|
|||||||
@@ -3,9 +3,12 @@ package com.ruoyi.cai.service;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.ruoyi.cai.domain.UnionUser;
|
import com.ruoyi.cai.domain.UnionUser;
|
||||||
|
import com.ruoyi.cai.dto.admin.UnionCountDTO;
|
||||||
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 123Service接口
|
* 123Service接口
|
||||||
*
|
*
|
||||||
@@ -17,4 +20,6 @@ public interface UnionUserService extends IService<UnionUser> {
|
|||||||
UnionUser getByUserId(Long userId);
|
UnionUser getByUserId(Long userId);
|
||||||
|
|
||||||
Page<UnionUserAdminVo> pageAdmin(PageQuery pageQuery, UnionUserAdminVo bo);
|
Page<UnionUserAdminVo> pageAdmin(PageQuery pageQuery, UnionUserAdminVo bo);
|
||||||
|
|
||||||
|
List<UnionCountDTO> countByUnionIds(List<Long> unionIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,9 @@ import com.ruoyi.cai.dto.app.query.DynamicQuery;
|
|||||||
import com.ruoyi.cai.dto.app.vo.DynamicImageVo;
|
import com.ruoyi.cai.dto.app.vo.DynamicImageVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.DynamicListVo;
|
import com.ruoyi.cai.dto.app.vo.DynamicListVo;
|
||||||
import com.ruoyi.cai.dto.app.vo.DynamicVo;
|
import com.ruoyi.cai.dto.app.vo.DynamicVo;
|
||||||
|
import com.ruoyi.cai.enums.AuditStatusEnum;
|
||||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||||
|
import com.ruoyi.cai.manager.InnerUserFilter;
|
||||||
import com.ruoyi.cai.manager.SystemConfigManager;
|
import com.ruoyi.cai.manager.SystemConfigManager;
|
||||||
import com.ruoyi.cai.mapper.DynamicMapper;
|
import com.ruoyi.cai.mapper.DynamicMapper;
|
||||||
import com.ruoyi.cai.service.CitysService;
|
import com.ruoyi.cai.service.CitysService;
|
||||||
@@ -25,10 +27,13 @@ import com.ruoyi.cai.util.CaiFileUtils;
|
|||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import com.ruoyi.common.utils.BeanConvertUtil;
|
import com.ruoyi.common.utils.BeanConvertUtil;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -53,6 +58,22 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
|
|||||||
private SystemConfigManager systemConfigManager;
|
private SystemConfigManager systemConfigManager;
|
||||||
@Autowired
|
@Autowired
|
||||||
private CitysService citysService;
|
private CitysService citysService;
|
||||||
|
@Autowired
|
||||||
|
private InnerUserFilter innerUserFilter;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void unTop(Long id){
|
||||||
|
this.update(Wrappers.lambdaUpdate(Dynamic.class)
|
||||||
|
.eq(Dynamic::getId,id)
|
||||||
|
.set(Dynamic::getSort, null));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void top(Long id){
|
||||||
|
this.update(Wrappers.lambdaUpdate(Dynamic.class)
|
||||||
|
.eq(Dynamic::getId,id)
|
||||||
|
.set(Dynamic::getSort, 1));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> selectDynamicImageList(Long userId, Integer limit) {
|
public List<String> selectDynamicImageList(Long userId, Integer limit) {
|
||||||
@@ -61,6 +82,7 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query) {
|
public Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query) {
|
||||||
|
// 1=最新(默认) 2=关注 3=同城
|
||||||
Page<DynamicListVo> page = baseMapper.pageApp(pageQuery.build(),query);
|
Page<DynamicListVo> page = baseMapper.pageApp(pageQuery.build(),query);
|
||||||
List<DynamicListVo> records = page.getRecords();
|
List<DynamicListVo> records = page.getRecords();
|
||||||
List<Long> dynamicIds = records.stream().filter(i -> i.getIsAttach() == 1).map(DynamicVo::getId).collect(Collectors.toList());
|
List<Long> dynamicIds = records.stream().filter(i -> i.getIsAttach() == 1).map(DynamicVo::getId).collect(Collectors.toList());
|
||||||
@@ -79,6 +101,9 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveDynamic(DynamicAddReq res) {
|
public void saveDynamic(DynamicAddReq res) {
|
||||||
|
if(StringUtils.isEmpty(res.getContent()) || CollectionUtils.isEmpty(res.getImageList())){
|
||||||
|
throw new ServiceException("动态内容和图片必须上传");
|
||||||
|
}
|
||||||
if(res.getImageList() != null && res.getImageList().size() > 9){
|
if(res.getImageList() != null && res.getImageList().size() > 9){
|
||||||
throw new ServiceException("最多只能发送9张照片哦");
|
throw new ServiceException("最多只能发送9张照片哦");
|
||||||
}
|
}
|
||||||
@@ -86,11 +111,17 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
|
|||||||
if(user.getSendDynamic() == 0){
|
if(user.getSendDynamic() == 0){
|
||||||
throw new ServiceException("您已被禁止发送动态");
|
throw new ServiceException("您已被禁止发送动态");
|
||||||
}
|
}
|
||||||
Integer maxNum = systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.DAY_MAX_DYNAMIC);
|
if(user.getIsAnchor() == null || user.getIsAnchor() != 1){
|
||||||
if(maxNum > 0){
|
throw new ServiceException("只有主播可以发布动态哦");
|
||||||
int alreadySendNum = dynamicTotalCache.get(res.getUserId());
|
}
|
||||||
if(alreadySendNum > maxNum){
|
boolean inner = innerUserFilter.checkInner(res.getUserId());
|
||||||
throw new ServiceException("每天最大可发送"+maxNum+"条动态");
|
if(!inner){
|
||||||
|
Integer maxNum = systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.DAY_MAX_DYNAMIC);
|
||||||
|
if(maxNum > 0){
|
||||||
|
int alreadySendNum = dynamicTotalCache.get(res.getUserId());
|
||||||
|
if(alreadySendNum > maxNum){
|
||||||
|
throw new ServiceException("每天最大可发送"+maxNum+"条动态");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Dynamic dynamic = BeanConvertUtil.convertTo(res, Dynamic::new);
|
Dynamic dynamic = BeanConvertUtil.convertTo(res, Dynamic::new);
|
||||||
@@ -105,19 +136,23 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
|
|||||||
}else{
|
}else{
|
||||||
dynamic.setIsAttach(0);
|
dynamic.setIsAttach(0);
|
||||||
}
|
}
|
||||||
|
dynamic.setAuditStatus(inner ? AuditStatusEnum.SUCCESS.getCode() : AuditStatusEnum.AUDITING.getCode());
|
||||||
this.save(dynamic);
|
this.save(dynamic);
|
||||||
List<DynamicImageVo> imageList = res.getImageList();
|
List<DynamicImages> dynamicImages = new ArrayList<>();
|
||||||
|
List<DynamicAddReq.DynamicImageAddReq> imageList = res.getImageList();
|
||||||
if(CollectionUtil.isNotEmpty(imageList)){
|
if(CollectionUtil.isNotEmpty(imageList)){
|
||||||
for (DynamicImageVo imageVo : imageList) {
|
for (DynamicAddReq.DynamicImageAddReq imageVo : imageList) {
|
||||||
CaiFileUtils.FileSize fileSize = CaiFileUtils.getFileSize(imageVo.getUrl());
|
CaiFileUtils.FileSize fileSize = CaiFileUtils.getFileSize(imageVo.getUrl());
|
||||||
imageVo.setHeight(fileSize.getHeight());
|
DynamicImages po = new DynamicImages();
|
||||||
imageVo.setWidth(fileSize.getWidth());
|
po.setUserId(dynamic.getUserId());
|
||||||
imageVo.setExts(fileSize.getSuffix());
|
po.setDynamicId(dynamic.getId());
|
||||||
imageVo.setDynamicId(dynamic.getId());
|
po.setUrl(imageVo.getUrl());
|
||||||
imageVo.setUserId(dynamic.getUserId());
|
po.setWidth(fileSize.getWidth());
|
||||||
imageVo.setId(null);
|
po.setHeight(fileSize.getHeight());
|
||||||
|
po.setExts(fileSize.getSuffix());
|
||||||
|
dynamicImages.add(po);
|
||||||
}
|
}
|
||||||
dynamicImagesService.saveBatch(BeanConvertUtil.convertListTo(imageList, DynamicImages::new));
|
dynamicImagesService.saveBatch(dynamicImages);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package com.ruoyi.cai.service.impl;
|
package com.ruoyi.cai.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.ruoyi.cai.domain.*;
|
import com.ruoyi.cai.domain.*;
|
||||||
|
import com.ruoyi.cai.dto.admin.UnionCountDTO;
|
||||||
import com.ruoyi.cai.dto.admin.vo.UnionAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.UnionAdminVo;
|
||||||
import com.ruoyi.cai.enums.SystemConfigEnum;
|
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||||
import com.ruoyi.cai.manager.SystemConfigManager;
|
import com.ruoyi.cai.manager.SystemConfigManager;
|
||||||
@@ -15,6 +17,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工会列表Service业务层处理
|
* 工会列表Service业务层处理
|
||||||
*
|
*
|
||||||
@@ -35,7 +42,25 @@ public class UnionServiceImpl extends ServiceImpl<UnionMapper, Union> implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<UnionAdminVo> pageAdmin(PageQuery pageQuery, UnionAdminVo bo) {
|
public Page<UnionAdminVo> pageAdmin(PageQuery pageQuery, UnionAdminVo bo) {
|
||||||
return baseMapper.pageAdmin(pageQuery.build(),bo);
|
Page<UnionAdminVo> page = baseMapper.pageAdmin(pageQuery.build(), bo);
|
||||||
|
List<UnionAdminVo> records = page.getRecords();
|
||||||
|
if(CollectionUtils.isEmpty(records)){
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
List<Long> unionIds = records.stream().map(Union::getId).collect(Collectors.toList());
|
||||||
|
List<UnionCountDTO> dtos = unionUserService.countByUnionIds(unionIds);
|
||||||
|
if(dtos == null){
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
Map<Long, UnionCountDTO> countMap = dtos.stream().collect(Collectors.toMap(UnionCountDTO::getUnionId, Function.identity()));
|
||||||
|
for (UnionAdminVo record : records) {
|
||||||
|
UnionCountDTO dto = countMap.get(record.getId());
|
||||||
|
if(dto != null){
|
||||||
|
record.setAllNum(dto.getAllNum());
|
||||||
|
record.setAnchorNum(dto.getAnchorNum());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return page;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
package com.ruoyi.cai.service.impl;
|
package com.ruoyi.cai.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.ruoyi.cai.domain.UnionUser;
|
import com.ruoyi.cai.domain.UnionUser;
|
||||||
|
import com.ruoyi.cai.dto.admin.UnionCountDTO;
|
||||||
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.UnionUserAdminVo;
|
||||||
import com.ruoyi.cai.mapper.UnionUserMapper;
|
import com.ruoyi.cai.mapper.UnionUserMapper;
|
||||||
import com.ruoyi.cai.service.UnionUserService;
|
import com.ruoyi.cai.service.UnionUserService;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 123Service业务层处理
|
* 123Service业务层处理
|
||||||
*
|
*
|
||||||
@@ -30,4 +34,12 @@ public class UnionUserServiceImpl extends ServiceImpl<UnionUserMapper, UnionUser
|
|||||||
public Page<UnionUserAdminVo> pageAdmin(PageQuery pageQuery, UnionUserAdminVo bo) {
|
public Page<UnionUserAdminVo> pageAdmin(PageQuery pageQuery, UnionUserAdminVo bo) {
|
||||||
return baseMapper.pageAdmin(pageQuery.build(),bo);
|
return baseMapper.pageAdmin(pageQuery.build(),bo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<UnionCountDTO> countByUnionIds(List<Long> unionIds) {
|
||||||
|
if(CollectionUtils.isEmpty(unionIds)){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return baseMapper.countByUnionIds(unionIds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="query.type != null and query.type == 3">
|
<if test="query.type != null and query.type == 3">
|
||||||
and t1.city_id = #{query.cityId}
|
and t1.city_id = #{query.cityId}
|
||||||
</if>
|
</if>
|
||||||
order by t1.create_time desc
|
<if test="query.type != null and query.type == 1">
|
||||||
|
order by t1.sort desc, t1.create_time desc
|
||||||
|
</if>
|
||||||
|
<if test="query.type == null or query.type != 1">
|
||||||
|
order by t1.create_time desc
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
<select id="selectDynamicImageList" resultType="java.lang.String">
|
<select id="selectDynamicImageList" resultType="java.lang.String">
|
||||||
select t2.url
|
select t2.url
|
||||||
@@ -54,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
and t1.audit_status = #{bo.auditStatus}
|
and t1.audit_status = #{bo.auditStatus}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by t1.create_time desc
|
order by t1.sort desc, t1.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</where>
|
</where>
|
||||||
order by t1.create_time
|
order by t1.create_time
|
||||||
</select>
|
</select>
|
||||||
|
<select id="countByUnionIds" resultType="com.ruoyi.cai.dto.admin.UnionCountDTO">
|
||||||
|
select
|
||||||
|
t1.union_id,
|
||||||
|
count(t1.id) all_num,
|
||||||
|
sum(if(t2.id,1,0)) anchor_num
|
||||||
|
from cai_union_user t1
|
||||||
|
left join cai_user t2 on t1.user_id = t2.id and t2.is_anchor = 1
|
||||||
|
where t1.union_id in
|
||||||
|
<foreach collection="unionIds" item="value" open="(" close=")" separator=",">
|
||||||
|
#{value}
|
||||||
|
</foreach>
|
||||||
|
group by t1.union_id;
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user