Jelajahi Sumber

店铺功能

zwhui 2 tahun lalu
induk
melakukan
45ff28ab7c
100 mengubah file dengan 2989 tambahan dan 35 penghapusan
  1. 2 0
      netflix-common/src/main/java/com/cyksj/common/constant/Constant.java
  2. 3 0
      netflix-dao/src/main/java/com/cyksj/mapper/GoodsDonMapper.java
  3. 2 0
      netflix-dao/src/main/java/com/cyksj/mapper/GoodsDonSkuMapper.java
  4. 2 0
      netflix-dao/src/main/java/com/cyksj/mapper/OrderDonMapper.java
  5. 9 0
      netflix-dao/src/main/java/com/cyksj/mapper/UserMapper.java
  6. 13 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopApplyRecordMapper.java
  7. 13 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopDistributeMoneyApplyMapper.java
  8. 13 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopDistributeOrdersDeductPointsRecordMapper.java
  9. 22 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopDistributeWaitingSendPointsMapper.java
  10. 13 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopGeneralGoodsRateMapper.java
  11. 11 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopGoodsRateMapper.java
  12. 18 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopGoodsSkuMapper.java
  13. 31 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopMapper.java
  14. 13 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopUserBusinessDefaultRateConfigMapper.java
  15. 13 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopUserDistributeBusinessOrderDonRecordMapper.java
  16. 13 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopUserDistributeBusinessRateMapper.java
  17. 13 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopUserDistributeSharedMapper.java
  18. 13 0
      netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopUserPlatDistributeRateMapper.java
  19. 10 0
      netflix-dao/src/main/java/com/cyksj/model/dto/AuthRedirect.java
  20. 38 0
      netflix-dao/src/main/java/com/cyksj/model/dto/YhShopInfo.java
  21. 2 1
      netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDon.java
  22. 4 0
      netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonSku.java
  23. 2 0
      netflix-dao/src/main/java/com/cyksj/model/entity/GroupsRelation.java
  24. 5 0
      netflix-dao/src/main/java/com/cyksj/model/entity/OrderDon.java
  25. 7 0
      netflix-dao/src/main/java/com/cyksj/model/entity/TransferAccountsRecord.java
  26. 5 0
      netflix-dao/src/main/java/com/cyksj/model/entity/User.java
  27. 7 0
      netflix-dao/src/main/java/com/cyksj/model/entity/UserDistributeShared.java
  28. 5 0
      netflix-dao/src/main/java/com/cyksj/model/entity/WorkOrder.java
  29. 80 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShop.java
  30. 59 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopApplyRecord.java
  31. 90 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopDistributeMoneyApply.java
  32. 22 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopDistributeOrdersDeductPointsRecord.java
  33. 64 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopDistributeWaitingSendPoints.java
  34. 18 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopGeneralGoodsRate.java
  35. 55 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopGoodsRate.java
  36. 34 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopGoodsSku.java
  37. 31 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserBusinessDefaultRateConfig.java
  38. 77 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserDistributeBusinessOrderDonRecord.java
  39. 43 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserDistributeBusinessRate.java
  40. 30 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserDistributeShared.java
  41. 70 0
      netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserPlatDistributeRate.java
  42. 3 0
      netflix-dao/src/main/java/com/cyksj/model/manage/views/GroupsRelationView.java
  43. 3 0
      netflix-dao/src/main/java/com/cyksj/model/manage/views/OrderDonView.java
  44. 2 0
      netflix-dao/src/main/java/com/cyksj/model/request/ApplyMoneyReq.java
  45. 5 0
      netflix-dao/src/main/java/com/cyksj/model/request/ExchangeCodeTicket.java
  46. 25 0
      netflix-dao/src/main/java/com/cyksj/model/request/GoodsDonShopRateReq.java
  47. 5 0
      netflix-dao/src/main/java/com/cyksj/model/request/LoginReq.java
  48. 10 0
      netflix-dao/src/main/java/com/cyksj/model/request/OrderPayRequest.java
  49. 20 0
      netflix-dao/src/main/java/com/cyksj/model/request/ShopGeneralGoodsRateReq.java
  50. 2 0
      netflix-dao/src/main/java/com/cyksj/model/request/TransferAccountsReq.java
  51. 5 0
      netflix-dao/src/main/java/com/cyksj/model/request/WorkOrderReq.java
  52. 38 0
      netflix-dao/src/main/java/com/cyksj/model/request/YhShopApplyMoneyReq.java
  53. 25 0
      netflix-dao/src/main/java/com/cyksj/model/request/YhShopUserPlatDistributeRateReq.java
  54. 34 0
      netflix-dao/src/main/java/com/cyksj/model/request/YhShopVerifyReq.java
  55. 25 0
      netflix-dao/src/main/java/com/cyksj/model/views/BackgroundDataView.java
  56. 3 0
      netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonViews.java
  57. 6 0
      netflix-dao/src/main/java/com/cyksj/model/views/RenewalView.java
  58. 29 0
      netflix-dao/src/main/java/com/cyksj/model/views/ShopGeneralGoodsRateView.java
  59. 1 1
      netflix-dao/src/main/java/com/cyksj/model/views/UserBusinessDefaultRateConfigView.java
  60. 3 0
      netflix-dao/src/main/java/com/cyksj/model/views/UserTicketView.java
  61. 3 0
      netflix-dao/src/main/java/com/cyksj/model/views/UserWorkOrderView.java
  62. 25 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopAvailableGoodsView.java
  63. 22 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopBrokenLineCpsUserWMoneyView.java
  64. 56 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopBusinessDistributesDataView.java
  65. 61 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopBusinessTakeMoneyDetail.java
  66. 43 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopBusinessTakeMoneyHeadView.java
  67. 76 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopDetailView.java
  68. 56 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopDistributeBusinessView.java
  69. 67 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopDistributeMoneyApplyView.java
  70. 50 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopDistributeOrderView.java
  71. 97 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopDistributeView.java
  72. 133 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsFrontView.java
  73. 65 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsRateView.java
  74. 118 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsSkuFrontView.java
  75. 80 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsView.java
  76. 45 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopRegisterDetail.java
  77. 54 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopRegisterDistributeOrdersDetailView.java
  78. 49 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopRegisterOrderDetail.java
  79. 39 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserBusinessDefaultRateConfigView.java
  80. 61 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserDistributeBusinessRateRecordView.java
  81. 42 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserDistributeDetailView.java
  82. 54 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserDistributeOrdersDetailView.java
  83. 39 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserDistributeOrdersStatisticsView.java
  84. 28 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserDistributeRateView.java
  85. 22 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserWMoneyStatisticsDataView.java
  86. 66 0
      netflix-dao/src/main/java/com/cyksj/model/views/YhShopView.java
  87. 8 0
      netflix-dao/src/main/resources/mapper/GoodsDonSkuMapper.xml
  88. 2 1
      netflix-dao/src/main/resources/mapper/GroupRelationMapper.xml
  89. 12 0
      netflix-dao/src/main/resources/mapper/OrderDonMapper.xml
  90. 2 6
      netflix-dao/src/main/resources/mapper/UserDistributeMapper.xml
  91. 14 0
      netflix-dao/src/main/resources/mapper/YhShopGeneralGoodsRateMapper.xml
  92. 64 0
      netflix-dao/src/main/resources/mapper/YhShopMapper.xml
  93. 76 0
      netflix-dao/src/main/resources/mapper/YhShopWaitingSendPointsMapper.xml
  94. 43 0
      netflix-service/src/main/java/com/cyksj/config/wxlogin/BaseWxOpenPlatConfig.java
  95. 24 0
      netflix-service/src/main/java/com/cyksj/config/wxlogin/WxOpenPlatEnum.java
  96. 38 0
      netflix-service/src/main/java/com/cyksj/config/wxlogin/WxOpenPlatFactory.java
  97. 7 25
      netflix-service/src/main/java/com/cyksj/config/wxlogin/WxOpenPlatYHLXLoginConfig.java
  98. 26 0
      netflix-service/src/main/java/com/cyksj/config/wxlogin/WxShopOpenPlatConfig.java
  99. 2 0
      netflix-service/src/main/java/com/cyksj/redis/RedisService.java
  100. 1 1
      netflix-service/src/main/java/com/cyksj/service/authorization/AuthorizationService.java

+ 2 - 0
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -159,4 +159,6 @@ public interface Constant {
 	String ORDER_MSG_FIRST_NOTIFY = "%s购买成功,收藏官网https://nf.video/ 合租账号就上银河录像局【银河录像局】";
 
 	String LOGIN_CODE = "yhc@36";
+
+	String USER_OPEN_SHOP_DS_ORDERS_LIMIT_KEY = "user_open_shop_ds_orders_limit_key";
 }

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GoodsDonMapper.java

@@ -27,4 +27,7 @@ public interface GoodsDonMapper extends BaseMapper<GoodsDon> {
 	@Select("select sku.id as skuId,sku.goods_id,sku.spec_val,g.title as goodsTitle from goods_don_sku sku inner join goods_don g on g.id = sku.goods_id" +
 			" where g.deleted is true and type = #{type}")
 	List<GoodsDonSkuView> selectGoodsDonSkuByGoodsType(Integer type);
+
+	@Select("select g.id, g.title from (select distinct goods_id from order_don where status not in ('close','noPayment') and yhs_id = #{yhsId}) o inner join goods_don g on g.id = o.goods_id and g.type = 1")
+	List<GoodsDon> getYhShopDistributeGoodsDetail(Long yhsId);
 }

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GoodsDonSkuMapper.java

@@ -2,6 +2,7 @@ package com.cyksj.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.cyksj.model.entity.GoodsDonSku;
+import com.cyksj.model.entity.YhShopGoodsSku;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -13,4 +14,5 @@ import java.util.List;
 public interface GoodsDonSkuMapper  extends BaseMapper<GoodsDonSku> {
 
 	List<Long> selectAIMonthSkuIds(@Param("list") List<Long> goodsIds);
+	List<YhShopGoodsSku> selectSkuShops(@Param("list") List<Long> goodsIds);
 }

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/mapper/OrderDonMapper.java

