Преглед на файлове

营销系统-保存用户新增和活跃数据

lh преди 1 седмица
родител
ревизия
40f2f28a0d

+ 0 - 91
pig-marketing/pig-marketing-api/src/main/java/com/pig4cloud/pig/marketing/api/entity/MktStatActiveUser.java

@@ -1,91 +0,0 @@
-package com.pig4cloud.pig.marketing.api.entity;
-
-
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.time.LocalDateTime;
-
-@Data
-@Schema(description = "活跃用户")
-@EqualsAndHashCode(callSuper = true)
-public class MktStatActiveUser extends Model<MktStatActiveUser> {
-
-	/**
-	 * id
-	 */
-	@TableId(value = "id")
-	private Long id;
-
-	/**
-	 * 用户ID
-	 */
-	@Schema(description = "用户ID")
-	private String userId;
-
-	/**
-	 * 应用ID
-	 */
-	@Schema(description = "应用ID")
-	private String appId;
-
-	/**
-	 * 渠道
-	 */
-	@Schema(description = "渠道")
-	private String channel;
-
-	/**
-	 * 版本
-	 */
-	@Schema(description = "版本")
-	private String version;
-
-	/**
-	 * 统计时间
-	 */
-	@Schema(description = "统计时间")
-	private LocalDateTime statDate;
-
-	/**
-	 * 删除标记
-	 */
-	@TableLogic
-	@TableField(fill = FieldFill.INSERT)
-	@Schema(description = "删除标记,1:已删除,0:正常")
-	private String delFlag;
-
-	/**
-	 * 创建人
-	 */
-	@TableField(fill = FieldFill.INSERT)
-	@Schema(description = "创建人")
-	private String createBy;
-
-	/**
-	 * 修改人
-	 */
-	@TableField(fill = FieldFill.UPDATE)
-	@Schema(description = "修改人")
-	private String updateBy;
-
-	/**
-	 * 创建时间
-	 */
-	@TableField(fill = FieldFill.INSERT)
-	@Schema(description = "创建时间")
-	private LocalDateTime createTime;
-
-	/**
-	 * 更新时间
-	 */
-	@TableField(fill = FieldFill.UPDATE)
-	@Schema(description = "更新时间")
-	private LocalDateTime updateTime;
-}

+ 0 - 96
pig-marketing/pig-marketing-api/src/main/java/com/pig4cloud/pig/marketing/api/entity/MktStatNewUser.java

@@ -1,96 +0,0 @@
-package com.pig4cloud.pig.marketing.api.entity;
-
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.time.LocalDateTime;
-
-@Data
-@Schema(description = "新增用户")
-@EqualsAndHashCode(callSuper = true)
-public class MktStatNewUser extends Model<MktStatNewUser> {
-
-	/**
-	 * id
-	 */
-	@TableId(value = "id")
-	private Long id;
-
-	/**
-	 * 用户ID
-	 */
-	@Schema(description = "用户ID")
-	private String userId;
-
-	/**
-	 * 应用ID
-	 */
-	@Schema(description = "应用ID")
-	private String appId;
-
-	/**
-	 * 渠道
-	 */
-	@Schema(description = "渠道")
-	private String channel;
-
-	/**
-	 * 版本
-	 */
-	@Schema(description = "版本")
-	private String version;
-
-	/**
-	 * 旧版本
-	 */
-	@Schema(description = "旧版本")
-	private String oldVersion;
-
-	/**
-	 * 统计时间
-	 */
-	@Schema(description = "统计时间")
-	private LocalDateTime statDate;
-
-	/**
-	 * 删除标记
-	 */
-	@TableLogic
-	@TableField(fill = FieldFill.INSERT)
-	@Schema(description = "删除标记,1:已删除,0:正常")
-	private String delFlag;
-
-	/**
-	 * 创建人
-	 */
-	@TableField(fill = FieldFill.INSERT)
-	@Schema(description = "创建人")
-	private String createBy;
-
-	/**
-	 * 修改人
-	 */
-	@TableField(fill = FieldFill.UPDATE)
-	@Schema(description = "修改人")
-	private String updateBy;
-
-	/**
-	 * 创建时间
-	 */
-	@TableField(fill = FieldFill.INSERT)
-	@Schema(description = "创建时间")
-	private LocalDateTime createTime;
-
-	/**
-	 * 更新时间
-	 */
-	@TableField(fill = FieldFill.UPDATE)
-	@Schema(description = "更新时间")
-	private LocalDateTime updateTime;
-}

