Bladeren bron

nothing to commit

xiongzhu 5 jaren geleden
bovenliggende
commit
01f8d9675b

+ 1 - 0
src/main/java/com/izouma/jiashanxia/dto/OrderInfoVO.java

@@ -22,6 +22,7 @@ import java.util.List;
 @NoArgsConstructor
 @NoArgsConstructor
 @ApiModel(value = "订单")
 @ApiModel(value = "订单")
 public class OrderInfoVO {
 public class OrderInfoVO {
+    private Long id;
 
 
     private Long userId;
     private Long userId;
 
 

+ 4 - 0
src/main/java/com/izouma/jiashanxia/repo/CommissionRecordRepo.java

@@ -7,6 +7,7 @@ import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.jpa.repository.Query;
 
 
 import javax.transaction.Transactional;
 import javax.transaction.Transactional;
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
 
 
 public interface CommissionRecordRepo extends JpaRepository<CommissionRecord, Long>, JpaSpecificationExecutor<CommissionRecord> {
 public interface CommissionRecordRepo extends JpaRepository<CommissionRecord, Long>, JpaSpecificationExecutor<CommissionRecord> {
@@ -16,4 +17,7 @@ public interface CommissionRecordRepo extends JpaRepository<CommissionRecord, Lo
     void softDelete(Long id);
     void softDelete(Long id);
 
 
     List<CommissionRecord> findAllByUserId(Long userId);
     List<CommissionRecord> findAllByUserId(Long userId);
+
+    @Query("select sum(c.amount) from CommissionRecord c where c.userId = ?1")
+    BigDecimal sumByUserId(Long userId);
 }
 }

+ 2 - 0
src/main/java/com/izouma/jiashanxia/repo/OrderInfoRepo.java

@@ -23,4 +23,6 @@ public interface OrderInfoRepo extends JpaRepository<OrderInfo, Long>, JpaSpecif
     long countByStatus(OrderInfoStatus status);
     long countByStatus(OrderInfoStatus status);
 
 
     List<OrderInfo> findAllByPaidAtBetweenAndStatus(LocalDateTime paidAt, LocalDateTime paidAt2, OrderInfoStatus status);
     List<OrderInfo> findAllByPaidAtBetweenAndStatus(LocalDateTime paidAt, LocalDateTime paidAt2, OrderInfoStatus status);
+
+    long countByUserId(Long userId);
 }
 }

+ 2 - 0
src/main/java/com/izouma/jiashanxia/repo/UserRepo.java

@@ -29,4 +29,6 @@ public interface UserRepo extends JpaRepository<User, Long>, JpaSpecificationExe
     List<User> findAllByParentIn(Iterable<Long> parent);
     List<User> findAllByParentIn(Iterable<Long> parent);
 
 
     List<User> findAllByCompanyId(Long companyId);
     List<User> findAllByCompanyId(Long companyId);
+
+    long countByParent(Long parentId);
 }
 }

+ 21 - 9
src/main/java/com/izouma/jiashanxia/service/UserService.java

@@ -7,11 +7,12 @@ import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.izouma.jiashanxia.config.Constants;
 import com.izouma.jiashanxia.config.Constants;
 import com.izouma.jiashanxia.domain.User;
 import com.izouma.jiashanxia.domain.User;
-import com.izouma.jiashanxia.dto.EmployeeDTO;
 import com.izouma.jiashanxia.dto.PageQuery;
 import com.izouma.jiashanxia.dto.PageQuery;
 import com.izouma.jiashanxia.dto.UserRegister;
 import com.izouma.jiashanxia.dto.UserRegister;
 import com.izouma.jiashanxia.enums.AuthorityName;
 import com.izouma.jiashanxia.enums.AuthorityName;
 import com.izouma.jiashanxia.exception.BusinessException;
 import com.izouma.jiashanxia.exception.BusinessException;
+import com.izouma.jiashanxia.repo.CommissionRecordRepo;
+import com.izouma.jiashanxia.repo.OrderInfoRepo;
 import com.izouma.jiashanxia.repo.UserRepo;
 import com.izouma.jiashanxia.repo.UserRepo;
 import com.izouma.jiashanxia.security.Authority;
 import com.izouma.jiashanxia.security.Authority;
 import com.izouma.jiashanxia.security.JwtTokenUtil;
 import com.izouma.jiashanxia.security.JwtTokenUtil;