@@ -47,4 +47,6 @@ public interface OrderDonMapper extends BaseMapper<OrderDon> {
 	BigDecimal selectThisMonthDistributeOrderMoney(@Param("skuIds") Set<Long> skuIds, @Param("startDate") String startDate, @Param("endDate") String endDate);
 
 	Map<String, Object> getOrderDetailByGoodsType(@Param("type") Integer type, @Param("noOrderStatus") List<String> noOrderStatus, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
+
+	Map<String, Object> selectYhShopDistributeOrderDetail(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
 }

+ 9 - 0
netflix-dao/src/main/java/com/cyksj/mapper/UserMapper.java

@@ -50,4 +50,13 @@ public interface UserMapper extends BaseMapper<User> {
 
     @Select("select id from user where show_id = #{showId} limit 1")
     Long getUserIdByShowId(String showId);
+
+    @Update("update user set yhs_money = yhs_money + #{addYhsMoney} where id = #{userId} and yhs_money = #{yhsMoney}")
+    Integer addYhsMoney(@Param("userId") Long id, @Param("yhsMoney") BigDecimal yhsMoney, @Param("addYhsMoney") BigDecimal addYhsMoney);
+
+    @Update("update user set yhs_money = yhs_money - #{deductMoney} where id = #{shopUserId} and yhs_money = #{yhsMoney}")
+    Integer subYhShopUserMoney(@Param("shopUserId") Long shopUserId, @Param("yhsMoney") BigDecimal yhsMoney, @Param("deductMoney") BigDecimal deductMoney);
+
+    @Update("update user set yhs_money = yhs_money - #{subMoney} where id = #{shopUserId} and yhs_money >= #{subMoney} and yhs_money > 0")
+    Integer subYhsMoney(@Param("shopUserId") Long shopUserId, @Param("subMoney") BigDecimal subMoney);
 }

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopApplyRecordMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopApplyRecord;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopApplyRecordMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/21 10:38
+ */
+public interface YhShopApplyRecordMapper extends BaseMapper<YhShopApplyRecord> {
+}

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopDistributeMoneyApplyMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopDistributeMoneyApply;
+
+/*
+ *项目名: yhlxj
+ *文件名: yhShopApplyMoneyMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/20 18:41
+ */
+public interface YhShopDistributeMoneyApplyMapper extends BaseMapper<YhShopDistributeMoneyApply> {
+}

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopDistributeOrdersDeductPointsRecordMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopDistributeOrdersDeductPointsRecord;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopDistributeOrdersDeductPointsRecordMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/20 16:30
+ */
+public interface YhShopDistributeOrdersDeductPointsRecordMapper extends BaseMapper<YhShopDistributeOrdersDeductPointsRecord> {
+}

+ 22 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopDistributeWaitingSendPointsMapper.java

@@ -0,0 +1,22 @@
+package com.cyksj.mapper.shop;
+
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopDistributeWaitingSendPoints;
+import com.cyksj.model.views.YhShopBrokenLineCpsUserWMoneyView;
+import com.cyksj.model.views.YhShopUserWMoneyStatisticsDataView;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopDistributeWaitingSendPointsMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/19 18:08
+ */
+public interface YhShopDistributeWaitingSendPointsMapper extends BaseMapper<YhShopDistributeWaitingSendPoints> {
+	YhShopBrokenLineCpsUserWMoneyView getWMoneyStatisticsDataView(@Param("yhShopUserId") long yhShopUserId, @Param("first") DateTime first, @Param("end") DateTime end, @Param("today") Boolean today);
+
+	List<YhShopUserWMoneyStatisticsDataView> getWMoneyStatisticsDate(@Param("yhShopUserId") long yhShopUserId, @Param("first") DateTime first, @Param("end") DateTime end, @Param("today") Boolean today);
+}

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopGeneralGoodsRateMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopGeneralGoodsRate;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopGeneralGoodsRateMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/15 17:35
+ */
+public interface YhShopGeneralGoodsRateMapper extends BaseMapper<YhShopGeneralGoodsRate> {
+}

+ 11 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopGoodsRateMapper.java

@@ -0,0 +1,11 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopGoodsRate;
+
+/**
+ * @author zwhui
+ * @date 2023/9/14 16:45
+ */
+public interface YhShopGoodsRateMapper extends BaseMapper<YhShopGoodsRate> {
+}

+ 18 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopGoodsSkuMapper.java

@@ -0,0 +1,18 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.GoodsDonSku;
+import com.cyksj.model.entity.YhShopGoodsSku;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+/**
+ * @author zwhui
+ * @date 2023/9/14 17:43
+ */
+public interface YhShopGoodsSkuMapper extends BaseMapper<YhShopGoodsSku> {
+
+	@Select("select sku.*,ygs.price as yhShopSkuPrice from (select user_id from yh_shop where id = #{yhsId} limit 1) ys inner join yh_shop_goods_sku ygs on ygs.user_id = ys.user_id and ygs.sku_id = #{skuId} and ygs.deleted is true and ygs.status is true" +
+			" inner join goods_don_sku sku on sku.id = ygs.sku_id")
+	GoodsDonSku selectGoodsDonSkuBySkuIdAndYhsId(@Param("yhsId") Long yhsId, @Param("skuId") Long skuId);
+}

+ 31 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopMapper.java

@@ -0,0 +1,31 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShop;
+import com.cyksj.model.entity.YhShopDistributeMoneyApply;
+import com.cyksj.model.views.YhShopDistributeView;
+import org.apache.ibatis.annotations.Param;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.Map;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/14 16:58
+ */
+public interface YhShopMapper extends BaseMapper<YhShop> {
+	String selectSoldMaxGoods(Long userId);
+
+	YhShopDistributeView getApplyDetailByUserId(Long userId);
+
+	Map<String, Object> selectYhShopDetail(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
+
+	BigDecimal selectYhShopTakeMoney(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
+
+	Map<String, Object> selectYhShopApplyMoney(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
+
+	YhShopDistributeMoneyApply selectRelationBusiness(Long userId);
+}

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopUserBusinessDefaultRateConfigMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopUserBusinessDefaultRateConfig;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserBusinessDefaultRateConfigMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/18 17:05
+ */
+public interface YhShopUserBusinessDefaultRateConfigMapper extends BaseMapper<YhShopUserBusinessDefaultRateConfig> {
+}

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopUserDistributeBusinessOrderDonRecordMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopUserDistributeBusinessOrderDonRecord;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeBusinessOrderDonRecordMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/20 16:09
+ */
+public interface YhShopUserDistributeBusinessOrderDonRecordMapper extends BaseMapper<YhShopUserDistributeBusinessOrderDonRecord> {
+}

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopUserDistributeBusinessRateMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopUserDistributeBusinessRate;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeBusinessRateMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/18 17:29
+ */
+public interface YhShopUserDistributeBusinessRateMapper extends BaseMapper<YhShopUserDistributeBusinessRate> {
+}

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopUserDistributeSharedMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopUserDistributeShared;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeSharedMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/20 15:36
+ */
+public interface YhShopUserDistributeSharedMapper extends BaseMapper<YhShopUserDistributeShared> {
+}

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/shop/YhShopUserPlatDistributeRateMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper.shop;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.YhShopUserPlatDistributeRate;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserPlatDistributeRateMapper
+ *创建者: JavaZou
+ *创建时间:2023/9/18 14:26
+ */
+public interface YhShopUserPlatDistributeRateMapper extends BaseMapper<YhShopUserPlatDistributeRate> {
+}

+ 10 - 0
netflix-dao/src/main/java/com/cyksj/model/dto/AuthRedirect.java

@@ -62,4 +62,14 @@ public class AuthRedirect {
      * 绑定邮箱
      */
     private String le;
+
+    /**
+     * appid
+     */
+    private String ap;
+
+    /**
+     * 店铺自定义id
+     */
+    private String cd;
 }

+ 38 - 0
netflix-dao/src/main/java/com/cyksj/model/dto/YhShopInfo.java

@@ -0,0 +1,38 @@
+package com.cyksj.model.dto;
+
+import com.cyksj.model.entity.YhShop;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopInfo
+ *创建者: JavaZou
+ *创建时间:2023/9/20 14:26
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop ys",
+		where = ":uid:")
+public class YhShopInfo {
+	@DbField("ys.id")
+	private Long yhsId;
+
+	private String customId;
+
+	private String name;
+
+	private YhShop.Status verifyStatus;
+
+	private Boolean status;
+
+	private String contact;
+
+	private String reason;
+
+	private Date createdTime;
+}

+ 2 - 1
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDon.java

@@ -187,7 +187,8 @@ public class GoodsDon extends BaseEntity {
     @Getter
     public enum SpecialType {
         recharge("代充"),
-        courseware("课件")
+        courseware("课件"),
+        giftCard("礼品卡")
         ;
 
         private String desc;

+ 4 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonSku.java

@@ -156,4 +156,8 @@ public class GoodsDonSku extends BaseEntity {
     @TableField(exist = false)
     @JsonProperty("sname")
     private String sName;
+
+    @DbIgnore
+    @TableField(exist = false)
+    private BigDecimal yhShopSkuPrice;
 }

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GroupsRelation.java

@@ -72,6 +72,8 @@ public class GroupsRelation extends BaseEntity {
      */
     private String verifyCode;
 
+    private Long yhsId;
+
     /**
      * 获取权益时的订单id
      */

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/OrderDon.java

@@ -231,6 +231,11 @@ public class OrderDon extends BaseEntity implements Serializable {
      */
     private Boolean isOt;
 
+    /**
+     * 店铺id
+     */
+    private Long yhsId;
+
     public enum Status {
         /**
          * 订单状态

+ 7 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/TransferAccountsRecord.java

@@ -65,4 +65,11 @@ public class TransferAccountsRecord extends BaseEntity{
 	 * 转账日期
 	 */
 	private Date transferTime;
+
+	/**
+	 * 渠道类型
+	 * 1分销
+	 * 2店铺提现
+	 */
+	private Integer channelType;
 }

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/User.java

@@ -62,6 +62,11 @@ public class User extends BaseEntity implements Serializable{
      */
     private BigDecimal balance;
 
+    /**
+     * 用户店铺提成金额
+     */
+    private BigDecimal yhsMoney;
+
     /**
      * 推广id
      */

+ 7 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/UserDistributeShared.java

@@ -31,4 +31,11 @@ public class UserDistributeShared extends BaseEntity{
 	 * cps后台自定义推广链接id
 	 */
 	private Long dsPopularizeId;
+
+	/**
+	 * 新渠道上下级规则:
+	 * 在原规则基础上加上用户需在在45天内下单成功之后才算真绑定,享受后续所有订单返利
+	 * 超过45天 未下单 不参与后续提成
+	 */
+	private Boolean isBind;
 }

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/WorkOrder.java

@@ -50,6 +50,11 @@ public class WorkOrder extends BaseEntity{
 
 	private String remark;
 
+	/**
+	 * 店铺主键id
+	 */
+	private Long yhsId;
+
 	@Getter
 	public enum Type {
 		freeze("账号被封"),

+ 80 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShop.java

@@ -0,0 +1,80 @@
+package com.cyksj.model.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.cyksj.model.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShop
+ *创建者: JavaZou
+ *创建时间:2023/9/14 13:59
+ */
+@Getter
+@Setter
+public class YhShop extends BaseEntity {
+	/**
+	 * 店主id
+	 */
+	private Long userId;
+
+	/**
+	 * 店铺名称
+	 */
+	private String name;
+
+	/**
+	 * 自定义id
+	 */
+	private String customId;
+
+	/**
+	 * 商务id
+	 */
+	private Long businessId;
+
+	private Date businessBindTime;
+
+	/**
+	 * 是否审核通过
+	 */
+	private Status verifyStatus;
+
+	/**
+	 * 店铺开放状态
+	 */
+	private Boolean status;
+
+	/**
+	 * 审核失败原因
+	 */
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private String reason;
+
+	/**
+	 * 联系方式
+	 */
+	private String contact;
+
+	/**
+	 * 备注
+	 */
+	private String remark;
+
+	@Getter
+	public enum Status {
+		verify("审核中"),
+		success("审核通过"),
+		fail("审核失败");
+		String desc;
+
+		Status(String desc) {
+			this.desc = desc;
+		}
+	}
+}
+

+ 59 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopApplyRecord.java

@@ -0,0 +1,59 @@
+package com.cyksj.model.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopApplyRecord
+ *创建者: JavaZou
+ *创建时间:2023/9/21 10:36
+ */
+@Getter
+@Setter
+public class YhShopApplyRecord extends BaseEntity {
+	/**
+	 * 店主id
+	 */
+	private Long userId;
+
+	/**
+	 * 店铺名称
+	 */
+	private String name;
+
+	/**
+	 * 自定义id
+	 */
+	private String customId;
+
+	/**
+	 * 是否审核通过
+	 */
+	private Status verifyStatus;
+
+	/**
+	 * 审核失败原因
+	 */
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private String reason;
+
+	private Date verifyTime;
+
+	@Getter
+	public enum Status {
+		verify("审核中"),
+		modify("申请修改"),
+		success("审核通过"),
+		fail("审核失败");
+		String desc;
+
+		Status(String desc) {
+			this.desc = desc;
+		}
+	}
+}

+ 90 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopDistributeMoneyApply.java

@@ -0,0 +1,90 @@
+package com.cyksj.model.entity;
+
+import cn.hutool.core.util.StrUtil;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopDistributeMoneyApply
+ *创建者: JavaZou
+ *创建时间:2023/9/18 17:45
+ */
+@Getter
+@Setter
+public class YhShopDistributeMoneyApply extends BaseEntity {
+
+	private Long userId;
+
+	private BigDecimal money;
+
+	private String reason;
+
+	private Status verifyStatus;
+
+	private Type type;
+
+	private String account;
+
+	private String realName;
+
+	private String img;
+
+	/**
+	 * 钱包地址
+	 */
+	private String walletAddr;
+
+	/**
+	 * 备注
+	 */
+	private String remark;
+
+	private Long businessId;
+
+	private String businessName;
+
+	@Getter
+	public enum Type {
+		zfb("支付宝"),
+		wechat("微信"),
+		usdt("usdt"),
+		pwdRed("口令红包"),
+		other("其他")
+		;
+		String desc;
+
+		Type(String desc) {
+			this.desc = desc;
+		}
+
+		public DistributeMoneyApply.Type getType(String value) {
+			if (StrUtil.isEmpty(value)) {
+				return null;
+			}
+			return Arrays.stream(DistributeMoneyApply.Type.values()).filter(type -> type.name().equals(value)).findFirst().get();
+		}
+
+	}
+
+	@Getter
+	public enum Status {
+		success("审核成功"),
+		fail("审核失败"),
+		verifying("审核中"),
+		;
+		String desc;
+
+		Status(String desc) {
+			this.desc = desc;
+		}
+
+		public static YhShopDistributeMoneyApply.Status checkStatus(String status) {
+			return Arrays.stream(YhShopDistributeMoneyApply.Status.values()).filter(st -> st.name().equals(status)).findFirst().orElse(null);
+		}
+	}
+}
+

+ 22 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopDistributeOrdersDeductPointsRecord.java

@@ -0,0 +1,22 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopDistributeOrdersDeductPointsRecord
+ *创建者: JavaZou
+ *创建时间:2023/9/20 16:29
+ */
+@Getter
+@Setter
+public class YhShopDistributeOrdersDeductPointsRecord extends BaseEntity{
+	private Long shopUserId;
+
+	private Long orderId;
+
+	private BigDecimal deductMoney;
+}

+ 64 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopDistributeWaitingSendPoints.java

@@ -0,0 +1,64 @@
+package com.cyksj.model.entity;
+
+import com.cyksj.model.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopDistributeWaitingSendPoints
+ *创建者: JavaZou
+ *创建时间:2023/9/14 14:01
+ */
+@Getter
+@Setter
+public class YhShopDistributeWaitingSendPoints extends BaseEntity {
+	/**
+	 * 店铺用户id
+	 */
+	private Long userId;
+
+	/**
+	 * 店铺主id
+	 */
+	private Long shopUserId;
+
+	private Long orderId;
+
+	private Long skuId;
+
+	/**
+	 * 分成金额
+	 */
+	private BigDecimal money;
+
+	/**
+	 * 订单退款扣除的分成金额
+	 */
+	private BigDecimal refundMoney;
+
+	/**
+	 * 提成比例
+	 */
+	private Integer rate;
+
+	private Date sendTime;
+
+	private Status sendStatus;
+
+	public enum Status{
+		close("店铺分销订单关闭,积分奖励不分发"),
+		success("积分发送成功"),
+		waiting("积分等待发送"),
+		not_exist("用户不存在,导致发送失败"),
+		;
+		String desc;
+
+		Status(String desc) {
+			this.desc = desc;
+		}
+	}
+}

+ 18 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopGeneralGoodsRate.java

@@ -0,0 +1,18 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopGeneralGoodsRate
+ *创建者: JavaZou
+ *创建时间:2023/9/15 17:35
+ */
+@Getter
+@Setter
+public class YhShopGeneralGoodsRate extends BaseEntity{
+	private Long goodsId;
+
+	private Integer rate;
+}

+ 55 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopGoodsRate.java

@@ -0,0 +1,55 @@
+package com.cyksj.model.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+
+/**
+ * @author zwhui
+ * @date 2023/9/14 10:56
+ */
+@Getter
+@Setter
+@SearchBean(tables = "goods_don_sku sku left join yh_shop_goods_rate yr on yr.sku_id = sku.id")
+public class YhShopGoodsRate{
+
+
+    @TableId(value = "id",type = IdType.AUTO)
+    @DbField("yr.id")
+    private Long id;
+
+
+    @DbField("sku.goods_id")
+    private Long goodsId;
+
+    @DbField("sku.id")
+    private Long skuId;
+
+    @DbIgnore
+    private Integer rate;
+
+
+    /**
+     * 创建时间
+     */
+
+    @TableField(fill = FieldFill.INSERT)
+    @DbField("yr.created_time")
+    private Date createdTime;
+
+    /**
+     * 修改时间
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @DbField("yr.update_time")
+    private Date updateTime;
+}

+ 34 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopGoodsSku.java

@@ -0,0 +1,34 @@
+package com.cyksj.model.entity;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author zwhui
+ * @date 2023/9/14 17:34
+ */
+@Data
+public class YhShopGoodsSku extends BaseEntity{
+    private Long goodsId;
+
+    private Long skuId;
+
+    private Long userId;
+
+    private Long yhsId;
+
+    /**
+     * 价格
+     */
+    private BigDecimal price;
+    /**
+     * true 上架 / false 下架
+     */
+    private Boolean status;
+    /**
+     * true 存在 / false 删除
+     */
+    private Boolean deleted;
+
+}

+ 31 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserBusinessDefaultRateConfig.java

@@ -0,0 +1,31 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserBusinessDefaultRateConfig
+ *创建者: JavaZou
+ *创建时间:2023/9/18 17:05
+ */
+@Getter
+@Setter
+public class YhShopUserBusinessDefaultRateConfig extends BaseEntity {
+	private Long goodsId;
+
+	/**
+	 * 标准配置分销者比例
+	 */
+	private Integer rate;
+
+	/**
+	 * 最高可配置分销者比例
+	 */
+	private Integer maxRate;
+
+	/**
+	 * 超过配置最高分销者比例是否平台承担
+	 */
+	private Boolean isPlatPay;
+}

+ 77 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserDistributeBusinessOrderDonRecord.java

@@ -0,0 +1,77 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeBusinessOrderDonRecord
+ *创建者: JavaZou
+ *创建时间:2023/9/20 16:08
+ */
+
+@Getter
+@Setter
+public class YhShopUserDistributeBusinessOrderDonRecord extends BaseEntity {
+	/**
+	 * 商务id
+	 */
+	private Long businessId;
+
+	/**
+	 * 店铺主user_id
+	 */
+	private Long shopUserId;
+
+	/**
+	 * 产生分销订单用户id
+	 */
+	private Long userId;
+
+	/**
+	 * 首单时 座位id
+	 */
+	private Long preRelationId;
+
+	private Long orderId;
+
+	/**
+	 * 1首单,2续费
+	 */
+	private Integer orderType;
+
+	/**
+	 * 分销比例
+	 */
+	private Integer rate;
+
+	/**
+	 * 提成金额
+	 */
+	private BigDecimal takeMoney;
+
+	/**
+	 * 提成状态
+	 */
+	private Status status;
+
+	/**
+	 * 订单创建时间
+	 */
+	private Date orderCreatedTime;
+
+	@Getter
+	public enum Status {
+		success("成功"),
+		refund("失败"),
+		;
+		String desc;
+
+		Status(String desc) {
+			this.desc = desc;
+		}
+	}
+}

+ 43 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserDistributeBusinessRate.java

@@ -0,0 +1,43 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeBusinessRate
+ *创建者: JavaZou
+ *创建时间:2023/9/18 17:29
+ */
+@Getter
+@Setter
+public class YhShopUserDistributeBusinessRate extends BaseEntity {
+	/**
+	 * 商务用户id
+	 */
+	@NotNull
+	private Long businessId;
+
+	/**
+	 * 平台id
+	 */
+	private Long goodsId;
+
+	/**
+	 * 规格id
+	 */
+	private Long skuId;
+
+	/**
+	 * 首单提成比例
+	 */
+	private Integer firstOrderRate;
+
+	/**
+	 * 首单续费提成比例
+	 */
+	private Integer renewOrderRate;
+}
+

+ 30 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserDistributeShared.java

@@ -0,0 +1,30 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeShared
+ *创建者: JavaZou
+ *创建时间:2023/9/20 15:36
+ */
+@Getter
+@Setter
+public class YhShopUserDistributeShared extends BaseEntity{
+	/**
+	 * 被分享人id
+	 */
+	private Long userId;
+
+	/**
+	 * 店铺主user_id
+	 */
+	private Long shopUserId;
+
+	/**
+	 * 邀请方式备注
+	 */
+	private String remark;
+}
+

+ 70 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserPlatDistributeRate.java

@@ -0,0 +1,70 @@
+package com.cyksj.model.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserPlatDistributeRate
+ *创建者: JavaZou
+ *创建时间:2023/9/18 14:23
+ */
+@Getter
+@Setter
+@SearchBean(tables = "goods_don g left join yh_shop_user_plat_distribute_rate ydr on g.id = ydr.goods_id :uid:" +
+		" left join yh_shop_general_goods_rate ygr on ygr.goods_id = g.id",
+		where = "g.type = 1 and g.status is true and g.deleted is true")
+public class YhShopUserPlatDistributeRate {
+	@TableId(value = "id", type = IdType.AUTO)
+	@DbField("ydr.id")
+	private Long id;
+
+	@DbField("g.id")
+	private Long goodsId;
+
+	@DbField("g.title")
+	@TableField(exist = false)
+	private String title;
+
+	/**
+	 * 店铺主id
+	 */
+	@DbField("ydr.user_id")
+	private Long userId;
+
+	/**
+	 * 分销比例
+	 */
+	@DbField("ifnull(ydr.rate,ygr.rate)")
+	private Integer rate = 0;
+
+	/**
+	 * 第二分销比例 不包含套餐
+	 */
+	@DbField("ydr.second_rate")
+	private Integer secondRate;
+
+
+
+	/**
+	 * 创建时间
+	 */
+	@TableField(fill = FieldFill.INSERT)
+	@DbField("ydr.created_time")
+	private Date createdTime;
+
+	/**
+	 * 修改时间
+	 */
+	@TableField(fill = FieldFill.INSERT_UPDATE)
+	@DbField("ydr.update_time")
+	private Date updateTime;
+}

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/manage/views/GroupsRelationView.java

@@ -74,6 +74,9 @@ public class GroupsRelationView {
     @DbField("gr.user_id")
     private Long userId;
 
+    @DbField("gr.yhs_id")
+    private Long yhsId;
+
     @DbField("gr.start_time")
     private Date startTime;
 

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/manage/views/OrderDonView.java

@@ -149,6 +149,9 @@ public class OrderDonView {
     @DbField("g.special_type")
     private GoodsDon.SpecialType specialType;
 
+    @DbField("o.yhs_id")
+    private Long yhsId;
+
     @DbIgnore
     private OrderDonWaybill waybill;
 

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/request/ApplyMoneyReq.java

@@ -33,4 +33,6 @@ public class ApplyMoneyReq {
 	 * 备注
 	 */
 	private String remark;
+
+	private Long userId;
 }

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/request/ExchangeCodeTicket.java

@@ -16,4 +16,9 @@ public class ExchangeCodeTicket {
 	 * 兑换码
 	 */
 	private String code;
+
+	/**
+	 * 店铺id
+	 */
+	private String customId;
 }

+ 25 - 0
netflix-dao/src/main/java/com/cyksj/model/request/GoodsDonShopRateReq.java

@@ -0,0 +1,25 @@
+package com.cyksj.model.request;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zwhui
+ * @date 2023/9/14 16:22
+ */
+@Data
+public class GoodsDonShopRateReq {
+    private List<Long> goodsIds;
+
+    private Integer rate;
+
+    private List<GoodsDonShopRate> list;
+    @Data
+    public static class GoodsDonShopRate{
+        private Long id;
+        private Long goodsId;
+        private Long skuId;
+        private Integer rate;
+    }
+}

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/request/LoginReq.java

@@ -63,4 +63,9 @@ public class LoginReq {
 	private String callbackType;
 
 	private String subject;
+
+	/**
+	 * 店铺自定义id
+	 */
+	private String customId;
 }

+ 10 - 0
netflix-dao/src/main/java/com/cyksj/model/request/OrderPayRequest.java

@@ -109,4 +109,14 @@ public class OrderPayRequest {
      * 是否是特定价格
      */
     private Boolean isSpecificPrice;
+
+    /**
+     * 店铺id
+     */
+    private String customId;
+
+    /**
+     * 购买实物
+     */
+    private Boolean isPayReal;
 }

+ 20 - 0
netflix-dao/src/main/java/com/cyksj/model/request/ShopGeneralGoodsRateReq.java

@@ -0,0 +1,20 @@
+package com.cyksj.model.request;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: yhlxj
+ *文件名: ShopGeneralGoodsRateReq
+ *创建者: JavaZou
+ *创建时间:2023/9/15 17:25
+ */
+@Getter
+@Setter
+public class ShopGeneralGoodsRateReq {
+	private Long id;
+
+	private Long goodsId;
+
+	private Integer rate;
+}

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/request/TransferAccountsReq.java

@@ -47,4 +47,6 @@ public class TransferAccountsReq {
 	private Integer scope;
 
 	private Long userId;
+
+	private Integer channelType;
 }

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/request/WorkOrderReq.java

@@ -28,4 +28,9 @@ public class WorkOrderReq {
 	private String content;
 
 	private String imgs;
+
+	/**
+	 * 店铺自定义id
+	 */
+	private String customId;
 }

+ 38 - 0
netflix-dao/src/main/java/com/cyksj/model/request/YhShopApplyMoneyReq.java

@@ -0,0 +1,38 @@
+package com.cyksj.model.request;
+
+import com.cyksj.model.entity.YhShopDistributeMoneyApply;
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopApplyMoneyReq
+ *创建者: JavaZou
+ *创建时间:2023/9/20 18:33
+ */
+@Getter
+@Setter
+public class YhShopApplyMoneyReq {
+	private String account;
+
+	private YhShopDistributeMoneyApply.Type type;
+
+	private String realName;
+
+	/**
+	 * true提现所有积分金额
+	 */
+	private Boolean isTakeAll;
+
+	/**
+	 * 钱包地址
+	 */
+	private String walletAddr;
+
+	/**
+	 * 备注
+	 */
+	private String remark;
+
+	private Long userId;
+}

+ 25 - 0
netflix-dao/src/main/java/com/cyksj/model/request/YhShopUserPlatDistributeRateReq.java

@@ -0,0 +1,25 @@
+package com.cyksj.model.request;
+
+import com.cyksj.model.entity.YhShopUserPlatDistributeRate;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserPlatDistributeRateReq
+ *创建者: JavaZou
+ *创建时间:2023/9/20 17:45
+ */
+@Getter
+@Setter
+public class YhShopUserPlatDistributeRateReq {
+	private Long id;
+
+	private Long businessId;
+
+	private String remark;
+
+	private List<YhShopUserPlatDistributeRate> rates;
+}

+ 34 - 0
netflix-dao/src/main/java/com/cyksj/model/request/YhShopVerifyReq.java

@@ -0,0 +1,34 @@
+package com.cyksj.model.request;
+
+import com.cyksj.model.entity.YhShopApplyRecord;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopVerifyReq
+ *创建者: JavaZou
+ *创建时间:2023/9/18 10:27
+ */
+@Getter
+@Setter
+public class YhShopVerifyReq {
+	@NotNull
+	private Long id;
+
+	/**
+	 * 是否审核通过
+	 */
+	@NotNull
+	private YhShopApplyRecord.Status verifyStatus;
+
+	private String reason;
+
+	/**
+	 * 多条记录id
+	 */
+	private List<Long> ids;
+}

+ 25 - 0
netflix-dao/src/main/java/com/cyksj/model/views/BackgroundDataView.java

@@ -183,4 +183,29 @@ public class BackgroundDataView {
 	 */
 	private Integer waitingSendRealOrder;
 
+	/**
+	 * 店铺数量
+	 */
+	private Integer numOfYhShop;
+
+	/**
+	 * 小店注册人数
+	 */
+	private Integer numOfYhShopRegisterUser;
+
+	/**
+	 * 店铺销售单数
+	 */
+	private Integer numOfYhShopDsOrders;
+
+	/**
+	 * 店铺销售金额
+	 */
+	private BigDecimal yhShopAmount;
+
+	/**
+	 * 店铺提成金额
+	 */
+	private BigDecimal yhShopTakeMoney;
+
 }

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/GoodsDonViews.java

@@ -129,4 +129,7 @@ public class GoodsDonViews {
 
     @DbIgnore
     private GoodsDonSpecFrontView specs;
+
+    @DbIgnore
+    private OrderCommentFrontView comments;
 }

+ 6 - 0
netflix-dao/src/main/java/com/cyksj/model/views/RenewalView.java

@@ -129,6 +129,12 @@ public class RenewalView {
     @DbField("gr.recharge_status")
     private GroupsRelation.RechargeStatus rechargeStatus;
 
+    /**
+     * 店铺id
+     */
+    @DbField("gr.yhs_id")
+    private Long yhsId;
+
     @DbIgnore
     private GoodsDonViews goodsDonViews;
 

+ 29 - 0
netflix-dao/src/main/java/com/cyksj/model/views/ShopGeneralGoodsRateView.java

@@ -0,0 +1,29 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: yhlxj
+ *文件名: ShopGeneralGoodsRateView
+ *创建者: JavaZou
+ *创建时间:2023/9/18 11:09
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select * from goods_don where type = 1 and status is true and deleted is true) g left join yh_shop_general_goods_rate yr on yr.goods_id = g.id")
+public class ShopGeneralGoodsRateView {
+	@DbField("yr.id")
+	private Long id;
+
+	@DbField("g.id")
+	private Long goodsId;
+
+	@DbField("g.title")
+	private String title;
+
+	@DbField("ifnull(yr.rate,0)")
+	private Integer rate;
+}

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/views/UserBusinessDefaultRateConfigView.java

@@ -14,7 +14,7 @@ import lombok.Setter;
 @Getter
 @Setter
 @SearchBean(tables = "user_business_default_rate_config uc left join goods_don g on g.id = uc.goods_id"
-		, where = "g.deleted is true")
+		, where = "g.deleted is true and g.status is true")
 public class UserBusinessDefaultRateConfigView {
 	@DbField("uc.id")
 	private Long id;

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserTicketView.java

@@ -38,4 +38,7 @@ public class UserTicketView {
 	@DbField("gr.status")
 	@JsonIgnore
 	private String status;
+
+	@DbField("gr.yhs_id")
+	private Long yhsId;
 }

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserWorkOrderView.java

@@ -57,4 +57,7 @@ public class UserWorkOrderView {
 
 	@DbField("wo.customer_service_auth_id")
 	private String customerServiceAuthId;
+
+	@DbField("wo.yhs_id")
+	private Long yhsId;
 }

+ 25 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopAvailableGoodsView.java

@@ -0,0 +1,25 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: YhShopAvailableGoodsView
+ * 创建者: JavaZou
+ * 创建时间:2023/9/28 14:12
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop_goods_rate yr left join goods_don g on g.id = yr.goods_id",
+		where = "g.type = 1 and g.deleted is true and g.status is true :condition:"
+		, groupBy = "g.id,g.title")
+public class YhShopAvailableGoodsView {
+	@DbField("g.id")
+	private Long goodsId;
+
+	@DbField("g.title")
+	private String title;
+}

+ 22 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopBrokenLineCpsUserWMoneyView.java

@@ -0,0 +1,22 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopBrokenLineCpsUserWMoneyView
+ *创建者: JavaZou
+ *创建时间:2023/9/19 18:04
+ */
+@Getter
+@Setter
+public class YhShopBrokenLineCpsUserWMoneyView {
+	private String firstDate;
+
+	private String lastDate;
+
+	private List<YhShopUserWMoneyStatisticsDataView> dataView;
+}

+ 56 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopBusinessDistributesDataView.java

@@ -0,0 +1,56 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopBusinessDistributesDataView
+ *创建者: JavaZou
+ *创建时间:2023/9/18 17:41
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select distinct business_id from yh_shop_user_distribute_business_rate) ur inner join yh_shop ys on ys.business_id = ur.business_id :time1:" +
+		" left join yh_shop_user_distribute_shared us on us.shop_user_id = ys.user_id :time2:" +
+		" left join order_don od on od.user_id = us.user_id and od.status not in ('close','refund','noPayment') and od.yhs_id = ys.id  :time3:",
+		groupBy = "ur.business_id")
+public class YhShopBusinessDistributesDataView {
+	@DbField("ur.business_id")
+	private Long businessId;
+
+	/**
+	 * 商务名
+	 */
+	@DbIgnore
+	private String businessName;
+
+	/**
+	 * 渠道数量
+	 */
+	@DbField("count(distinct ys.id)")
+	private Integer numOfDistributor;
+
+	/**
+	 * 分销单数
+	 */
+	@DbField("count(od.id)")
+	private Integer numOfDistributeOrders;
+
+	/**
+	 * 分销金额
+	 */
+	@DbField("ifnull(sum(od.money),0)")
+	private BigDecimal distributeOrdersMoney;
+
+	/**
+	 * 拉新用户
+	 */
+	@DbField("count(distinct us.id)")
+	private Integer numOfNewUser;
+}

+ 61 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopBusinessTakeMoneyDetail.java

@@ -0,0 +1,61 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopBusinessTakeMoneyDetail
+ *创建者: JavaZou
+ *创建时间:2023/9/22 10:53
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop_user_distribute_business_order_don_record ubr",
+		where = ":time:"
+		, groupBy = "ubr.shop_user_id,ubr.business_id")
+public class YhShopBusinessTakeMoneyDetail {
+	@DbField("ubr.shop_user_id")
+	private Long userId;
+
+	@DbIgnore
+	private String nickname;
+
+	@DbIgnore
+	private Date createdTime;
+
+	@DbField("ubr.business_id")
+	private Long businessId;
+
+	@DbIgnore
+	private String businessName;
+
+	@DbField("count(distinct ubr.user_id)")
+	private Integer distributeNum;
+
+	@DbField("count(if(ubr.order_type = 1 and ubr.status = 'success',1,NULL))")
+	private Integer numOfFirstOrderThisMonth;
+
+	@DbField("cast(sum(if(ubr.order_type = 1 and ubr.status = 'success',ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal moneyOfFirstOrderThisMonth;
+
+	@DbField("count(if(ubr.order_type = 2 and ubr.status = 'success',1,NULL))")
+	private Integer numOfRenewOrderThisMonth;
+
+	@DbField("cast(sum(if(ubr.order_type = 2 and ubr.status = 'success',ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal moneyOfRenewOrderThisMonth;
+
+	@DbField("cast(sum(if(ubr.status = 'success',ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal takeMoney;
+
+	@DbField("cast(sum(if(ubr.status = 'refund', ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal refundMoney;
+
+}
+

+ 43 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopBusinessTakeMoneyHeadView.java

@@ -0,0 +1,43 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopBusinessTakeMoneyHeadView
+ *创建者: JavaZou
+ *创建时间:2023/9/22 10:52
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop_user_distribute_business_order_don_record ubr",
+		where = ":time:"
+		, groupBy = "ubr.business_id")
+public class YhShopBusinessTakeMoneyHeadView {
+
+	@DbField("ubr.business_id")
+	private Long businessId;
+
+	@DbField("count(if(ubr.order_type = 1 and ubr.status = 'success',1,NULL))")
+	private Integer numOfFirstOrder;
+
+	@DbField("cast(sum(if(ubr.order_type = 1 and ubr.status = 'success',ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal moneyOfFirstOrder;
+
+	@DbField("count(if(ubr.order_type = 2 and ubr.status = 'success',1,NULL))")
+	private Integer numOfRenewOrder;
+
+	@DbField("cast(sum(if(ubr.order_type = 2 and ubr.status = 'success',ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal moneyOfRenewOrder;
+
+	@DbField("cast(sum(if(ubr.status = 'success', ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal takeMoney;
+
+	@DbField("cast(sum(if(ubr.status = 'refund', ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal refundMoney;
+}

+ 76 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopDetailView.java

@@ -0,0 +1,76 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.YhShopApplyRecord;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: YhShopDetailView
+ * 创建者: JavaZou
+ * 创建时间:2023/9/28 14:39
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop ys left join user u on u.id = ys.user_id")
+public class YhShopDetailView {
+
+	@DbField("ys.user_id")
+	private Long userId;
+
+
+	@DbField("u.nickname")
+	private String nickname;
+
+	/**
+	 * 店铺名称
+	 */
+	@DbField("ys.name")
+	private String name;
+
+	/**
+	 * 自定义id
+	 */
+	@DbField("ys.custom_id")
+	private String customId;
+
+	/**
+	 * 是否审核通过
+	 */
+	@DbField("ys.verify_status")
+	private YhShopApplyRecord.Status verifyStatus;
+
+	/**
+	 * 审核失败原因
+	 */
+	@DbField("ys.reason")
+	private String reason;
+
+	/**
+	 * 店铺开放状态
+	 */
+	@DbField("ys.status")
+	private Boolean status;
+
+	/**
+	 * 联系方式
+	 */
+	@DbField("ys.contact")
+	private String contact;
+
+	/**
+	 * 备注
+	 */
+	@DbField("ys.remark")
+	private String remark;
+
+	@DbField("ys.created_time")
+	private Date createdTime;
+
+	@DbField("ys.update_time")
+	private Date updateTime;
+}

+ 56 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopDistributeBusinessView.java

@@ -0,0 +1,56 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopDistributeBusinessView
+ *创建者: JavaZou
+ *创建时间:2023/9/22 10:56
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop ys left join yh_shop_user_distribute_business_order_don_record ubr on ubr.business_id = ys.business_id and :time:" +
+		" left join cms_user cu on cu.id = ys.business_id",
+		where = "ys.business_id != 0",
+		groupBy = "ys.business_id,cu.nickname,date_format(ubr.order_created_time,'%Y-%m')")
+public class YhShopDistributeBusinessView {
+	@DbField("ys.business_id")
+	private Long businessId;
+
+	@DbField("cu.nickname")
+	private String businessName;
+
+	/**
+	 * 关联人数
+	 */
+	@DbIgnore
+	private Integer numOfRelation;
+
+	@DbField("count(if(ubr.order_type = 1 and ubr.status = 'success',1,NULL))")
+	private Integer numOfFirstOrderThisMonth;
+
+	@DbField("cast(sum(if(ubr.order_type = 1 and ubr.status = 'success',ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal moneyOfFirstOrderThisMonth;
+
+	@DbField("count(if(ubr.order_type = 2 and ubr.status = 'success',1,NULL))")
+	private Integer numOfRenewOrderThisMonth;
+
+	@DbField("cast(sum(if(ubr.order_type = 2 and ubr.status = 'success',ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal moneyOfRenewOrderThisMonth;
+
+	@DbField("cast(sum(if(ubr.status = 'success',ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal takeMoney;
+
+	@DbField("cast(sum(if(ubr.status = 'refund', ubr.take_money,0))/100 as decimal(10,2))")
+	private BigDecimal refundMoney;
+
+	@DbField("date_format(ubr.order_created_time,'%Y-%m')")
+	private String monthDate;
+}

+ 67 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopDistributeMoneyApplyView.java

@@ -0,0 +1,67 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.YhShopDistributeMoneyApply;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopDistributeMoneyApplyView
+ *创建者: JavaZou
+ *创建时间:2023/9/18 17:44
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop_distribute_money_apply dma left join user u on u.id = dma.user_id")
+public class YhShopDistributeMoneyApplyView {
+	@DbField("dma.id")
+	private Long id;
+
+	@DbField("dma.user_id")
+	private Long userId;
+
+	@DbField("u.nickname")
+	private String nickname;
+
+	@DbField("dma.money")
+	private BigDecimal money;
+
+	@DbField("dma.reason")
+	private String reason;
+
+	@DbField("dma.real_name")
+	private String realName;
+
+	@DbField("dma.type")
+	private YhShopDistributeMoneyApply.Type type;
+
+	@DbField("dma.account")
+	private String account;
+
+	@DbField("dma.verify_status")
+	private YhShopDistributeMoneyApply.Status verifyStatus;
+
+	@DbField("dma.img")
+	private String img;
+
+	@DbField("dma.created_time")
+	private Date createdTime;
+
+	@DbField("dma.wallet_addr")
+	private String walletAddr;
+
+	@DbField("dma.remark")
+	private String remark;
+
+	@DbField("dma.business_id")
+	private Long businessId;
+
+	@DbField("dma.business_name")
+	private String businessName;
+
+}

+ 50 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopDistributeOrderView.java

@@ -0,0 +1,50 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.YhShopDistributeWaitingSendPoints;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopDistributeOrderView
+ *创建者: JavaZou
+ *创建时间:2023/9/18 15:02
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select * from yh_shop_distribute_waiting_send_points :suId:) dp left join order_don od on od.id = dp.order_id" +
+		" left join user u on u.id = dp.user_id" +
+		" left join goods_don gd on gd.id = od.goods_id")
+public class YhShopDistributeOrderView {
+	@DbField("u.nickname")
+	private String nickname;
+
+	@DbField("u.id")
+	private Long userId;
+
+	@DbField("dp.shop_user_id")
+	private Long shopUserId;
+
+	@DbField("gd.title")
+	private String platform;
+
+	@DbField("od.money")
+	private BigDecimal money;
+
+	@DbField("od.created_time")
+	private Date orderTime;
+
+	/**
+	 * 提成金额
+	 */
+	@DbField("dp.money")
+	private BigDecimal takeMoney;
+
+	@DbField("dp.send_status")
+	private YhShopDistributeWaitingSendPoints.Status sendStatus;
+}

+ 97 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopDistributeView.java

@@ -0,0 +1,97 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopDistributeOrderView
+ *创建者: JavaZou
+ *创建时间:2023/9/18 13:51
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop ys left join yh_shop_user_distribute_shared us on us.shop_user_id = ys.user_id" +
+		" left join order_don od on od.yhs_id = ys.id and od.status not in ('noPayment', 'close') :time:",
+		where = "ys.verify_status = 'success'",
+		groupBy = "ys.id,ys.user_id,ys.business_id,ys.custom_id,ys.status,ys.remark,ys.created_time,ys.update_time")
+public class YhShopDistributeView {
+	@DbField("ys.id")
+	private Long id;
+
+	/**
+	 * 店铺名
+	 */
+	@DbField("ys.name")
+	private String name;
+
+	@DbField("ys.user_id")
+	private Long userId;
+
+	@DbField("ys.business_id")
+	private Long businessId;
+
+	@DbIgnore
+	private String businessName;
+
+	@DbIgnore
+	private String nickname;
+
+	@DbField("count(od.id)")
+	private Integer orders;
+
+	@DbField("ys.custom_id")
+	private String customId;
+
+	/**
+	 * 分销人数
+	 * 其中拉新用户购买一单又退款,且无后续下单动作的不算分销用户,不统计在此字段内
+	 */
+	@DbField("count(DISTINCT CASE WHEN od.status != 'refund' THEN us.user_id ELSE null END)")
+	private Integer distributeUserNum;
+
+	/**
+	 * 邀请人数
+	 */
+	@DbField("count(DISTINCT us.user_id)")
+	private Integer inviteNum;
+
+	/**
+	 * 分销订单金额(无需产生积分)
+	 */
+	@DbField("(ifnull(sum(od.money),0) - ifnull(sum(od.refund_money),0))")
+	private BigDecimal distributeOrdersMoney;
+
+	/**
+	 * 销量最高的产品
+	 */
+	@DbIgnore
+	private String goodsTitle;
+
+	@DbField("ys.status")
+	private Boolean status;
+
+	@DbField("ys.remark")
+	private String remark;
+
+	@DbField("ys.contact")
+	private String contact;
+
+	@DbField("ys.created_time")
+	private Date createdTime;
+
+	@DbField("ys.update_time")
+	private Date updateTime;
+
+	@DbIgnore
+	private BigDecimal availableMoney;
+
+	@DbIgnore
+	private BigDecimal gotMoney;
+}

+ 133 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsFrontView.java

@@ -0,0 +1,133 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.GoodsDon;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopGoodsFrontView
+ *创建者: JavaZou
+ *创建时间:2023/9/19 15:50
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select ys.goods_id,min(ys.price) as price from yh_shop_goods_sku ys left join goods_don_sku sku on sku.id = ys.sku_id where sku.status is true and ys.status is true and ys.deleted is true :condition: group by ys.goods_id) yg" +
+		" inner join goods_don g on g.id = yg.goods_id",
+		where = "g.deleted is true and g.status is true",
+		orderBy = "g.sort_by asc, g.id")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class YhShopGoodsFrontView {
+	@DbField("g.id")
+	private Long id;
+
+	/**
+	 * 商品名称
+	 */
+	@DbField("g.title")
+	private String title;
+
+	/**
+	 * 标签
+	 */
+	@DbField("g.tags")
+	private String tags;
+
+	/**
+	 * 缩略图
+	 */
+	@DbField("g.logo")
+	private String logo;
+
+	/**
+	 * 背景图
+	 */
+	@DbField("g.img")
+	private String img;
+
+	/**
+	 * 类型
+	 */
+	@DbField("g.type")
+	private Integer type;
+
+	/**
+	 * 分类
+	 * 1、AI  2、流媒体
+	 */
+	@DbField("g.category")
+	private Long category;
+
+	@DbField("g.second_type")
+	private Integer secondType;
+
+	@DbField("g.special_type")
+	private GoodsDon.SpecialType specialType;
+
+	/**
+	 * 店铺最低规格价格
+	 */
+	@DbField("yg.price")
+	private BigDecimal price;
+
+	/**
+	 * 最低规格月份
+	 */
+	@DbField("g.min_months")
+	private Integer months;
+
+	/**
+	 * 最低规格天数
+	 */
+	@DbField("g.min_days")
+	private Integer days;
+
+	/**
+	 * 已售
+	 */
+	@DbIgnore
+	private Integer sold;
+
+	/**
+	 * 虚拟销量
+	 */
+	@DbField("g.virtual_sold")
+	private Integer vs;
+
+	@DbIgnore
+	private BigDecimal specificPrice;
+
+	@DbIgnore
+	private Long specificSkuId;
+
+	@DbField("g.pay_desc")
+	private String payDesc;
+
+	/**
+	 * 是否是特定价格平台
+	 */
+	@DbField("g.is_sp")
+	private Boolean isSp;
+
+	/**
+	 * 购买通知信息
+	 */
+	@DbIgnore
+	private String notifyMsg;
+
+	@DbIgnore
+	private List<YhShopGoodsSkuFrontView> skuList;
+
+	@DbIgnore
+	private GoodsDonSpecFrontView specs;
+
+	@DbIgnore
+	private OrderCommentFrontView comments;
+}

+ 65 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsRateView.java

@@ -0,0 +1,65 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author zwhui
+ * @date 2023/9/14 14:20
+ */
+@Data
+@SearchBean(tables = "goods_don g left join goods_don_category gc on gc.id = g.category",
+        where = "g.type = 1 and g.status = true and g.deleted = true")
+public class YhShopGoodsRateView {
+    @DbField("g.id")
+    private Long goodsId;
+
+    @DbField("g.title")
+    private String title;
+
+    @DbField("g.category")
+    private Long category;
+
+    @DbField("gc.name")
+    private String categoryName;
+
+    @DbIgnore
+    private List<YhShopGoodsSkuRateView> list;
+
+    @Data
+    @SearchBean(tables = "goods_don_sku gs left join yh_shop_goods_rate ysgr on gs.id = ysgr.sku_id",
+            where = "gs.status = true ")
+    public static class YhShopGoodsSkuRateView{
+        @DbField("ysgr.id")
+        private Long id;
+
+        @DbField("gs.goods_id")
+        private Long goodsId;
+        @DbField("gs.id")
+        private Long skuId;
+
+        /**
+         * 商品规格 value
+         */
+        @DbField("gs.spec_val")
+        private String specVal;
+
+        @DbField("ysgr.rate")
+        private Integer rate;
+
+        @DbField("gs.price")
+        private BigDecimal price;
+
+        @DbField("IFNULL(CAST((gs.price - gs.price * (ysgr.rate / 100)) as SIGNED),gs.price)")
+        private BigDecimal minPrice;
+
+        @DbField("IFNULL(CAST((gs.price + gs.price * (ysgr.rate / 100)) as SIGNED),gs.price)")
+        private BigDecimal maxPrice;
+
+    }
+}

+ 118 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsSkuFrontView.java

@@ -0,0 +1,118 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopGoodsSkuFrontView
+ *创建者: JavaZou
+ *创建时间:2023/9/19 16:10
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select * from yh_shop_goods_sku ys where status is true and deleted is true :condition:) ygs inner join goods_don_sku sku on sku.id = ygs.sku_id",
+		where = "sku.status is true")
+public class YhShopGoodsSkuFrontView {
+	@DbField("sku.id")
+	private Long id;
+
+	@DbField("sku.goods_id")
+	private Long goodsId;
+
+
+	@DbField("sku.sub_title")
+	private String subTitle;
+
+	/**
+	 * 商品规格 ids
+	 */
+	@DbField("sku.spec_ids")
+	private String specIds;
+
+	/**
+	 * 商品规格 value
+	 */
+	@DbField("sku.spec_val")
+	private String specVal;
+
+	/**
+	 * 商品规格 json
+	 */
+	@DbField("sku.spec_json")
+	private String specJson;
+
+	/**
+	 * 规格说明信息
+	 */
+	@DbField("sku.notify_text")
+	private String notifyText;
+
+	/**
+	 * 商品预览图
+	 */
+	@DbField("sku.picture")
+	private String picture;
+
+	/**
+	 * 商品详情图
+	 */
+	@DbField("sku.detail")
+	private String detail;
+
+	/**
+	 * 标签
+	 */
+	@DbField("sku.tags")
+	private String tags;
+
+
+	/**
+	 * 店铺设置的规格价格
+	 */
+	@DbField("ygs.price")
+	private BigDecimal price;
+
+	/**
+	 * 月数
+	 */
+	@DbField("sku.months")
+	private Integer months;
+
+	/**
+	 * 天数
+	 */
+	@DbField("sku.days")
+	private Integer days;
+
+	@DbField("case when sku.spec_val like '%月%' and sku.spec_val not like '%年%' then 0 when sku.spec_val like '%季%' then 1 when sku.spec_val like '%半年%' then 2 when sku.spec_val like '%年%' then 3 else 66 end")
+	private Integer orderBy;
+
+	@DbField("sku.is_dp")
+	private Boolean isDp;
+
+	/**
+	 * 优惠加购商品
+	 */
+	@DbIgnore
+	private List<GoodsDiscountPlusPurchaseRelationFrontView> dpSkuViews;
+
+	/**
+	 * 特定价格
+	 */
+	@DbField("sku.specific_price")
+	private BigDecimal specificPrice;
+
+	/**
+	 * 特定购买平台
+	 */
+	@JsonIgnore
+	private String specificGoodsIds;
+}

+ 80 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopGoodsView.java

@@ -0,0 +1,80 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author zwhui
+ * @date 2023/9/15 09:42
+ */
+@Data
+@SearchBean(tables = "yh_shop_goods_sku ysgs left join goods_don g on g.id = ysgs.goods_id" +
+        " left join goods_don_sku sku on sku.id = ysgs.sku_id",
+        where = "ysgs.deleted is true and g.status = true and g.deleted = true and sku.status is true"
+        , groupBy = "g.id,g.title,g.category,ysgs.status,ysgs.user_id,ysgs.created_time,ysgs.update_time")
+public class YhShopGoodsView {
+    @DbField("g.id")
+    private Long goodsId;
+
+    @DbField("g.title")
+    private String title;
+
+    @DbField("g.category")
+    private Integer category;
+
+    @DbField("ysgs.status")
+    private Boolean status;
+
+    @DbField("ysgs.user_id")
+    private Long userId;
+
+    @DbField("group_concat(sku.spec_val,cast((ysgs.price/100) as decimal(10,2)),'元')")
+    private String skuDetail;
+
+    @DbField("ysgs.created_time")
+    private Date createdTime;
+
+    @DbField("ysgs.update_time")
+    private Date updateTime;
+
+    @DbIgnore
+    private List<YhShopGoodsSkuView> list;
+
+    @Data
+    @SearchBean(tables = "goods_don_sku gs left join yh_shop_goods_rate ysgr on gs.id = ysgr.sku_id left join yh_shop_goods_sku ysgs on gs.id = ysgs.sku_id and ysgs.deleted is true :uid:",
+            where = "gs.status = true",
+            orderBy = "gs.months")
+    public static class YhShopGoodsSkuView{
+        @DbField("ysgs.id")
+        private Long id;
+
+        @DbField("gs.goods_id")
+        private Long goodsId;
+        @DbField("gs.id")
+        private Long skuId;
+
+        /**
+         * 商品规格 value
+         */
+        @DbField("gs.spec_val")
+        private String specVal;
+
+        @DbField("gs.price")
+        private BigDecimal price;
+
+        @DbField("ysgs.price")
+        private BigDecimal shopSkuPrice;
+
+        @DbField("IFNULL(CAST((gs.price - gs.price * (ysgr.rate / 100)) as SIGNED),gs.price)")
+        private BigDecimal minPrice;
+
+        @DbField("IFNULL(CAST((gs.price + gs.price * (ysgr.rate / 100)) as SIGNED),gs.price)")
+        private BigDecimal maxPrice;
+    }
+}

+ 45 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopRegisterDetail.java

@@ -0,0 +1,45 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopRegisterDetail
+ *创建者: JavaZou
+ *创建时间:2023/9/18 14:36
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop_user_distribute_shared us left join user u on u.id = us.user_id")
+public class YhShopRegisterDetail {
+	@DbField("us.id")
+	private Long id;
+
+	/**
+	 * 店铺主id
+	 */
+	@DbField("us.shop_user_id")
+	private Long shopUserId;
+
+	@DbField("u.created_time")
+	private Date registerDate;
+
+	@DbField("u.nickname")
+	private String nickname;
+
+	@DbField("us.user_id")
+	private Long userId;
+
+	@DbIgnore
+	private Integer orderNums;
+
+	@DbIgnore
+	private BigDecimal money;
+}

+ 54 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopRegisterDistributeOrdersDetailView.java

@@ -0,0 +1,54 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.OrderDon;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: YhShopRegisterDistributeOrdersDetailView
+ * 创建者: JavaZou
+ * 创建时间:2023/9/28 18:04
+ */
+@Getter
+@Setter
+@SearchBean(tables = "order_don od left join goods_don gd on gd.id = od.goods_id" +
+		" left join yh_shop ys on ys.id = od.yhs_id",
+		where = ":condition:")
+public class YhShopRegisterDistributeOrdersDetailView {
+	@DbField("od.created_time")
+	private Date createdTime;
+
+	@DbField("od.money")
+	private BigDecimal money;
+
+	@DbField("od.status")
+	private OrderDon.Status status;
+
+	@DbField("ys.user_id")
+	private Long shopUserId;
+
+	@DbField("od.user_id")
+	private Long userId;
+
+	@DbIgnore
+	private String nickname;
+
+	@DbField("gd.id")
+	private Long goodsId;
+
+	@DbField("gd.title")
+	private String platform;
+
+	@DbField("od.sku_id")
+	private Long skuId;
+
+	@DbIgnore
+	private String specVal;
+}

+ 49 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopRegisterOrderDetail.java

@@ -0,0 +1,49 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.OrderDon;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopRegisterOrderDetail
+ *创建者: JavaZou
+ *创建时间:2023/9/18 14:43
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select o.* from order_don o left join yh_shop ys on ys.id = o.yhs_id :condition:) od left join goods_don g on g.id = od.goods_id left join goods_don_sku sku on sku.id = od.sku_id")
+public class YhShopRegisterOrderDetail {
+	@DbField("od.created_time")
+	private Date createdTime;
+
+	@DbField("od.money")
+	private BigDecimal money;
+
+	@DbField("od.status")
+	private OrderDon.Status status;
+
+	@DbField("od.user_id")
+	private Long userId;
+
+	@DbIgnore
+	private String nickname;
+
+	@DbField("g.id")
+	private Long goodsId;
+
+	@DbField("g.title")
+	private String platform;
+
+	@DbField("od.sku_id")
+	private Long skuId;
+
+	@DbField("sku.spec_val")
+	private String specVal;
+}

+ 39 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserBusinessDefaultRateConfigView.java

@@ -0,0 +1,39 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserBusinessDefaultRateConfigView
+ *创建者: JavaZou
+ *创建时间:2023/9/18 17:01
+ */
+@Getter
+@Setter
+@SearchBean(tables = "goods_don g left join yh_shop_user_business_default_rate_config uc on g.id = uc.goods_id"
+		, where = "g.type = 1 and g.deleted is true and g.status is true")
+public class YhShopUserBusinessDefaultRateConfigView {
+	@DbField("uc.id")
+	private Long id;
+
+	@DbField("g.id")
+	private Long goodsId;
+
+	@DbField("g.type")
+	private Integer type;
+
+	@DbField("g.title")
+	private String goodsName;
+
+	@DbField("uc.rate")
+	private Integer rate = 0;
+
+	@DbField("uc.max_rate")
+	private Integer maxRate;
+
+	@DbField("uc.is_plat_pay")
+	private Boolean isPlatPay;
+}

+ 61 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserDistributeBusinessRateRecordView.java

@@ -0,0 +1,61 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeBusinessRateRecordView
+ *创建者: JavaZou
+ *创建时间:2023/9/18 17:36
+ */
+@Getter
+@Setter
+@SearchBean(tables = "goods_don g left join goods_don_sku gdk on gdk.goods_id = g.id" +
+		" left join yh_shop_user_distribute_business_rate ur on ur.sku_id = gdk.id :business_id:",
+		where = "g.type = 1 and g.deleted is true and g.status is true")
+public class YhShopUserDistributeBusinessRateRecordView {
+	@DbField("ur.id")
+	private Long id;
+
+	/**
+	 * 商务用户id
+	 */
+	@DbField("ifnull(ur.business_id,:bid:)")
+	private Long businessId;
+
+	/**
+	 * 平台id
+	 */
+	@DbField("g.id")
+	private Long goodsId;
+
+	@DbField("g.title")
+	private String goodsName;
+
+	/**
+	 * 规格id
+	 */
+	@DbField("gdk.id")
+	private Long skuId;
+
+	@DbField("gdk.spec_val")
+	private String specVal;
+
+	/**
+	 * 首单提成比例
+	 */
+	@DbField("ifnull(ur.first_order_rate,0)")
+	private Integer firstOrderRate;
+
+	/**
+	 * 首单续费提成比例
+	 */
+	@DbField("ifnull(ur.renew_order_rate,0)")
+	private Integer renewOrderRate;
+
+	@DbField("g.type")
+	private Integer type;
+}

+ 42 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserDistributeDetailView.java

@@ -0,0 +1,42 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeDetailView
+ *创建者: JavaZou
+ *创建时间:2023/9/19 17:55
+ */
+@Getter
+@Setter
+public class YhShopUserDistributeDetailView {
+	/**
+	 * 待入账金额
+	 */
+	private BigDecimal wMoney;
+
+	/**
+	 * 返现金额
+	 */
+	private BigDecimal reMoney;
+
+	/**
+	 * 待提现金额
+	 */
+	private BigDecimal wApplyMoney;
+
+	/**
+	 * 已提现金额
+	 */
+	private BigDecimal gotApplyMoney;
+
+	/**
+	 * 各平台分销比例
+	 */
+	private List<YhShopUserDistributeRateView> rateViews;
+}

+ 54 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserDistributeOrdersDetailView.java

@@ -0,0 +1,54 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeOrdersDetailView
+ *创建者: JavaZou
+ *创建时间:2023/9/20 11:11
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select o.id,o.user_id,o.goods_id,o.sku_id,o.money,o.refund_money,o.coupon_money,o.created_time from order_don o where :yhs_id: and o.status not in ('close','noPayment') :time:) od" +
+		" left join goods_don g on g.id = od.goods_id" +
+		" inner join yh_shop_distribute_waiting_send_points dp on dp.order_id = od.id")
+public class YhShopUserDistributeOrdersDetailView {
+	@DbField("select nickname from user where id = od.user_id limit 1")
+	private String nickname;
+
+	@JsonIgnore
+	@DbField("g.id")
+	private Long goodsId;
+
+	@DbField("g.title")
+	private String title;
+
+	@DbField("select spec_val from goods_don_sku where id = od.sku_id limit 1")
+	private String specVal;
+
+	@DbField("cast(od.money/100 as decimal(10,2))")
+	private BigDecimal money;
+
+//	@DbField("od.coupon_money")
+//	private BigDecimal couponMoney;
+
+	@DbField("TRUNCATE(dp.money/100,2)")
+	private BigDecimal reMoney = BigDecimal.ZERO;
+
+	@DbField("if(send_status = 'success',TRUNCATE(dp.money/100,2),0)")
+	private BigDecimal rdMoney;
+
+	@DbField("dp.send_status")
+	private String sendStatus;
+
+	@DbField("od.created_time")
+	private Date createdTime;
+}

+ 39 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserDistributeOrdersStatisticsView.java

@@ -0,0 +1,39 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeOrdersStatisticsView
+ *创建者: JavaZou
+ *创建时间:2023/9/20 11:08
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select o.id,o.user_id,o.goods_id,o.money,o.refund_money,o.status from order_don o where :yhs_id: and o.status not in ('close','noPayment') :time:) od left join goods_don g on g.id = od.goods_id" +
+		" inner join yh_shop_distribute_waiting_send_points dp on dp.order_id = od.id",
+		groupBy = "od.goods_id,g.title")
+public class YhShopUserDistributeOrdersStatisticsView {
+	@DbField("g.title")
+	private String title;
+
+	@DbField("cast(sum(od.money)/100 as decimal(10,2))")
+	private BigDecimal distributeOrderMoney;
+
+	@DbField("count(od.id)")
+	private Integer orders;
+
+	@DbField("TRUNCATE(sum(if(dp.send_status != 'close',dp.money,0))/100,2)")
+	private BigDecimal takeMoney;
+
+	@DbField("count(if(od.status = 'refund',1,NULL))")
+	private Integer refundOrders;
+
+	@DbField("cast(sum(if(od.status = 'refund',od.refund_money,0))/100 as decimal(10,2))")
+	private BigDecimal refundMoney;
+}

+ 28 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserDistributeRateView.java

@@ -0,0 +1,28 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserDistributeRateView
+ *创建者: JavaZou
+ *创建时间:2023/9/19 18:00
+ */
+@Getter
+@Setter
+@SearchBean(tables = "goods_don g left join yh_shop_user_plat_distribute_rate upr on upr.goods_id = g.id :uid:",
+		where = "g.type = 1 and g.deleted is true and g.status is true and upr.rate > 0")
+public class YhShopUserDistributeRateView {
+
+	@DbField("g.category")
+	private Integer category;
+
+	@DbField("g.title")
+	private String title;
+
+	@DbField("upr.rate")
+	private Integer rate;
+}

+ 22 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopUserWMoneyStatisticsDataView.java

@@ -0,0 +1,22 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopUserWMoneyStatisticsDataView
+ *创建者: JavaZou
+ *创建时间:2023/9/19 18:05
+ */
+@Getter
+@Setter
+public class YhShopUserWMoneyStatisticsDataView {
+	private int hour;
+
+	private BigDecimal money;
+
+	private String date;
+}

+ 66 - 0
netflix-dao/src/main/java/com/cyksj/model/views/YhShopView.java

@@ -0,0 +1,66 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.YhShopApplyRecord;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/*
+ *项目名: yhlxj
+ *文件名: YhShopView
+ *创建者: JavaZou
+ *创建时间:2023/9/18 10:21
+ */
+@Getter
+@Setter
+@SearchBean(tables = "yh_shop_apply_record ys left join user u on u.id = ys.user_id")
+public class YhShopView {
+	@DbField("ys.id")
+	private Long id;
+
+	@DbField("ys.user_id")
+	private Long userId;
+
+
+	@DbField("u.nickname")
+	private String nickname;
+
+	/**
+	 * 店铺名称
+	 */
+	@DbField("ys.name")
+	private String name;
+
+	/**
+	 * 自定义id
+	 */
+	@DbField("ys.custom_id")
+	private String customId;
+
+	/**
+	 * 是否审核通过
+	 */
+	@DbField("ys.verify_status")
+	private YhShopApplyRecord.Status verifyStatus;
+
+	/**
+	 * 审核失败原因
+	 */
+	@DbField("ys.reason")
+	private String reason;
+
+	/**
+	 * 分销订单数
+	 */
+	@DbField("select count(*) from distribute_waiting_send_points where shared_id = ys.user_id")
+	private Integer dsOrder;
+
+	@DbField("ys.created_time")
+	private Date createdTime;
+
+	@DbField("ys.update_time")
+	private Date updateTime;
+}

+ 8 - 0
netflix-dao/src/main/resources/mapper/GoodsDonSkuMapper.xml

@@ -9,4 +9,12 @@
         </foreach>
         and `months` = 1
     </select>
+
+    <select id="selectSkuShops" resultType="com.cyksj.model.entity.YhShopGoodsSku">
+        select id as skuId,goods_id,price from goods_don_sku where goods_id in
+        <foreach collection="list" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        and status = true
+    </select>
 </mapper>

+ 2 - 1
netflix-dao/src/main/resources/mapper/GroupRelationMapper.xml

@@ -17,7 +17,8 @@
         recharge_status = null,
         send_time = null,
         submit_time = null,
-        operator = null
+        operator = null,
+        yhs_id = 0
         where id = #{entity.id}
         <if test="expireTime != null">
             and expiry_time = #{expireTime}

+ 12 - 0
netflix-dao/src/main/resources/mapper/OrderDonMapper.xml

@@ -189,4 +189,16 @@
             and created_time &lt; #{endDate}
         </if>
     </select>
+
+    <select id="selectYhShopDistributeOrderDetail" resultType="java.util.Map">
+        select count(*) as numOfDsOrder,
+               ifnull(sum(money),0) as dsMoney
+        from `order_don` where yhs_id > 0 and status not in ('close','noPayment','refund')
+        <if test="startDate != null">
+            and created_time >= #{startDate}
+        </if>
+        <if test="endDate != null">
+            and created_time &lt; #{endDate}
+        </if>
+    </select>
 </mapper>

+ 2 - 6
netflix-dao/src/main/resources/mapper/UserDistributeMapper.xml

@@ -4,12 +4,8 @@
 
     <select id="count" resultType="java.lang.Integer">
         select count(*)
-        from `user_distribute_shared` us
-                 inner join `order_don` od
-                            on od.user_id = us.user_id
-        where us.shared_id = #{userId}
-          and od.is_fixed_distribute is true
-          and od.status not in ('close', 'noPayment')
+        from distribute_waiting_send_points
+        where shared_id = #{userId}
     </select>
 
     <select id="countUserNum" resultType="java.lang.Integer">

+ 14 - 0
netflix-dao/src/main/resources/mapper/YhShopGeneralGoodsRateMapper.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="com.cyksj.mapper.YhShopGeneralGoodsRateMapper">
+    <insert id="saveOrUpdateBatch">
+        insert into yh_shop_general_goods_rate(`goods_id`,`rate`,`created_time`,`update_time`)
+        values
+        <foreach collection="list" item="entity" separator=",">
+            (#{entity.goodsId},#{entity.rate},now(),now())
+        </foreach>
+        ON DUPLICATE KEY update rate = values(rate),
+        update_time = values(update_time)
+    </insert>
+</mapper>

+ 64 - 0
netflix-dao/src/main/resources/mapper/YhShopMapper.xml

@@ -0,0 +1,64 @@
+<?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="com.cyksj.mapper.shop.YhShopMapper">
+
+    <select id="selectSoldMaxGoods" resultType="java.lang.String">
+        select title
+        from goods_don
+        where id = (select od.goods_id
+                    from (select id from yh_shop where user_id = #{userId} limit 1) s
+                             inner join order_don od
+                                        on od.yhs_id = s.id and od.status not in ('close', 'noPayment', 'refund')
+                    group by od.goods_id
+                    order by max(od.money) desc limit 1)
+    </select>
+
+    <select id="getApplyDetailByUserId" resultType="com.cyksj.model.views.YhShopDistributeView">
+        select ifnull(sum(da.money), 0) as gotMoney, u.yhs_money as availableMoney
+        from (select id, yhs_money from user where id = #{userId} limit 1) u
+                 left join yh_shop_distribute_money_apply da on da.user_id = u.id and verify_status = 'success'
+        group by u.id, u.yhs_money
+    </select>
+
+    <select id="selectYhShopDetail" resultType="java.util.Map">
+        select count(distinct ys.user_id) as numOfYhShop,
+               count(distinct us.user_id) as numOfRegisterYhShopUser
+        from (select user_id from `yh_shop` ys where
+        verify_status = 'success'
+        <if test="startDate != null">
+            and created_time >= #{startDate}
+        </if>
+        <if test="endDate != null">
+            and created_time &lt; #{endDate}
+        </if>) ys left join yh_shop_user_distribute_shared us on us.shop_user_id = ys.user_id
+    </select>
+
+    <select id="selectYhShopTakeMoney" resultType="java.math.BigDecimal">
+        select ifnull(sum(money),0) from `yh_shop_distribute_waiting_send_points` where send_status in
+        ('waiting','success')
+        <if test="startDate != null">
+            and created_time >= #{startDate}
+        </if>
+        <if test="endDate != null">
+            and created_time &lt; #{endDate}
+        </if>
+    </select>
+
+    <select id="selectYhShopApplyMoney" resultType="java.util.Map">
+        select ifnull(sum(if(verify_status = 'success',money,0)),0)s,
+        ifnull(sum(if(verify_status = 'verifying',money,0)),0)vf
+        from yh_shop_distribute_money_apply where verify_status in ('verifying','success')
+        <if test="startDate != null">
+            and created_time >= #{startDate}
+        </if>
+        <if test="endDate != null">
+            and created_time &lt; #{endDate}
+        </if>
+    </select>
+
+    <select id="selectRelationBusiness" resultType="com.cyksj.model.entity.YhShopDistributeMoneyApply">
+        select ys.business_id, cu.nickanem as businessName
+        from (select * from yh_shop where user_id limit 1) ys
+                 left join cms_user cu on cu.id = ys.business_id
+    </select>
+</mapper>

+ 76 - 0
netflix-dao/src/main/resources/mapper/YhShopWaitingSendPointsMapper.xml

@@ -0,0 +1,76 @@
+<?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="com.cyksj.mapper.shop.YhShopDistributeWaitingSendPointsMapper">
+
+<select id="getWMoneyStatisticsDataView"
+            resultType="com.cyksj.model.views.YhShopBrokenLineCpsUserWMoneyView">
+    select min(curdate) as firstDate,
+    max(curdate) as lastDate from (select
+    <if test="today">
+        date_format(send_time, '%H') as `curdate`
+    </if>
+    <if test="!today">
+        date_format(send_time, '%Y-%m-%d') `curdate`
+    </if>
+    from `yh_shop_distribute_waiting_send_points`
+    where shop_user_id = #{yhShopUserId}
+    and send_status = 'waiting'
+    <choose>
+        <when test="today">
+            <if test="first != null">
+                and send_time >= #{first}
+            </if>
+            <if test="end != null">
+                and send_time &lt;= #{end}
+            </if>
+            group by date_format(send_time, '%H')
+        </when>
+        <otherwise>
+            <if test="first != null">
+                and date_format(send_time, '%Y-%m-%d') >= #{first}
+            </if>
+            <if test="end != null">
+                and date_format(send_time, '%Y-%m-%d') &lt; #{end}
+            </if>
+            group by date_format(send_time, '%Y-%m-%d')
+        </otherwise>
+    </choose>
+    )s
+    </select>
+    
+    <select id="getWMoneyStatisticsDate" resultType="com.cyksj.model.views.YhShopUserWMoneyStatisticsDataView">
+        select
+        <if test="today">
+            date_format(send_time, '%H') as `hour`,
+        </if>
+        <if test="!today">
+            date_format(send_time, '%Y-%m-%d') `date`,
+        </if>
+        TRUNCATE(sum(money)/ 100,2) money
+        from `yh_shop_distribute_waiting_send_points`
+        where shop_user_id = #{yhShopUserId}
+        and send_status = 'waiting'
+        <choose>
+            <when test="today">
+                <if test="first != null">
+                    and send_time >= #{first}
+                </if>
+                <if test="end != null">
+                    and send_time &lt;= #{end}
+                </if>
+                group by date_format(send_time, '%H')
+                order by date_format(send_time, '%H')
+            </when>
+            <otherwise>
+                <if test="first != null">
+                    and date_format(send_time, '%Y-%m-%d') >= #{first}
+                </if>
+                <if test="end != null">
+                    and date_format(send_time, '%Y-%m-%d') &lt; #{end}
+                </if>
+                group by date_format(send_time, '%Y-%m-%d')
+                order by date_format(send_time, '%Y-%m-%d')
+            </otherwise>
+        </choose>
+    </select>
+</mapper>

+ 43 - 0
netflix-service/src/main/java/com/cyksj/config/wxlogin/BaseWxOpenPlatConfig.java

@@ -0,0 +1,43 @@
+package com.cyksj.config.wxlogin;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: BaseWxOpenPlatConfig
+ * 创建者: JavaZou
+ * 创建时间:2023/9/27 18:34
+ */
+@Getter
+@Setter
+public class BaseWxOpenPlatConfig {
+	/**
+	 * 应用唯一标识
+	 */
+	private String appId;
+
+	private String secret;
+
+	/**
+	 * 请使用 urlEncode 对链接进行处理
+	 */
+	private String redirectUri;
+
+	private String loginUrl;
+
+	private String cpsRedirectUri;
+
+	private String cpsLoginUrl;
+
+	private String yhShopRedirectUri;
+
+	private String yhShopLoginUrl;
+
+	/**
+	 * 绑定账号回调接口地址
+	 */
+	private String baRedirectUrl;
+
+	private String remark;
+}

+ 24 - 0
netflix-service/src/main/java/com/cyksj/config/wxlogin/WxOpenPlatEnum.java

@@ -0,0 +1,24 @@
+package com.cyksj.config.wxlogin;
+
+import lombok.Getter;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: WxOpenPlatEnum
+ * 创建者: JavaZou
+ * 创建时间:2023/9/27 18:59
+ */
+@Getter
+public enum WxOpenPlatEnum {
+	shop("xx", "小店店铺"),
+	yh("wx7c5494c38c6a78bd", "银河官网"),
+	;
+	String appId;
+
+	String desc;
+
+	WxOpenPlatEnum(String appId, String desc) {
+		this.appId = appId;
+		this.desc = desc;
+	}
+}

+ 38 - 0
netflix-service/src/main/java/com/cyksj/config/wxlogin/WxOpenPlatFactory.java

@@ -0,0 +1,38 @@
+package com.cyksj.config.wxlogin;
+
+import com.cyksj.common.exception.BusinessRuntimeException;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: WxOpenPlatFactory
+ * 创建者: JavaZou
+ * 创建时间:2023/9/27 18:33
+ */
+public class WxOpenPlatFactory {
+
+	private static Map<String, BaseWxOpenPlatConfig> strategyBean = new ConcurrentHashMap<>();
+
+	/**
+	 * 初始化
+	 *
+	 * @param appId
+	 * @return
+	 */
+	public static BaseWxOpenPlatConfig getWeChatConfigStrategy(String appId) {
+		if (StringUtils.isEmpty(appId)) {
+			throw BusinessRuntimeException.getInstance("appid错误");
+		}
+		BaseWxOpenPlatConfig baseWeChatConfig = strategyBean.get(appId);
+		Objects.requireNonNull(baseWeChatConfig, "appid错误");
+		return baseWeChatConfig;
+	}
+
+	public static void add(BaseWxOpenPlatConfig baseWeChatConfig) {
+		strategyBean.put(baseWeChatConfig.getAppId(), baseWeChatConfig);
+	}
+}

+ 7 - 25
netflix-service/src/main/java/com/cyksj/config/wxlogin/WxOpenPlatYHLXLoginConfig.java

@@ -5,6 +5,8 @@ import lombok.Setter;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 
+import javax.annotation.PostConstruct;
+
 /*
  *项目名: netflix
  *文件名: WxOpenPlatYHLXLogin
@@ -16,29 +18,9 @@ import org.springframework.context.annotation.Configuration;
 @ConfigurationProperties(prefix = "wx-login")
 @Getter
 @Setter
-public class WxOpenPlatYHLXLoginConfig {
-	/**
-	 * 应用唯一标识
-	 */
-	private String appId;
-
-	private String secret;
-
-	/**
-	 * 请使用 urlEncode 对链接进行处理
-	 */
-	private String redirectUri;
-
-	private String loginUrl;
-
-	private String cpsRedirectUri;
-
-	private String cpsLoginUrl;
-
-	/**
-	 * 绑定账号回调接口地址
-	 */
-	private String baRedirectUrl;
-
-	private String remark;
+public class WxOpenPlatYHLXLoginConfig extends BaseWxOpenPlatConfig {
+	@PostConstruct
+	public void add() {
+		WxOpenPlatFactory.add(this);
+	}
 }

+ 26 - 0
netflix-service/src/main/java/com/cyksj/config/wxlogin/WxShopOpenPlatConfig.java

@@ -0,0 +1,26 @@
+package com.cyksj.config.wxlogin;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: WxShopOpenPlatConfig
+ * 创建者: JavaZou
+ * 创建时间:2023/9/27 18:36
+ */
+@Configuration
+@ConfigurationProperties(prefix = "wx-shop-login")
+@Getter
+@Setter
+public class WxShopOpenPlatConfig extends BaseWxOpenPlatConfig {
+
+	@PostConstruct
+	public void add() {
+		WxOpenPlatFactory.add(this);
+	}
+}

+ 2 - 0
netflix-service/src/main/java/com/cyksj/redis/RedisService.java

@@ -615,6 +615,8 @@ public class RedisService {
         REGISTER_HOME_PAGE_CACHE("register_home_page_cache:", "注册首页缓存", 10 * 60),
         CPS_BACK_LOGIN_KEY("cps_back_login:", "cps商务后台登录key", 3 * 60),
         CPS_AUTH_SUCCESS_KEY("cps_auth_success_key:%s", "cps后台微信授权", 60 * 10),
+        YH_SHOP_BACK_LOGIN_KEY("yh_shop_back_login:", "店铺主后台key", 3 * 60),
+        YH_SHOP_AUTH_SUCCESS_KEY("yh_shop_auth_success_key:%s", "店铺主后台微信授权", 60 * 10),
         QUESTION_RESPONSE_KEY("question_response_key:%s", "问卷回答key", 60 * 60 * 24L),
         IMPORT_ACCOUNT_CACHE_KEY("import_account_cache_key:%s", "导入缓存key", 60 * 10L),
         MAKERTING_MSG_KEY("makerting_msg_key", "营销短信", 60 * 60 * 24 * 30),

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/authorization/AuthorizationService.java

@@ -20,5 +20,5 @@ public interface AuthorizationService {
 
     JsSdkTicket getJsTicket(String appId, String url) throws Exception;
 
-    String createWxAuthLoginUrl(String state, String redirectUrl);
+    String createWxAuthLoginUrl(String state,String appId, String redirectUrl);
 }

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini