wangming 1 săptămână în urmă
părinte
comite
829788bd51

+ 15 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/po/EnterpriseUserPo.java

@@ -0,0 +1,15 @@
+
+package com.yami.shop.bean.po;
+
+import lombok.Data;
+
+@Data
+public class EnterpriseUserPo {
+
+    private Integer channelId;
+
+    private String realName;
+
+    private String phone;
+
+}

+ 35 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/vo/EnterpriseUserVo.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2018-2999 广州亚米信息科技有限公司 All rights reserved.
+ *
+ * https://www.gz-yami.com/
+ *
+ * 未经允许,不可做商业用途!
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.yami.shop.bean.vo;
+
+import lombok.Data;
+
+@Data
+public class EnterpriseUserVo {
+
+    private String userId;
+
+    private Integer status;
+
+    private String channelName;
+
+    private String realName;
+
+    private String userMobile;
+
+    private Double total;
+
+    private Double available;
+
+    private Double expired;
+
+    private Double used;
+}

+ 10 - 1
yami-shop-platform/src/main/java/com/yami/shop/platform/controller/UserController.java

@@ -12,6 +12,8 @@ package com.yami.shop.platform.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yami.shop.bean.model.User;
+import com.yami.shop.bean.po.EnterpriseUserPo;
+import com.yami.shop.bean.vo.EnterpriseUserVo;
 import com.yami.shop.bean.vo.UserPointsVO;
 import com.yami.shop.common.util.PageParam;
 import com.yami.shop.common.util.R;
@@ -21,7 +23,6 @@ import com.yami.shop.security.comment.enums.App;
 import com.yami.shop.security.comment.service.AppConnectService;
 import com.yami.shop.service.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.security.oauth2.provider.token.TokenStore;
@@ -54,6 +55,14 @@ public class UserController {
     @Autowired
     private TokenStore tokenStore;
 
+    @GetMapping("/enterpriseUserList")
+    @PreAuthorize("@pms.hasPermission('plateform:user:page')")
+    public R<IPage<EnterpriseUserVo>> enterpriseUserList(EnterpriseUserPo po, PageParam<EnterpriseUserPo> page) {
+        IPage<EnterpriseUserVo> userPage =  userService.enterpriseUserList(page,po);
+        return R.SUCCESS(userPage);
+    }
+
+
     /**
      * 分页获取
      */

+ 2 - 0
yami-shop-platform/src/main/resources/application.yml

@@ -27,6 +27,8 @@ mybatis-plus:
       field-strategy: NOT_NULL
       # 默认数据库表下划线命名
       table-underline: true
+  configuration:
+    map-underscore-to-camel-case: true
 server:
   tomcat:
     basedir: /temp

+ 4 - 0
yami-shop-service/src/main/java/com/yami/shop/dao/UserMapper.java

@@ -14,6 +14,8 @@ import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yami.shop.bean.model.User;
+import com.yami.shop.bean.po.EnterpriseUserPo;
+import com.yami.shop.bean.vo.EnterpriseUserVo;
 import com.yami.shop.bean.vo.UserPointsVO;
 import com.yami.shop.common.util.PageParam;
 import org.apache.ibatis.annotations.Param;
@@ -35,4 +37,6 @@ public interface UserMapper extends BaseMapper<User> {
     IPage<User> getUserPage(PageParam<User> page, @Param("user") User user);
 
     IPage<UserPointsVO> statisticsList(PageParam<User> pageParam, @Param("user")User user);
+
+    IPage<EnterpriseUserVo> enterpriseUserList(@Param("page") PageParam<EnterpriseUserPo> page, @Param("po") EnterpriseUserPo po);
 }

+ 3 - 1
yami-shop-service/src/main/java/com/yami/shop/service/UserService.java

@@ -14,8 +14,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yami.shop.bean.app.param.UserRegisterParam;
 import com.yami.shop.bean.model.User;
+import com.yami.shop.bean.po.EnterpriseUserPo;
+import com.yami.shop.bean.vo.EnterpriseUserVo;
 import com.yami.shop.bean.vo.UserPointsVO;
-import com.yami.shop.bean.vo.UserVO;
 import com.yami.shop.common.util.PageParam;
 
 /**
@@ -42,4 +43,5 @@ public interface UserService extends IService<User> {
      */
     IPage<UserPointsVO> statisticsList(PageParam<User> pageParam, User user);
 
+    IPage<EnterpriseUserVo> enterpriseUserList(PageParam<EnterpriseUserPo> page, EnterpriseUserPo po);
 }

