Bläddra i källkod

统计用户设备数

qinxuyang 1 dag sedan
förälder
incheckning
2ea673ddec

+ 9 - 0
alien-entity/src/main/java/shop/alien/mapper/LifeUserMapper.java

@@ -68,4 +68,13 @@ public interface LifeUserMapper extends BaseMapper<LifeUser> {
     @Select("SELECT * " +
             "FROM life_user ${ew.customSqlSegment}")
     LifeUserVo getUserById(@Param(Constants.WRAPPER) QueryWrapper<LifeUserVo> queryWrapper);
+
+    /**
+     * 统计用户设备总数:device_id 为逗号拼接,按逗号分段计数后求和
+     */
+    @Select("SELECT IFNULL(SUM(CASE " +
+            "WHEN device_id IS NULL OR TRIM(device_id) = '' THEN 0 " +
+            "ELSE LENGTH(device_id) - LENGTH(REPLACE(device_id, ',', '')) + 1 END), 0) " +
+            "FROM life_user WHERE delete_flag = 0")
+    Long countTotalDeviceNum();
 }

+ 8 - 0
alien-store/src/main/java/shop/alien/store/controller/LifeUserController.java

@@ -250,5 +250,13 @@ public class LifeUserController {
         return R.data(true);
     }
 
+    @ApiOperation("统计用户设备数")
+    @ApiOperationSupport(order = 7)
+    @GetMapping("/countUserDeviceNum")
+    public R<Long> countUserDeviceNum() {
+        log.info("LifeUserController.countUserDeviceNum");
+        return R.data(lifeUserService.countUserDeviceNum());
+    }
+
 
 }

+ 8 - 0
alien-store/src/main/java/shop/alien/store/service/LifeUserService.java

@@ -605,4 +605,12 @@ public class LifeUserService extends ServiceImpl<LifeUserMapper, LifeUser> {
         }
         return false;
     }
+
+    /**
+     * 统计用户设备总数(life_user.device_id 逗号拼接,按段计数求和)
+     */
+    public Long countUserDeviceNum() {
+        Long count = lifeUserMapper.countTotalDeviceNum();
+        return count == null ? 0L : count;
+    }
 }