Merge branch 'dev/dev_xp' into dev/dev

This commit is contained in:
2024-08-06 11:30:02 +08:00
5 changed files with 45 additions and 44 deletions

View File

@@ -82,30 +82,23 @@ public class ConvenientInquiryController {
} }
@ApiOperation("获取近期新用户") @ApiOperation("获取近期新用户")
@GetMapping("/recentNewUser") @PostMapping("/recentNewUser")
public Response<IPage<Account>> recentNewUser(@ApiParam(value = "startTime") @RequestParam @Nullable String startTime, public Response<IPage<Account>> recentNewUser(@Valid @RequestBody QueryUserConditionsVO queryUserConditionsVO) {
@ApiParam(value = "endTime") @RequestParam @Nullable String endTime, return Response.success(convenientInquiryService.recentNewUser(queryUserConditionsVO));
@ApiParam("userType visitor/trial/official") @RequestParam String userType,
@ApiParam("page") @RequestParam int page,
@ApiParam("size") @RequestParam int size) {
return Response.success(convenientInquiryService.recentNewUser(startTime, endTime, userType, page, size));
} }
@ApiOperation("获取近期新用户图表数据") @ApiOperation("获取近期新用户图表数据")
@GetMapping("/recentNewUserChart") @GetMapping("/recentNewUserChart")
public Response<Map<String, Object>> recentNewUserChart(@ApiParam(value = "startTime") @RequestParam @Nullable String startTime, public Response<Map<String, Object>> recentNewUserChart(@ApiParam(value = "startTime") @RequestParam @Nullable String startTime,
@ApiParam(value = "endTime") @RequestParam @Nullable String endTime, @ApiParam(value = "endTime") @RequestParam @Nullable String endTime,
@ApiParam("userType") @RequestParam String userType) { @ApiParam("userType") @RequestParam Integer userType) {
return Response.success(convenientInquiryService.recentNewUserChart(startTime, endTime, userType)); return Response.success(convenientInquiryService.recentNewUserChart(startTime, endTime, userType));
} }
@ApiOperation("获取近期活跃用户") @ApiOperation("获取近期活跃用户")
@GetMapping("/recentActiveUser") @PostMapping("/recentActiveUser")
public Response<IPage<Account>> recentActiveUser(@ApiParam(value = "startTime") @RequestParam @Nullable String startTime, public Response<IPage<Account>> recentActiveUser(@Valid @RequestBody QueryUserConditionsVO queryUserConditionsVO) {
@ApiParam(value = "endTime") @RequestParam @Nullable String endTime, return Response.success(convenientInquiryService.recentActiveUser(queryUserConditionsVO));
@ApiParam("pageNum") @RequestParam int page,
@ApiParam("size") @RequestParam int size) {
return Response.success(convenientInquiryService.recentActiveUser(startTime, endTime, page, size));
} }
@ApiOperation("获取近期活跃用户图表数据") @ApiOperation("获取近期活跃用户图表数据")

View File

