diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderInfoRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderInfoRepository.java index aa889297..c8294d74 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderInfoRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderInfoRepository.java @@ -205,4 +205,9 @@ public interface TbOrderInfoRepository extends JpaRepository queryShopTableSaleInfo(@Param("shopId") String shopId, @Param("startTime") Long startTime, @Param("endTime") Long endTime); + + + + @Query(value = "select count(*) from tb_order_info where user_id=:userId and shop_id=:shopId and `status` in ('closed','refund')",nativeQuery = true) + Integer countByUserIdAndStatusAndShopId(String userId,String shopId); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbShopUserRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbShopUserRepository.java index acff9e4f..54509cc9 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbShopUserRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/shop/TbShopUserRepository.java @@ -22,6 +22,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Query; import javax.persistence.Tuple; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -44,4 +45,10 @@ public interface TbShopUserRepository extends JpaRepository @Query("SELECT user.userId from TbShopUser user where user.shopId = :shopId") List getUserIdByShopId(String shopId); + + + + @Query(value = "select IFNULL(sum(amount),0) from tb_shop_user_flow where shop_user_id=:userId and biz_code in ('cashMemberIn','scanMemberIn')",nativeQuery = true) + BigDecimal sumAmount(Integer userId); + } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java index 86393543..c1c1d916 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java @@ -8,7 +8,9 @@ import cn.ysk.cashier.dto.shop.TbShopUserDto; import cn.ysk.cashier.dto.shop.TbShopUserQueryCriteria; import cn.ysk.cashier.mapper.shop.TbShopUserMapper; import cn.ysk.cashier.mybatis.mapper.ShopUserMapper; +import cn.ysk.cashier.mybatis.mapper.TbShopUserFlowMapper; import cn.ysk.cashier.pojo.shop.TbShopUser; +import cn.ysk.cashier.repository.order.TbOrderInfoRepository; import cn.ysk.cashier.repository.shop.TbShopUserRepository; import cn.ysk.cashier.service.shop.TbShopUserService; import cn.ysk.cashier.utils.FileUtil; @@ -26,11 +28,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.math.BigDecimal; import java.time.Instant; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author lyf @@ -45,6 +45,8 @@ public class TbShopUserServiceImpl implements TbShopUserService { private final TbShopUserRepository tbShopUserRepository; private final TbShopUserMapper tbShopUserMapper; + private final TbOrderInfoRepository tbOrderInfoRepository; + @Autowired private ShopUserMapper shopUserMapper; @@ -63,6 +65,10 @@ public class TbShopUserServiceImpl implements TbShopUserService { shopUserInfoVo.setTotalScore(0); }); } + Integer orderNumber=tbOrderInfoRepository.countByUserIdAndStatusAndShopId(shopUserInfoVo.getId().toString(),criteria.getShopId()); + shopUserInfoVo.setOrderNumber(Objects.isNull(orderNumber)?0:orderNumber); + shopUserInfoVo.setInMoney(tbShopUserRepository.sumAmount(shopUserInfoVo.getId())); + } return PageUtil.toPlusPage(iPage.getRecords(), Integer.valueOf(iPage.getTotal() + "")); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/ShopUserInfoVo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/ShopUserInfoVo.java index e50ecdc3..d52439a5 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/ShopUserInfoVo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/ShopUserInfoVo.java @@ -35,6 +35,9 @@ public class ShopUserInfoVo implements Serializable { private long createAt; private long lastLoginAt; + private BigDecimal inMoney; + private Integer orderNumber; + public Object getSex() { return sex; }