diff --git a/pom.xml b/pom.xml
index 5174811..6214777 100644
--- a/pom.xml
+++ b/pom.xml
@@ -110,11 +110,6 @@
ahocorasick
0.6.3
-
- org.projectlombok
- lombok
- 1.18.12
-
org.jsoup
jsoup
diff --git a/src/main/java/com/upchina/common/entity/VideoTransFlow.java b/src/main/java/com/upchina/common/entity/VideoTransFlow.java
index e126954..56fa17c 100644
--- a/src/main/java/com/upchina/common/entity/VideoTransFlow.java
+++ b/src/main/java/com/upchina/common/entity/VideoTransFlow.java
@@ -1,11 +1,9 @@
package com.upchina.common.entity;
import com.upchina.video.query.external.ProcedureStateChangeEventQuery;
-import lombok.Data;
import java.time.LocalDateTime;
-@Data
public class VideoTransFlow {
private String fileId;
@@ -37,4 +35,68 @@ public class VideoTransFlow {
this.fileUrl = event.getFileUrl();
this.createTime = LocalDateTime.now();
}
+
+ public String getFileId() {
+ return fileId;
+ }
+
+ public void setFileId(String fileId) {
+ this.fileId = fileId;
+ }
+
+ public String getFileName() {
+ return fileName;
+ }
+
+ public void setFileName(String fileName) {
+ this.fileName = fileName;
+ }
+
+ public String getTaskId() {
+ return taskId;
+ }
+
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Integer getErrCode() {
+ return errCode;
+ }
+
+ public void setErrCode(Integer errCode) {
+ this.errCode = errCode;
+ }
+
+ public String getFileUrl() {
+ return fileUrl;
+ }
+
+ public void setFileUrl(String fileUrl) {
+ this.fileUrl = fileUrl;
+ }
+
+ public LocalDateTime getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(LocalDateTime createTime) {
+ this.createTime = createTime;
+ }
}
diff --git a/src/main/java/com/upchina/common/interceptor/SessionInfo.java b/src/main/java/com/upchina/common/interceptor/SessionInfo.java
index 78b7fd8..5adf27b 100644
--- a/src/main/java/com/upchina/common/interceptor/SessionInfo.java
+++ b/src/main/java/com/upchina/common/interceptor/SessionInfo.java
@@ -1,19 +1,70 @@
package com.upchina.common.interceptor;
-import lombok.Builder;
-import lombok.Data;
-
-@Data
-@Builder
public class SessionInfo {
+
private String userId;
+
private Integer productType;
+
private Integer productId;
+
private String sessionId;
+
private String sessionKey;
public boolean isValid() {
return userId != null && productType != null && productId != null
&& sessionId != null && sessionKey != null;
}
-}
\ No newline at end of file
+
+ public SessionInfo() {
+ }
+
+ public SessionInfo(String userId, Integer productType, Integer productId, String sessionId, String sessionKey) {
+ this.userId = userId;
+ this.productType = productType;
+ this.productId = productId;
+ this.sessionId = sessionId;
+ this.sessionKey = sessionKey;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public Integer getProductType() {
+ return productType;
+ }
+
+ public void setProductType(Integer productType) {
+ this.productType = productType;
+ }
+
+ public Integer getProductId() {
+ return productId;
+ }
+
+ public void setProductId(Integer productId) {
+ this.productId = productId;
+ }
+
+ public String getSessionId() {
+ return sessionId;
+ }
+
+ public void setSessionId(String sessionId) {
+ this.sessionId = sessionId;
+ }
+
+ public String getSessionKey() {
+ return sessionKey;
+ }
+
+ public void setSessionKey(String sessionKey) {
+ this.sessionKey = sessionKey;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/upchina/common/interceptor/WebSocketAuthHandler.java b/src/main/java/com/upchina/common/interceptor/WebSocketAuthHandler.java
index 827188b..4c70fb0 100644
--- a/src/main/java/com/upchina/common/interceptor/WebSocketAuthHandler.java
+++ b/src/main/java/com/upchina/common/interceptor/WebSocketAuthHandler.java
@@ -8,7 +8,6 @@ import com.upchina.common.handler.BizException;
import com.upchina.common.result.ResponseStatus;
import com.upchina.common.vo.BackendUserVO;
import com.upchina.common.vo.FrontUserVO;
-import lombok.extern.slf4j.Slf4j;
import org.springframework.messaging.Message;
import org.springframework.messaging.simp.stomp.StompHeaderAccessor;
import org.springframework.stereotype.Component;
@@ -17,7 +16,6 @@ import javax.annotation.Resource;
import java.util.Map;
import java.util.Set;
-@Slf4j
@Component
public class WebSocketAuthHandler {
@@ -47,7 +45,11 @@ public class WebSocketAuthHandler {
if (productId == null) {
throw new BizException(ResponseStatus.PARM_ERROR, "产品ID错误" + productId);
}
- populateAttributes(attributes, userId, sessionId, productType, productId);
+ attributes.put("userId", userId);
+ attributes.put("sessionId", sessionId);
+ attributes.put("productType", productType);
+ attributes.put("productId", productId);
+ attributes.put("sessionKey", userId + "-" + sessionId);
return message;
}
@@ -74,11 +76,4 @@ public class WebSocketAuthHandler {
return StrUtil.isNotEmpty(value) ? Integer.parseInt(value) : null;
}
- private void populateAttributes(Map attributes, String userId, String sessionId, Integer productType, Integer productId) {
- attributes.put("userId", userId);
- attributes.put("sessionId", sessionId);
- attributes.put("productType", productType);
- attributes.put("productId", productId);
- attributes.put("sessionKey", userId + "-" + sessionId);
- }
}
\ No newline at end of file
diff --git a/src/main/java/com/upchina/common/interceptor/WebSocketSessionHandler.java b/src/main/java/com/upchina/common/interceptor/WebSocketSessionHandler.java
index 2adc5e8..bfacc15 100644
--- a/src/main/java/com/upchina/common/interceptor/WebSocketSessionHandler.java
+++ b/src/main/java/com/upchina/common/interceptor/WebSocketSessionHandler.java
@@ -64,13 +64,12 @@ public class WebSocketSessionHandler {
}
private SessionInfo extractSessionInfo(Map attributes) {
- return SessionInfo.builder()
- .userId((String) attributes.get("userId"))
- .productType((Integer) attributes.get("productType"))
- .productId((Integer)attributes.get("productId"))
- .sessionId((String) attributes.get("sessionId"))
- .sessionKey((String) attributes.get("sessionKey"))
- .build();
+ return new SessionInfo(
+ (String) attributes.get("userId"),
+ (Integer) attributes.get("productType"),
+ (Integer)attributes.get("productId"),
+ (String) attributes.get("sessionId"),
+ (String) attributes.get("sessionKey"));
}
private OnlineUser createOnlineUser(SessionInfo sessionInfo, FrontUserVO frontUser) {
diff --git a/src/main/java/com/upchina/common/vo/SearchResultVO.java b/src/main/java/com/upchina/common/vo/SearchResultVO.java
index cdbff96..3f4d8e5 100644
--- a/src/main/java/com/upchina/common/vo/SearchResultVO.java
+++ b/src/main/java/com/upchina/common/vo/SearchResultVO.java
@@ -2,11 +2,9 @@ package com.upchina.common.vo;
import com.upchina.advisor.vo.AdvisorInfoAppVO;
import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
import java.time.LocalDateTime;
-@Data
public class SearchResultVO {
/***************************公共字段**********************************/
@@ -94,6 +92,14 @@ public class SearchResultVO {
this.advisorAvatar = advisorAvatar;
}
+ public String getOrgName() {
+ return orgName;
+ }
+
+ public void setOrgName(String orgName) {
+ this.orgName = orgName;
+ }
+
public Integer getReadCount() {
return readCount;
}
@@ -102,6 +108,14 @@ public class SearchResultVO {
this.readCount = readCount;
}
+ public LocalDateTime getPublishTime() {
+ return publishTime;
+ }
+
+ public void setPublishTime(LocalDateTime publishTime) {
+ this.publishTime = publishTime;
+ }
+
public Integer getSubCount() {
return subCount;
}
@@ -158,14 +172,6 @@ public class SearchResultVO {
this.type = type;
}
- public LocalDateTime getPublishTime() {
- return publishTime;
- }
-
- public void setPublishTime(LocalDateTime publishTime) {
- this.publishTime = publishTime;
- }
-
public LocalDateTime getCreateTime() {
return createTime;
}
@@ -173,4 +179,12 @@ public class SearchResultVO {
public void setCreateTime(LocalDateTime createTime) {
this.createTime = createTime;
}
+
+ public double getTotalProfitRate() {
+ return totalProfitRate;
+ }
+
+ public void setTotalProfitRate(double totalProfitRate) {
+ this.totalProfitRate = totalProfitRate;
+ }
}
diff --git a/src/main/java/com/upchina/group/controller/admin/AdminGroupInfoController.java b/src/main/java/com/upchina/group/controller/admin/AdminGroupInfoController.java
index 4c83158..ea7f90f 100644
--- a/src/main/java/com/upchina/group/controller/admin/AdminGroupInfoController.java
+++ b/src/main/java/com/upchina/group/controller/admin/AdminGroupInfoController.java
@@ -7,12 +7,9 @@ import com.upchina.common.result.CommonResult;
import com.upchina.common.result.Pager;
import com.upchina.common.vo.BackendUserVO;
import com.upchina.common.vo.InsertIdVO;
-import com.upchina.group.query.ListGroupQuery;
-import com.upchina.group.query.SaveGroupQuery;
-import com.upchina.group.query.SetNoticeQuery;
-import com.upchina.group.query.UpdateGroupQuery;
-import com.upchina.group.query.UpdateGroupStatusQuery;
+import com.upchina.group.query.*;
import com.upchina.group.service.GroupInfoService;
+import com.upchina.group.vo.GroupCollectVO;
import com.upchina.group.vo.GroupVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -24,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
+import java.util.List;
@Api(tags = "交易圈admin接口")
@RestController
@@ -82,4 +80,12 @@ public class AdminGroupInfoController {
groupInfoService.setNotice(query, backendUserVO);
return CommonResult.success();
}
-}
\ No newline at end of file
+
+ @ApiOperation("后台查询交易圈统计")
+ @PostMapping("/admin/group/collect/query")
+ public CommonResult> queryCollect(@Validated @RequestBody @ApiParam(required = true) QueryGroupCollectQuery query,
+ @RequestAttribute(value = "backendUser", required = false) BackendUserVO backendUserVO) {
+ List list = groupInfoService.queryCollect(query, backendUserVO);
+ return CommonResult.success(list);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/upchina/group/entity/GroupCollect.java b/src/main/java/com/upchina/group/entity/GroupCollect.java
index 99e7fca..c91c6c2 100644
--- a/src/main/java/com/upchina/group/entity/GroupCollect.java
+++ b/src/main/java/com/upchina/group/entity/GroupCollect.java
@@ -1,8 +1,6 @@
package com.upchina.group.entity;
-import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDate;
@@ -22,7 +20,7 @@ public class GroupCollect implements Serializable {
/**
* ID
*/
- @TableId(value = "group_id", type = IdType.AUTO)
+ @TableField("group_id")
private Integer groupId;
/**
diff --git a/src/main/java/com/upchina/group/query/QueryGroupCollectQuery.java b/src/main/java/com/upchina/group/query/QueryGroupCollectQuery.java
new file mode 100644
index 0000000..ac5d0d2
--- /dev/null
+++ b/src/main/java/com/upchina/group/query/QueryGroupCollectQuery.java
@@ -0,0 +1,41 @@
+package com.upchina.group.query;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.time.LocalDate;
+
+public class QueryGroupCollectQuery {
+
+ @ApiModelProperty("交易圈id")
+ private Integer groupId;
+
+ @ApiModelProperty("开始日期")
+ private LocalDate startDate;
+
+ @ApiModelProperty("结束日期")
+ private LocalDate endDate;
+
+ public Integer getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(Integer groupId) {
+ this.groupId = groupId;
+ }
+
+ public LocalDate getStartDate() {
+ return startDate;
+ }
+
+ public void setStartDate(LocalDate startDate) {
+ this.startDate = startDate;
+ }
+
+ public LocalDate getEndDate() {
+ return endDate;
+ }
+
+ public void setEndDate(LocalDate endDate) {
+ this.endDate = endDate;
+ }
+}
diff --git a/src/main/java/com/upchina/group/service/GroupInfoService.java b/src/main/java/com/upchina/group/service/GroupInfoService.java
index b4c1efd..bb11bed 100644
--- a/src/main/java/com/upchina/group/service/GroupInfoService.java
+++ b/src/main/java/com/upchina/group/service/GroupInfoService.java
@@ -8,7 +8,6 @@ import com.hazelcast.map.IMap;
import com.upchina.advisor.entity.AdvisorBasic;
import com.upchina.advisor.service.AdvisorInfoService;
import com.upchina.common.config.cache.CacheKey;
-import com.upchina.common.constant.IsDisplay;
import com.upchina.common.handler.BizException;
import com.upchina.common.query.OnlyIdQuery;
import com.upchina.common.result.AppPager;
@@ -24,10 +23,13 @@ import com.upchina.common.vo.FrontUserVO;
import com.upchina.common.vo.InsertIdVO;
import com.upchina.course.service.PageService;
import com.upchina.group.constant.GroupInfoStatus;
+import com.upchina.group.entity.GroupCollect;
import com.upchina.group.entity.GroupInfo;
import com.upchina.group.entity.GroupSortEntity;
+import com.upchina.group.mapper.GroupCollectMapper;
import com.upchina.group.mapper.GroupInfoMapper;
import com.upchina.group.query.*;
+import com.upchina.group.vo.GroupCollectVO;
import com.upchina.group.vo.GroupVO;
import com.upchina.rbac.entity.UserDept;
import com.upchina.rbac.service.AuthService;
@@ -37,6 +39,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@@ -74,6 +77,9 @@ public class GroupInfoService {
@Resource
private IMap groupCache;
+ @Resource
+ private GroupCollectMapper groupCollectMapper;
+
@Transactional(rollbackFor = Exception.class)
public InsertIdVO save(SaveGroupQuery query, BackendUserVO backendUserVO) {
sensitiveWordService.check(query.getName(), query.getRemark(), query.getDetail());
@@ -293,8 +299,19 @@ public class GroupInfoService {
return advisorId;
}
+ public List queryCollect(QueryGroupCollectQuery query, BackendUserVO backendUserVO) {
+ Integer groupId = query.getGroupId();
+ LocalDate startDate = query.getStartDate();
+ LocalDate endDate = query.getEndDate();
+ LambdaQueryWrapper wrapper = Wrappers.lambdaQuery()
+ .eq(groupId != null && groupId != 0, GroupCollect::getGroupId, groupId)
+ .ge(startDate != null, GroupCollect::getDate, startDate)
+ .le(endDate != null, GroupCollect::getDate, endDate);
+ List list = groupCollectMapper.selectList(wrapper);
+ return list.stream().map(GroupCollectVO::new).collect(Collectors.toList());
+ }
+
public void clearCache(Integer id) {
groupCache.delete(CacheKey.GroupKey.GROUP_INFO + id);
}
-
}
\ No newline at end of file
diff --git a/src/main/java/com/upchina/group/vo/GroupCollectVO.java b/src/main/java/com/upchina/group/vo/GroupCollectVO.java
new file mode 100644
index 0000000..8a75d9b
--- /dev/null
+++ b/src/main/java/com/upchina/group/vo/GroupCollectVO.java
@@ -0,0 +1,166 @@
+package com.upchina.group.vo;
+
+import com.upchina.group.entity.GroupCollect;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.time.LocalDate;
+
+public class GroupCollectVO {
+
+ @ApiModelProperty("交易圈ID")
+ private Integer groupId;
+
+ @ApiModelProperty("日期")
+ private LocalDate date;
+
+ @ApiModelProperty("总成员数")
+ private Integer totalMembers;
+
+ @ApiModelProperty("访问成员数")
+ private Integer visitedMembers;
+
+ @ApiModelProperty("新增成员数")
+ private Integer newMembers;
+
+ @ApiModelProperty("发互动成员数")
+ private Integer interactionMembers;
+
+ @ApiModelProperty("发私聊成员数")
+ private Integer privateChatMembers;
+
+ @ApiModelProperty("投顾发布互动数")
+ private Integer advisorGroupContent;
+
+ @ApiModelProperty("助教发布互动数")
+ private Integer assistantGroupContent;
+
+ @ApiModelProperty("用户发布互动数")
+ private Integer customerGroupContent;
+
+ @ApiModelProperty("投顾发布私聊数")
+ private Integer advisorPrivateContent;
+
+ @ApiModelProperty("助教发布私聊数")
+ private Integer assistantPrivateContent;
+
+ @ApiModelProperty("用户发布私聊数")
+ private Integer customerPrivateContent;
+
+ public GroupCollectVO(GroupCollect collect) {
+ this.groupId = collect.getGroupId();
+ this.date = collect.getDate();
+ this.totalMembers = collect.getTotalMembers();
+ this.visitedMembers = collect.getVisitedMembers();
+ this.newMembers = collect.getNewMembers();
+ this.interactionMembers = collect.getInteractionMembers();
+ this.privateChatMembers = collect.getPrivateChatMembers();
+ this.advisorGroupContent = collect.getAdvisorGroupContent();
+ this.assistantGroupContent = collect.getAssistantGroupContent();
+ this.customerGroupContent = collect.getCustomerGroupContent();
+ this.advisorPrivateContent = collect.getAdvisorPrivateContent();
+ }
+
+ public Integer getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(Integer groupId) {
+ this.groupId = groupId;
+ }
+
+ public LocalDate getDate() {
+ return date;
+ }
+
+ public void setDate(LocalDate date) {
+ this.date = date;
+ }
+
+ public Integer getTotalMembers() {
+ return totalMembers;
+ }
+
+ public void setTotalMembers(Integer totalMembers) {
+ this.totalMembers = totalMembers;
+ }
+
+ public Integer getVisitedMembers() {
+ return visitedMembers;
+ }
+
+ public void setVisitedMembers(Integer visitedMembers) {
+ this.visitedMembers = visitedMembers;
+ }
+
+ public Integer getNewMembers() {
+ return newMembers;
+ }
+
+ public void setNewMembers(Integer newMembers) {
+ this.newMembers = newMembers;
+ }
+
+ public Integer getInteractionMembers() {
+ return interactionMembers;
+ }
+
+ public void setInteractionMembers(Integer interactionMembers) {
+ this.interactionMembers = interactionMembers;
+ }
+
+ public Integer getPrivateChatMembers() {
+ return privateChatMembers;
+ }
+
+ public void setPrivateChatMembers(Integer privateChatMembers) {
+ this.privateChatMembers = privateChatMembers;
+ }
+
+ public Integer getAdvisorGroupContent() {
+ return advisorGroupContent;
+ }
+
+ public void setAdvisorGroupContent(Integer advisorGroupContent) {
+ this.advisorGroupContent = advisorGroupContent;
+ }
+
+ public Integer getAssistantGroupContent() {
+ return assistantGroupContent;
+ }
+
+ public void setAssistantGroupContent(Integer assistantGroupContent) {
+ this.assistantGroupContent = assistantGroupContent;
+ }
+
+ public Integer getCustomerGroupContent() {
+ return customerGroupContent;
+ }
+
+ public void setCustomerGroupContent(Integer customerGroupContent) {
+ this.customerGroupContent = customerGroupContent;
+ }
+
+ public Integer getAdvisorPrivateContent() {
+ return advisorPrivateContent;
+ }
+
+ public void setAdvisorPrivateContent(Integer advisorPrivateContent) {
+ this.advisorPrivateContent = advisorPrivateContent;
+ }
+
+ public Integer getAssistantPrivateContent() {
+ return assistantPrivateContent;
+ }
+
+ public void setAssistantPrivateContent(Integer assistantPrivateContent) {
+ this.assistantPrivateContent = assistantPrivateContent;
+ }
+
+ public Integer getCustomerPrivateContent() {
+ return customerPrivateContent;
+ }
+
+ public void setCustomerPrivateContent(Integer customerPrivateContent) {
+ this.customerPrivateContent = customerPrivateContent;
+ }
+}