@@ -3,6 +3,7 @@ package com.ai.da.mapper.primary.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -49,11 +50,13 @@ public class TrialOrder implements Serializable {
/** /**
* 创建时间 * 创建时间
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime createTime; private LocalDateTime createTime;
/** /**
* 更新时间 * 更新时间
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime updateTime; private LocalDateTime updateTime;

View File

@@ -8,7 +8,6 @@ import com.ai.da.model.vo.QuestionnaireFeedbackVO;
import com.ai.da.model.vo.QuestionnaireVO; import com.ai.da.model.vo.QuestionnaireVO;
import com.ai.da.model.vo.QueryUserConditionsVO; import com.ai.da.model.vo.QueryUserConditionsVO;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
@@ -22,11 +21,11 @@ public interface ConvenientInquiryService extends IService<Questionnaire> {
List<QuestionnaireVO> getAllQuestionnaire(); List<QuestionnaireVO> getAllQuestionnaire();
IPage<Account> recentNewUser(String startTime, String endTime, String userType, int pageNum, int size); IPage<Account> recentNewUser(QueryUserConditionsVO queryUserConditionsVO);
Map<String, Object> recentNewUserChart(String startTime, String endTime, String userType); Map<String, Object> recentNewUserChart(String startTime, String endTime, Integer userType);
IPage<Account> recentActiveUser(String startTime, String endTime, int pageNum, int count); IPage<Account> recentActiveUser(QueryUserConditionsVO queryUserConditionsVO);
int recentActiveUserChart(String startTime, String endTime); int recentActiveUserChart(String startTime, String endTime);

View File

@@ -1361,11 +1361,18 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
case 0: case 0:
// 游客 // 游客
queryWrapper.eq("system_user", 0); queryWrapper.eq("system_user", 0);
break;
case 1: case 1:
queryWrapper.eq("system_user", 1);
break;
case 2:
queryWrapper.eq("system_user", 2);
break;
case 3:
// 试用用户 // 试用用户
queryWrapper.eq("system_user", 3).or().eq("system_user", 4); queryWrapper.eq("system_user", 3).or().eq("system_user", 4);
case 2: break;
queryWrapper.eq("system_user", 1).or().eq("system_user", 2);
} }
} }
} }

View File

@@ -47,7 +47,7 @@ public class ConvenientInquiryServiceImpl extends ServiceImpl<QuestionnaireMappe
private AccountLoginLogService accountLoginLogService; private AccountLoginLogService accountLoginLogService;
public IPage<TrialOrder> getTrial(QueryUserConditionsVO queryUserConditionsVO) { public IPage<TrialOrder> getTrial(QueryUserConditionsVO queryUserConditionsVO) {
log.info("getTrial parameter : {},page:{}, size:{}",queryUserConditionsVO,queryUserConditionsVO.getPage(),queryUserConditionsVO.getSize()); log.info("getTrial parameter : {},page:{}, size:{}", queryUserConditionsVO, queryUserConditionsVO.getPage(), queryUserConditionsVO.getSize());
/* 添加按条件查询试用用户 */ /* 添加按条件查询试用用户 */
// 按用户邮箱/用户名/用户id查指定用户 // 按用户邮箱/用户名/用户id查指定用户
QueryWrapper<TrialOrder> queryWrapper = new QueryWrapper<>(); QueryWrapper<TrialOrder> queryWrapper = new QueryWrapper<>();
@@ -251,29 +251,31 @@ public class ConvenientInquiryServiceImpl extends ServiceImpl<QuestionnaireMappe
/** /**
* 近期新增用户 * 近期新增用户
*
* @param startTime 开始时间
* @param endTime 结束时间
* @param userType 用户类型 visitor\trial\official
*/ */
public IPage<Account> recentNewUser(String startTime, String endTime, String userType, int pageNum, int size) { public IPage<Account> recentNewUser(QueryUserConditionsVO queryUserConditionsVO) {
if (StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime)) { log.info("recentActiveUser parameter : {}, page:{}, size:{}", queryUserConditionsVO, queryUserConditionsVO.getPage(), queryUserConditionsVO.getSize());
if (StringUtil.isNullOrEmpty(queryUserConditionsVO.getStartTime()) && StringUtil.isNullOrEmpty(queryUserConditionsVO.getEndTime())) {
return null; return null;
} }
if (!StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime)) { if (!StringUtil.isNullOrEmpty(queryUserConditionsVO.getStartTime()) && StringUtil.isNullOrEmpty(queryUserConditionsVO.getEndTime())) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
endTime = LocalDateTime.now().format(formatter); queryUserConditionsVO.setEndTime(LocalDateTime.now().format(formatter));
} }
Integer type = null; Integer type = null;
if (!StringUtil.isNullOrEmpty(userType)) { if (!Objects.isNull(queryUserConditionsVO.getSystemUser())) {
type = userType.equals("visitor") ? 0 : userType.equals("trial") ? 1 : 2; type = queryUserConditionsVO.getSystemUser();
} }
return accountService.getPageByDateAndUserType(startTime, endTime, type, pageNum, size); return accountService.getPageByDateAndUserType(queryUserConditionsVO.getStartTime(),
queryUserConditionsVO.getEndTime(),
type,
queryUserConditionsVO.getPage(),
queryUserConditionsVO.getSize());
} }
// 图表数据 // 图表数据
public Map<String, Object> recentNewUserChart(String startTime, String endTime, String userType) { public Map<String, Object> recentNewUserChart(String startTime, String endTime, Integer userType) {
log.info("recentNewUserChart startTime : {},endTime : {},userType:{}", startTime, endTime, userType);
if (StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime)) { if (StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime)) {
return null; return null;
} }
@@ -281,12 +283,8 @@ public class ConvenientInquiryServiceImpl extends ServiceImpl<QuestionnaireMappe
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
endTime = LocalDateTime.now().format(formatter); endTime = LocalDateTime.now().format(formatter);
} }
Integer type = null;
if (!StringUtil.isNullOrEmpty(userType)) {
type = userType.equals("visitor") ? 0 : userType.equals("trial") ? 1 : 2;
}
Map<String, Long> countMap = accountService.getByDateAndUserType(startTime, endTime, type); Map<String, Long> countMap = accountService.getByDateAndUserType(startTime, endTime, userType);
long type1 = countMap.get("1") == null ? 0L : countMap.get("1"); long type1 = countMap.get("1") == null ? 0L : countMap.get("1");
long type2 = countMap.get("2") == null ? 0L : countMap.get("2"); long type2 = countMap.get("2") == null ? 0L : countMap.get("2");
long type3 = countMap.get("3") == null ? 0L : countMap.get("3"); long type3 = countMap.get("3") == null ? 0L : countMap.get("3");
@@ -304,13 +302,14 @@ public class ConvenientInquiryServiceImpl extends ServiceImpl<QuestionnaireMappe
} }
// 近期活跃用户 // 近期活跃用户
public IPage<Account> recentActiveUser(String startTime, String endTime, int pageNum, int size) { public IPage<Account> recentActiveUser(QueryUserConditionsVO queryUserConditionsVO) {
if (!StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime)) { log.info("recentActiveUser parameter : {}, page:{}, size:{}", queryUserConditionsVO, queryUserConditionsVO.getPage(), queryUserConditionsVO.getSize());
if (!StringUtil.isNullOrEmpty(queryUserConditionsVO.getStartTime()) && StringUtil.isNullOrEmpty(queryUserConditionsVO.getEndTime())) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
endTime = LocalDateTime.now().format(formatter); queryUserConditionsVO.setEndTime(LocalDateTime.now().format(formatter));
} }
List<Long> accountIds = accountLoginLogService.getByDate(startTime, endTime); List<Long> accountIds = accountLoginLogService.getByDate(queryUserConditionsVO.getStartTime(), queryUserConditionsVO.getEndTime());
return accountService.getPageByIds(accountIds, pageNum, size); return accountService.getPageByIds(accountIds, queryUserConditionsVO.getPage(), queryUserConditionsVO.getSize());
} }
// 图表数据 // 图表数据
@@ -523,7 +522,7 @@ public class ConvenientInquiryServiceImpl extends ServiceImpl<QuestionnaireMappe
// 按条件查询用户信息 // 按条件查询用户信息
public IPage<Account> getUserInfo(QueryUserConditionsVO queryUserConditionsVO) { public IPage<Account> getUserInfo(QueryUserConditionsVO queryUserConditionsVO) {
log.info("getUserInfo parameter : {},page:{}, size:{}",queryUserConditionsVO,queryUserConditionsVO.getPage(),queryUserConditionsVO.getSize()); log.info("getUserInfo parameter : {},page:{}, size:{}", queryUserConditionsVO, queryUserConditionsVO.getPage(), queryUserConditionsVO.getSize());
// 按用户邮箱/用户名/用户id查指定用户 // 按用户邮箱/用户名/用户id查指定用户
QueryWrapper<Account> queryWrapper = new QueryWrapper<>(); QueryWrapper<Account> queryWrapper = new QueryWrapper<>();
if (!Objects.isNull(queryUserConditionsVO.getIds()) && !queryUserConditionsVO.getIds().isEmpty()) { if (!Objects.isNull(queryUserConditionsVO.getIds()) && !queryUserConditionsVO.getIds().isEmpty()) {