+ 4 - 0
pig-marketing/pig-marketing-biz/pom.xml

@@ -104,6 +104,10 @@
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-data-mongodb</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>com.pig4cloud</groupId>
+			<artifactId>pig-statistics-api</artifactId>
+		</dependency>
 	</dependencies>
 
 	<profiles>

+ 0 - 11
pig-marketing/pig-marketing-biz/src/main/java/com/pig4cloud/pig/marketing/mapper/MktStatActiveUserDataMapper.java

@@ -1,11 +0,0 @@
-package com.pig4cloud.pig.marketing.mapper;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.pig4cloud.pig.marketing.api.entity.MktStatActiveUser;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface MktStatActiveUserDataMapper extends BaseMapper<MktStatActiveUser> {
-
-}

+ 0 - 10
pig-marketing/pig-marketing-biz/src/main/java/com/pig4cloud/pig/marketing/mapper/MktStatNewUserDataMapper.java

@@ -1,10 +0,0 @@
-package com.pig4cloud.pig.marketing.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.pig4cloud.pig.marketing.api.entity.MktStatNewUser;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface MktStatNewUserDataMapper extends BaseMapper<MktStatNewUser> {
-
-}

+ 14 - 15
pig-marketing/pig-marketing-biz/src/main/java/com/pig4cloud/pig/marketing/service/impl/TcpDataServiceImpl.java

@@ -2,13 +2,12 @@ package com.pig4cloud.pig.marketing.service.impl;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.pig4cloud.pig.common.core.util.R;
 import com.pig4cloud.pig.marketing.api.dto.MktMgmtPushRecordSaveDTO;
 import com.pig4cloud.pig.marketing.api.dto.mongo.PageDeviceInfoDTO;
 import com.pig4cloud.pig.marketing.api.dto.mongo.PageMessageDTO;
 import com.pig4cloud.pig.marketing.api.dto.mongo.SaveDeviceInfoDTO;
 import com.pig4cloud.pig.marketing.api.dto.mongo.SaveTcpMessageDTO;
-import com.pig4cloud.pig.marketing.api.entity.MktStatActiveUser;
-import com.pig4cloud.pig.marketing.api.entity.MktStatNewUser;
 import com.pig4cloud.pig.marketing.api.entity.mongo.Device;
 import com.pig4cloud.pig.marketing.api.entity.mongo.Message;
 import com.pig4cloud.pig.marketing.api.service.MktMgmtHandPushService;
@@ -16,11 +15,12 @@ import com.pig4cloud.pig.marketing.api.vo.mongo.OnlineUserVO;
 import com.pig4cloud.pig.marketing.api.vo.mongo.PageDeviceInfoVO;
 import com.pig4cloud.pig.marketing.api.vo.mongo.UserStatisticsVO;
 import com.pig4cloud.pig.marketing.config.UserStatisticsConfig;
-import com.pig4cloud.pig.marketing.mapper.MktStatActiveUserDataMapper;
-import com.pig4cloud.pig.marketing.mapper.MktStatNewUserDataMapper;
 import com.pig4cloud.pig.marketing.repository.MessageRepository;
 import com.pig4cloud.pig.marketing.service.MktMgmtPushRecordService;
 import com.pig4cloud.pig.marketing.service.TcpDataService;