+ 7 - 8
yami-shop-service/src/main/java/com/yami/shop/service/impl/UserServiceImpl.java

@@ -15,25 +15,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yami.shop.bean.app.param.UserRegisterParam;
 import com.yami.shop.bean.model.User;
+import com.yami.shop.bean.po.EnterpriseUserPo;
+import com.yami.shop.bean.vo.EnterpriseUserVo;
 import com.yami.shop.bean.vo.UserPointsVO;
 import com.yami.shop.common.exception.GlobalException;
-import com.yami.shop.common.exception.YamiShopBindException;
 import com.yami.shop.common.util.PageParam;
 import com.yami.shop.common.util.RedisUtil;
-import com.yami.shop.dao.UserExtensionMapper;
 import com.yami.shop.dao.UserMapper;
 import com.yami.shop.service.UserExtensionService;
 import com.yami.shop.service.UserService;
 import lombok.AllArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
 
-import javax.validation.Valid;
-import java.util.Date;
 import java.util.Objects;
-import java.util.UUID;
 
 /**
  * @author lgh on 2018/09/11.
@@ -90,4 +84,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     public IPage<UserPointsVO> statisticsList(PageParam<User> pageParam, User user) {
         return userMapper.statisticsList(pageParam,user);
     }
+
+    @Override
+    public IPage<EnterpriseUserVo> enterpriseUserList(PageParam<EnterpriseUserPo> page, EnterpriseUserPo po) {
+        return  userMapper.enterpriseUserList(page,po);
+    }
 }

+ 23 - 0
yami-shop-service/src/main/resources/mapper/UserMapper.xml

@@ -102,4 +102,27 @@
         </where>
     </select>
 
+
+    <select id="enterpriseUserList" resultType="com.yami.shop.bean.vo.EnterpriseUserVo">
+        SELECT a.user_id,a.`status`,b.channel_name,a.real_name,a.user_mobile,
+               IFNULL((SELECT SUM(points) FROM tz_points_recharge WHERE user_id=a.user_id),0) total,
+            IFNULL((SELECT SUM(points) FROM tz_points_recharge WHERE user_id=a.user_id and recharge_status=1),0) available,
+            IFNULL((SELECT SUM(points) FROM tz_points_recharge WHERE user_id=a.user_id and recharge_status=2),0) expired,
+            (SELECT(IFNULL((SELECT SUM(points) FROM tz_points_record WHERE user_id = a.user_id AND points_type = 2 AND points_audit IN (2,3)), 0)-
+                    IFNULL((SELECT SUM(points) FROM tz_points_record WHERE user_id = a.user_id  AND points_type = 3), 0))) used
+        FROM tz_user a
+                 LEFT JOIN tz_channel b on a.channel_id=b.id
+        <where>
+            <if test="po.channelId != null">
+                AND a.channel_id=#{po.channelId}
+            </if>
+            <if test="po.realName != null and po.realName != ''">
+                AND a.real_name LIKE CONCAT("%",#{po.realName},"%")
+            </if>
+            <if test="po.phone != null and po.phone != ''">
+                AND a.user_mobile LIKE CONCAT("%",#{phone},"%")
+            </if>
+        </where>
+    </select>
+
 </mapper>