Ver código fonte

配置文件修改

lrj 6 meses atrás
pai
commit
0573d4296d

+ 19 - 0
PCS/src/main/java/cn/cslg/permission/common/model/qiaobi/PersonStatsVO.java

@@ -0,0 +1,19 @@
+package cn.cslg.permission.common.model.qiaobi;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class PersonStatsVO {
+    //注册人数
+    private Long signCount;
+    //付费人数
+    private Long paidCount;
+    //上个月注册人数
+    private Long lastMonthSignCount;
+    //上个月付费人数
+    private Long lastMonthPaidCount;
+    //登录人数
+    private Long loginCount;
+}

+ 35 - 0
PCS/src/main/java/cn/cslg/permission/controller/qiaobi/StatsController.java

@@ -0,0 +1,35 @@
+package cn.cslg.permission.controller.qiaobi;
+
+import cn.cslg.permission.common.core.base.Constants;
+import cn.cslg.permission.common.model.Records;
+import cn.cslg.permission.common.model.qiaobi.PersonStatsVO;
+import cn.cslg.permission.common.model.qiaobi.businessTask.AuditTaskDTO;
+import cn.cslg.permission.common.model.qiaobi.businessTask.QueryAuditTaskDTO;
+import cn.cslg.permission.common.utils.Response;
+import cn.cslg.permission.service.qiaobi.BusinessTaskService;
+import cn.cslg.permission.service.qiaobi.StatsService;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Author lrj
+ * @Date 2024/12/09
+ */
+@Slf4j
+@RestController
+@RequestMapping(Constants.PERMISSION_API + "/stats")
+public class StatsController {
+    @Autowired
+    private StatsService statsService;
+
+    @Operation(summary = "查询统计信息")
+    @GetMapping("/getStatsMessage")
+    public String getStatsMessage() {
+        PersonStatsVO personStatsVO = statsService.qiaoBiVIPTypeVOList();
+        return Response.success(personStatsVO);
+    }
+
+
+}

+ 1 - 0
PCS/src/main/java/cn/cslg/permission/mapper/LoginRecordMapper.java

@@ -13,4 +13,5 @@ import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
 public interface LoginRecordMapper extends BaseMapper<LoginRecord> {
+    public Long getSignCount();
 }

+ 1 - 0
PCS/src/main/java/cn/cslg/permission/mapper/PersonnelMapper.java

@@ -26,4 +26,5 @@ public interface PersonnelMapper extends BaseMapper<Personnel> {
     Long getQiaoBiPersons(GetQiaoBiPersonDTO getQiaoBiPersonDTO);
     List<PersonnelVO> getQiaoBiPersonsList(PersonnelDTO personnelDTO);
     Long getQiaoBiPersonsListTotal(PersonnelDTO personnelDTO);
+    Long getQiaoBiPersonSignCount(Boolean paid,Boolean lastMonth);
 }

+ 70 - 0
PCS/src/main/java/cn/cslg/permission/service/qiaobi/StatsService.java

@@ -0,0 +1,70 @@
+package cn.cslg.permission.service.qiaobi;
+
+import cn.cslg.permission.common.model.Records;
+import cn.cslg.permission.common.model.dto.AppVipTypeDTO;
+import cn.cslg.permission.common.model.dto.QueryVipDTO;
+import cn.cslg.permission.common.model.dto.TenantVipTypeFunctionAddNewDTO;
+import cn.cslg.permission.common.model.qiaobi.PersonStatsVO;
+import cn.cslg.permission.common.model.qiaobi.PersonVipMessVO;
+import cn.cslg.permission.common.model.qiaobi.QiaoBiVIPTypeVO;
+import cn.cslg.permission.common.model.qiaobi.QiaoBiVipTypeDTO;
+import cn.cslg.permission.common.model.vo.AppVipTypeVO;
+import cn.cslg.permission.common.model.vo.PersonnelVO;
+import cn.cslg.permission.common.utils.CacheUtils;
+import cn.cslg.permission.common.utils.LoginUtils;
+import cn.cslg.permission.domain.Personnel;
+import cn.cslg.permission.domain.TenantVipType;
+import cn.cslg.permission.domain.qiaobi.AppVipType;
+import cn.cslg.permission.exception.ExceptionEnum;
+import cn.cslg.permission.exception.XiaoShiException;
+import cn.cslg.permission.mapper.LoginRecordMapper;
+import cn.cslg.permission.mapper.PersonnelMapper;
+import cn.cslg.permission.mapper.qiaobi.AppVipTypeMapper;
+import cn.cslg.permission.service.AssoTenantVipTypeFunctionService;
+import cn.cslg.permission.service.PersonnelService;
+import cn.cslg.permission.service.impl.TenantVipTypeService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author admin
+ * @description 针对表【APP_VIP_TYPE(应用会员类型)】的数据库操作Service实现
+ * @createDate 2024-10-31 14:42:32
+ */
+@Service
+@RequiredArgsConstructor
+public class StatsService {
+    private final PersonnelMapper personnelMapper;
+    private final LoginRecordMapper loginRecordMapper;
+
+    public PersonStatsVO qiaoBiVIPTypeVOList() {
+        Long signCount = personnelMapper.getQiaoBiPersonSignCount(null, null);
+        Long paidCount = personnelMapper.getQiaoBiPersonSignCount(true, null);
+        Long lastMonthSignCount = personnelMapper.getQiaoBiPersonSignCount(null, true);
+        Long lastMonthPaidCount = personnelMapper.getQiaoBiPersonSignCount(true, true);
+        Long loginCount = loginRecordMapper.getSignCount();
+        if (loginCount == null) {
+            loginCount = 0l;
+        }
+        PersonStatsVO personStatsVO = new PersonStatsVO();
+        personStatsVO.setSignCount(signCount);
+        personStatsVO.setPaidCount(paidCount);
+        personStatsVO.setLastMonthSignCount(lastMonthSignCount);
+        personStatsVO.setLastMonthPaidCount(lastMonthPaidCount);
+        personStatsVO.setLoginCount(loginCount);
+        return personStatsVO;
+    }
+
+}
+
+
+
+