+import com.pig4cloud.pig.statistics.api.entity.user.MktStatActiveUser;
+import com.pig4cloud.pig.statistics.api.entity.user.MktStatNewUser;
+import com.pig4cloud.pig.statistics.api.feign.RemoteStatUserDataService;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -65,10 +65,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 		@Autowired
 		private MktMgmtHandPushService mktMgmtHandPushService;
 
-		@Autowired
-		private MktStatNewUserDataMapper mktStatNewUserDataMapper;
-		@Autowired
-		private MktStatActiveUserDataMapper mktStatActiveUserDataMapper;
+		private final RemoteStatUserDataService remoteStatUserDataService;
 
 		// JSON处理器
 		private final ObjectMapper objectMapper = new ObjectMapper();
@@ -161,9 +158,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 		activeUser.setChannel(channel);
 		activeUser.setVersion(version);
 		activeUser.setStatDate(LocalDateTime.now());
-		int inserted = mktStatActiveUserDataMapper.insert(activeUser);
-		if (inserted != 1) {
-			log.warn("add活跃用户记录失败:clientID = {}", clientID);
+
+		R<Boolean> result = remoteStatUserDataService.saveMktStatActiveUser(activeUser);
+		if (result.getData() == null || !result.getData()) {
+			log.error("add活跃用户记录失败:clientID = {}", clientID);
 		} else {
 			log.debug("add活跃用户记录成功:clientID = {}, appId = {}, channel = {}", clientID, appId, channel);
 		}
@@ -204,9 +202,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 		mktStatNewUser.setVersion(version);
 		mktStatNewUser.setOldVersion(oldVersion);
 		mktStatNewUser.setStatDate(LocalDateTime.now());
-		int inserted = mktStatNewUserDataMapper.insert(mktStatNewUser);
-		if (inserted != 1) {
-			log.warn("add新增用户记录失败:clientID = {}", clientID);
+
+		R<Boolean> result = remoteStatUserDataService.saveMktStatNewUser(mktStatNewUser);
+		if (result.getData() == null || !result.getData()) {
+			log.error("add新增用户记录失败:clientID = {}", clientID);
 		} else {
 			log.debug("add新增用户记录成功:clientID = {}, appId = {}, channel = {}", clientID, appId, channel);
 		}
@@ -342,7 +341,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 		String hand = "";
 		if (save.getId() != null) {
 			saveRecordDTO.setPushContent(reqDto.getMsgData());
-			saveRecordDTO.setPushIP(reqDto.getClientIP());
+			saveRecordDTO.setPushIP(reqDto.getClientIp());
 			saveRecordDTO.setPushDomain(reqDto.getClientDomain());
 			saveRecordDTO.setClientId(reqDto.getClientID());
 

+ 23 - 0
pig-statistics/pig-statistics-api/src/main/java/com/pig4cloud/pig/statistics/api/feign/RemoteStatUserDataService.java

@@ -0,0 +1,23 @@
+package com.pig4cloud.pig.statistics.api.feign;
+
+import com.pig4cloud.pig.common.core.constant.ServiceNameConstants;
+import com.pig4cloud.pig.common.core.util.R;
+import com.pig4cloud.pig.common.feign.annotation.NoToken;
+import com.pig4cloud.pig.statistics.api.entity.user.MktStatActiveUser;
+import com.pig4cloud.pig.statistics.api.entity.user.MktStatNewUser;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(contextId = "remoteStatUserDataService", value = ServiceNameConstants.STATISTICS_SERVICE)
+public interface RemoteStatUserDataService {
+
+	@NoToken
+	@PostMapping("/user/new/save")
+	R<Boolean> saveMktStatNewUser(@RequestBody MktStatNewUser data);
+
+	@NoToken
+	@PostMapping("/user/active/save")
+	R<Boolean> saveMktStatActiveUser(@RequestBody MktStatActiveUser data);
+
+}

+ 16 - 0
pig-statistics/pig-statistics-biz/src/main/java/com/pig4cloud/pig/statistics/controller/UserAnalyseController.java

@@ -5,7 +5,11 @@ import cn.idev.excel.EasyExcel;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.pig4cloud.pig.common.core.exception.BusinessException;
 import com.pig4cloud.pig.common.core.util.R;
+import com.pig4cloud.pig.common.feign.annotation.NoToken;
+import com.pig4cloud.pig.common.security.annotation.Inner;
 import com.pig4cloud.pig.statistics.api.dto.user.*;
+import com.pig4cloud.pig.statistics.api.entity.user.MktStatActiveUser;
+import com.pig4cloud.pig.statistics.api.entity.user.MktStatNewUser;
 import com.pig4cloud.pig.statistics.api.vo.user.*;
 import com.pig4cloud.pig.statistics.service.UserAnalyseService;
 import com.pig4cloud.plugin.excel.annotation.ResponseExcel;
@@ -45,6 +49,12 @@ public class UserAnalyseController {
 	private final UserAnalyseService userAnalyseService;
 
 /***************************************** 新增用户 *****************************************/
+    @Inner
+	@PostMapping("/new/save")
+	@Operation(summary = "保存新增用户信息")
+	R<Boolean> saveMktStatNewUser(@RequestBody MktStatNewUser data){
+		return R.ok(userAnalyseService.saveMktStatNewUser(data));
+	}
 
 	@PostMapping("/new/trend")
 	@Operation(summary = "查询新增趋势")
@@ -151,6 +161,12 @@ public class UserAnalyseController {
 	}
 
 /***************************************** 活跃用户 *****************************************/
+    @Inner
+	@PostMapping("/active/save")
+	@Operation(summary = "保存活跃用户信息")
+	R<Boolean> saveMktStatActiveUser(@RequestBody MktStatActiveUser data){
+		return R.ok(userAnalyseService.saveMktStatActiveUser(data));
+	}
 
 	@PostMapping("/active/trend")
 	@Operation(summary = "查询活跃趋势")

+ 16 - 0
pig-statistics/pig-statistics-biz/src/main/java/com/pig4cloud/pig/statistics/service/UserAnalyseService.java

@@ -3,6 +3,8 @@ package com.pig4cloud.pig.statistics.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.pig4cloud.pig.statistics.api.dto.user.*;
+import com.pig4cloud.pig.statistics.api.entity.user.MktStatActiveUser;
+import com.pig4cloud.pig.statistics.api.entity.user.MktStatNewUser;
 import com.pig4cloud.pig.statistics.api.vo.user.*;
 import jakarta.validation.Valid;
 
@@ -150,4 +152,18 @@ public interface UserAnalyseService {
 	 * @return List
 	 */
 	List<String> getChannelList(String appId);
+
+	/**
+	 * 保存新增用戶数据
+	 * @param data
+	 * @return
+	 */
+	Boolean saveMktStatNewUser(MktStatNewUser data);
+
+	/**
+	 * 保存新增用戶数据
+	 * @param data
+	 * @return
+	 */
+	Boolean saveMktStatActiveUser(MktStatActiveUser data);
 }

+ 10 - 0
pig-statistics/pig-statistics-biz/src/main/java/com/pig4cloud/pig/statistics/service/impl/UserAnalyseServiceImpl.java

@@ -1160,6 +1160,16 @@ public class UserAnalyseServiceImpl implements UserAnalyseService {
 		return channels;
 	}
 
+	@Override
+	public Boolean saveMktStatNewUser(MktStatNewUser data) {
+		return newUserMapper.insert(data) == 1;
+	}
+
+	@Override
+	public Boolean saveMktStatActiveUser(MktStatActiveUser data) {
+		return activeUserMapper.insert(data) == 1;
+	}
+
 
 	/************************************** 公用方法 **************************************
 	 * 统计指定时间范围内的新增用户数