@@ -44,13 +45,15 @@ import java.util.stream.Collectors;
 @Slf4j
 @Slf4j
 @AllArgsConstructor
 @AllArgsConstructor
 public class UserService {
 public class UserService {
-    private UserRepo       userRepo;
-    private WxMaService    wxMaService;
-    private WxMpService    wxMpService;
-    private SmsService     smsService;
-    private StorageService storageService;
-    private JwtTokenUtil   jwtTokenUtil;
-    private CaptchaService captchaService;
+    private UserRepo             userRepo;
+    private WxMaService          wxMaService;
+    private WxMpService          wxMpService;
+    private SmsService           smsService;
+    private StorageService       storageService;
+    private JwtTokenUtil         jwtTokenUtil;
+    private CaptchaService       captchaService;
+    private OrderInfoRepo        orderInfoRepo;
+    private CommissionRecordRepo commissionRecordRepo;
 
 
     public Page<User> all(PageQuery pageQuery) {
     public Page<User> all(PageQuery pageQuery) {
         return userRepo.findAll(JpaUtils.toSpecification(pageQuery, User.class), JpaUtils.toPageRequest(pageQuery));
         return userRepo.findAll(JpaUtils.toSpecification(pageQuery, User.class), JpaUtils.toPageRequest(pageQuery));
@@ -257,7 +260,8 @@ public class UserService {
         // 管理员返回所有
         // 管理员返回所有
         if (authorities.contains(Authority.get(AuthorityName.ROLE_ADMIN))) {
         if (authorities.contains(Authority.get(AuthorityName.ROLE_ADMIN))) {
             return userRepo.findAll(((root, criteriaQuery, criteriaBuilder) -> {
             return userRepo.findAll(((root, criteriaQuery, criteriaBuilder) -> {
-                List<Predicate> and = JpaUtils.toPredicates(pageQuery, User.class, root, criteriaQuery, criteriaBuilder);
+                List<Predicate> and = JpaUtils
+                        .toPredicates(pageQuery, User.class, root, criteriaQuery, criteriaBuilder);
                 and.add(root.get("companyId").isNotNull());
                 and.add(root.get("companyId").isNotNull());
                 return criteriaBuilder.and(and.toArray(new Predicate[0]));
                 return criteriaBuilder.and(and.toArray(new Predicate[0]));
             }), JpaUtils.toPageRequest(pageQuery));
             }), JpaUtils.toPageRequest(pageQuery));
@@ -273,4 +277,12 @@ public class UserService {
             return criteriaBuilder.and(and.toArray(new Predicate[0]));
             return criteriaBuilder.and(and.toArray(new Predicate[0]));
         }), JpaUtils.toPageRequest(pageQuery));
         }), JpaUtils.toPageRequest(pageQuery));
     }
     }
+
+    public Map<String, Object> overview(Long userId) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("orderCount", orderInfoRepo.countByUserId(userId));
+        map.put("commission", commissionRecordRepo.sumByUserId(userId));
+        map.put("promote", userRepo.countByParent(userId));
+        return map;
+    }
 }
 }

+ 6 - 1
src/main/java/com/izouma/jiashanxia/web/OrderInfoController.java

@@ -83,8 +83,13 @@ public class OrderInfoController extends BaseController {
     }
     }
 
 
     @PostMapping("/my")
     @PostMapping("/my")
-    public Page<OrderInfoVO> my(Pageable pageable, List<OrderInfoStatus> status) {
+    public Page<OrderInfoVO> my(Pageable pageable, @RequestParam(required = false) List<OrderInfoStatus> status) {
         return orderInfoService.my(pageable, SecurityUtils.getAuthenticatedUser().getId(), status);
         return orderInfoService.my(pageable, SecurityUtils.getAuthenticatedUser().getId(), status);
     }
     }
+
+    @GetMapping("/count")
+    public long count() {
+        return orderInfoRepo.countByUserId(SecurityUtils.getAuthenticatedUser().getId());
+    }
 }
 }
 
 

+ 5 - 0
src/main/java/com/izouma/jiashanxia/web/UserController.java

@@ -171,4 +171,9 @@ public class UserController extends BaseController {
     public Page<User> myEmployee(@RequestBody PageQuery pageQuery) {
     public Page<User> myEmployee(@RequestBody PageQuery pageQuery) {
         return userService.myEmployee(pageQuery, SecurityUtils.getAuthenticatedUser());
         return userService.myEmployee(pageQuery, SecurityUtils.getAuthenticatedUser());
     }
     }
+
+    @GetMapping("/overview")
+    public Map<String, Object> overview() {
+        return userService.overview(SecurityUtils.getAuthenticatedUser().getId());
+    }
 }
 }