管理员系统优化-1

This commit is contained in:
2024-11-06 17:51:51 +08:00
parent 903bafb245
commit 49f08d1191
6 changed files with 22 additions and 17 deletions

View File

@@ -122,8 +122,9 @@ public class ConvenientInquiryController {
@ApiOperation("试用用户到正式用户的转化率")
@GetMapping("/conversionRate")
public Response<Map<String, Object>> conversionRate() {
return Response.success(convenientInquiryService.conversionRate());
public Response<Map<String, Object>> conversionRate(@ApiParam(value = "startTime") @RequestParam(required = false) @Nullable String startTime,
@ApiParam(value = "endTime") @RequestParam(required = false) @Nullable String endTime) {
return Response.success(convenientInquiryService.conversionRate(startTime, endTime));
}
@ApiOperation("试用用户国家/城市分布")

View File

@@ -16,7 +16,4 @@ public interface TrialOrderMapper extends CommonMapper<TrialOrder> {
Map<String, Long> countOfficialUser();
List<TrialOrder> selectIdsByEmails(List<String> emails);
}

View File

@@ -15,6 +15,8 @@ public class UserDesignStatisticDTO {
private String isTrial;
private String credits;
private String trialOrderId;
private String title;

View File

@@ -32,7 +32,7 @@ public interface ConvenientInquiryService extends IService<Questionnaire> {
Map<String, List<Object>> getActiveUserFunc(String startTime, String endTime, List<Long> ids);
Map<String, Object> conversionRate();
Map<String, Object> conversionRate(String startTime, String endTime);
Map<String, List<Object>> trialUserCountry(String startTime, String endTime);

View File

@@ -392,9 +392,15 @@ public class ConvenientInquiryServiceImpl extends ServiceImpl<QuestionnaireMappe
private TrialOrderMapper trialOrderMapper;
// 试用用户到正式用户的转化率
public Map<String, Object> conversionRate() {
public Map<String, Object> conversionRate(String startTime, String endTime) {
QueryWrapper<TrialOrder> queryWrapper = new QueryWrapper<>();
if (!StringUtils.isNullOrEmpty(startTime)){
queryWrapper.gt("create_time", startTime);
}
if (!StringUtils.isNullOrEmpty(endTime)){
queryWrapper.lt("create_time", endTime);
}
// 获取试用用户总数
queryWrapper.select("count(distinct email) as count");
@@ -403,7 +409,15 @@ public class ConvenientInquiryServiceImpl extends ServiceImpl<QuestionnaireMappe
// 获取从试用用户转为正式用户的用户数量
List<String> paidCustomerEmail = accountService.getPaidCustomerEmail();
List<TrialOrder> paidTrialUsers = trialOrderMapper.selectIdsByEmails(paidCustomerEmail);
QueryWrapper<TrialOrder> qw = new QueryWrapper<>();
if (!StringUtils.isNullOrEmpty(startTime)){
qw.gt("create_time", startTime);
}
if (!StringUtils.isNullOrEmpty(endTime)){
qw.lt("create_time", endTime);
}
qw.in("email", paidCustomerEmail);
List<TrialOrder> paidTrialUsers = trialOrderMapper.selectList(qw);
// Map<String, Long> officialMaps = trialOrderMapper.countOfficialUser();
// Long trialToOfficial = officialMaps.get("count");

View File

@@ -24,13 +24,4 @@
ON a.user_email = b.email
</select>
<select id="selectIdsByEmails" parameterType="java.util.List" resultType="com.ai.da.mapper.primary.entity.TrialOrder">
SELECT *
FROM trial_order
WHERE email IN
<foreach item="email" collection="list" open="(" separator="," close=")">
#{email}
</foreach>
</select>
</mapper>