+ 2 - 2
PCS/src/main/resources/application.yml

@@ -1,7 +1,7 @@
 server:
   servlet:
     context-path: /
-  port: 8123
+  port: 8122
 sa-token:
   activity-timeout: 18000
   token-name: token
@@ -23,7 +23,7 @@ spring:
       max-file-size: 1000MB
       max-request-size: 1000MB
   profiles:
-    active: testNetIn
+    active: dev
   jackson:
     default-property-inclusion: non_null
     serialization:

+ 14 - 0
PCS/src/main/resources/mapper/LoginRecordMapper.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.cslg.permission.mapper.LoginRecordMapper">
+    <select id="getSignCount" resultType="java.lang.Long">
+        select count(*) from LOGIN_RECORD
+        <where>
+            LOGIN_SYSTEM=3 and
+           DATE_FORMAT(CREATE_TIME, '%Y-%m-%d')= DATE_FORMAT(NOW(), '%Y-%m-%d')
+            GROUP BY PERSONNEL_ID, DATE_FORMAT(CREATE_TIME, '%Y-%m-%d')
+        </where>
+    </select>
+</mapper>

+ 18 - 0
PCS/src/main/resources/mapper/PersonnelMapper.xml

@@ -105,4 +105,22 @@
         </where>
 
     </select>
+
+
+
+    <select id="getQiaoBiPersonSignCount" resultType="java.lang.Long">
+        select count(*) from ASSO_PERSON_VIP_TYPE as apv
+         left join PERSONNEL as p on apv.PERSON_ID=p.ID
+        <where>
+            <if test="paid!=null and paid ==true">
+                and (apv.PERSON_ID in (select CUSTOM_ID from QIAOBI_PAID_RECORD where type=1)
+                   OR p.TENANT_ID in (select CUSTOM_ID from QIAOBI_PAID_RECORD where type=0))
+
+            </if>
+            <if test="lastMonth!=null and lastMonth ==true">
+               and DATE_FORMAT(apv.CREATE_TIME,'%Y-%m') =DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m')
+            </if>
+        </where>
+
+    </select>
 </mapper>

+ 8 - 3
PCS/src/test/java/cn/cslg/permission/PersonTest.java

@@ -7,9 +7,11 @@ import cn.cslg.permission.common.model.qiaobi.QiaoBiVipTypeDTO;
 import cn.cslg.permission.common.utils.RandomUtil;
 import cn.cslg.permission.common.utils.RedisUtil;
 import cn.cslg.permission.domain.Personnel;
+import cn.cslg.permission.mapper.PersonnelMapper;
 import cn.cslg.permission.service.PersonnelService;
 import cn.cslg.permission.service.qiaobi.AppVipTypeService;
 import cn.cslg.permission.service.qiaobi.QiaoBiPersonService;
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.crypto.SecureUtil;
 import org.junit.Assert;
 import org.junit.Test;
@@ -32,7 +34,8 @@ public class PersonTest {
     private QiaoBiPersonService qiaoBiPersonService;
     @Autowired
     private PersonnelService personnelService;
-
+    @Autowired
+    private PersonnelMapper personnelMapper;
     @Test
     public void uploadPersonnelConfigPCSTest2() throws IOException {
         String phoneNum = "17625547167";
@@ -67,8 +70,10 @@ Assert.assertEquals(personnel.getPersonnelEmail(),email);
 Assert.assertEquals(personnel.getPersonnelPassword(),SecureUtil.md5(passWord));
     }
 
-    private void deletePerson(Integer personId) {
-
+    @Test
+     public void getPersonStats(){
+     Long count=   personnelMapper.getQiaoBiPersonSignCount(true,null);
 
+     System.out.println(count);
     }
 }

+ 30 - 0
PCS/src/test/java/cn/cslg/permission/qiaobi/StatsTest.java

@@ -0,0 +1,30 @@
+package cn.cslg.permission.qiaobi;
+
+import cn.cslg.permission.common.model.qiaobi.PersonStatsVO;
+import cn.cslg.permission.service.email.MailSendService;
+import cn.cslg.permission.service.qiaobi.StatsService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@SpringBootTest
+@RunWith(SpringRunner.class)
+public class StatsTest {
+    @Autowired
+    private StatsService service;
+@Test
+public void CompanyPersonSignUp(){
+
+
+
+
+
+
+  PersonStatsVO personStatsVO= service.qiaoBiVIPTypeVOList();
+System.out.println(personStatsVO);
+
+
+}
+}