Browse Source

中台达人列表代码

ldz 1 month ago
parent
commit
0c9bcb1a34

+ 12 - 0
alien-entity/src/main/java/shop/alien/entity/store/LifeUserExpertOrder.java

@@ -142,4 +142,16 @@ public class LifeUserExpertOrder extends Model<LifeUserExpertOrder> {
     @ApiModelProperty(value = "支付时间")
     @TableField("pay_time")
     private Date payTime;
+
+    @ApiModelProperty(value = "退款时间")
+    @TableField("refund_time")
+    private Date refundTime;
+
+    @ApiModelProperty(value = "佣金比例 ")
+    @TableField(value = "commission_rate")
+    private Integer commissionRate;
+
+    @ApiModelProperty(value = "预付款比例 ")
+    @TableField(value = "advance_rate")
+    private Integer advanceRate;
 }

+ 9 - 3
alien-entity/src/main/java/shop/alien/entity/store/vo/LifeUserExpertVo.java

@@ -51,6 +51,9 @@ public class LifeUserExpertVo extends LifeUserExpert {
     @ApiModelProperty(value = "点赞数量")
     private Integer likeNum;
 
+    @ApiModelProperty(value = "评论数量")
+    private Integer commitCountSum;
+
     @ApiModelProperty(value = "平均播放量")
     private Integer averagePlayNum;
 
@@ -64,13 +67,16 @@ public class LifeUserExpertVo extends LifeUserExpert {
     private Integer averageShareCount;
 
     @ApiModelProperty(value = "总推广金额")
-    private Integer orderMoney;
+    private double orderMoney;
 
     @ApiModelProperty(value = "已打款金额")
-    private Integer accountMoney;
+    private double accountMoney;
 
     @ApiModelProperty(value = "待打款金额")
-    private Integer pendMoney;
+    private double pendMoney;
+
+    @ApiModelProperty(value = "佣金总额")
+    private double commissionSum;
 
     @ApiModelProperty(value = "省")
     private String province;

+ 23 - 9
alien-entity/src/main/java/shop/alien/mapper/LifeUserExpertMapper.java

@@ -30,24 +30,38 @@ public interface LifeUserExpertMapper extends BaseMapper<LifeUserExpert> {
             "    where delete_flag = 0 " +
             "    group by followed_id " +
             "), " +
-            "works as ( " +
-            "    select expert_id, count(id) worksNum, sum(like_count) likeNum, sum(play_count) playNum " +
-            "    from life_user_expert_works " +
+//            "works as ( " +
+//            "    select expert_id, count(id) worksNum, sum(like_count) likeNum, sum(play_count) playNum ,sum(comment_count) commentNum, sum(share_count) shareNum" +
+//            "    from life_user_expert_works " +
+//            "    where delete_flag = 0 " +
+//            "    group by expert_id " +
+//            "), " +
+            "dynamics as ( " +
+            "    select  phone_id,count(id) dynamicsNum, sum(liulan_count) playNum, id,sum(dianzan_count) likeNum " +
+            "    from life_user_dynamics " +
             "    where delete_flag = 0 " +
-            "    group by expert_id " +
+            "    group by phone_id " +
             "), " +
+            "comment as ( " +
+            "    select business_id,count( id ) commitCount " +
+            "    from store_comment " +
+            "    where delete_flag = 0 " +
+            "    GROUP BY business_id " +
+            "), " +
+
             "orders as ( " +
-            "    select expert_id, sum(order_money) orderMoney, sum(account_money) accountMoney " +
-            "    from alien.life_user_expert_order " +
+            "    select expert_id,commission_rate, sum(order_money) orderMoney ,sum(account_money) accountMoney  " +
+            "    from life_user_expert_order " +
             "    where delete_flag = 0 " +
             "    group by expert_id " +
             ") " +
-            "select expert.id, expert.expert_code,expert.expert_status, user.user_phone,user.user_name, ifnull(fans.num, 0) fansNum, ifnull(works.worksNum, 0) worksNum, ifnull(works.likeNum, 0) likeNum, ifnull(works.playNum, 0) playNum, " +
-            "       ifnull(orders.orderMoney, 0) orderMoney, ifnull(orders.accountMoney, 0) accountMoney, (ifnull(orders.orderMoney, 0) - ifnull(orders.accountMoney, 0)) pendMoney " +
+            "select expert.id, expert.expert_code, expert.promote_type,expert.add_explanation ,expert.expert_status, user.user_phone,user.user_name,user.id_card ,user.real_name,ifnull(fans.num, 0) fansNum, ifnull(dynamics.dynamicsNum, 0) worksNum, ifnull(dynamics.likeNum, 0) likeNum, ifnull(dynamics.playNum, 0) playNum, " +
+            "       ifnull(orders.orderMoney, 0) orderMoney, ifnull(orders.accountMoney, 0) accountMoney, (ifnull(orders.orderMoney, 0) - ifnull(orders.accountMoney, 0)) pendMoney ,ifnull(orders.orderMoney * orders.commission_rate/100, 0) commissionSum , ifnull(comment.commitCount, 0) commitCountSum " +
             "from life_user_expert expert " +
             "join life_user user on user.id = expert.user_id " +
             "left join fans on fans.followed_id = concat('user_', user.user_phone)  " +
-            "left join works on works.expert_id = expert.id " +
+            "left join dynamics on concat('user_', dynamics.phone_id)= user.user_phone " +
+            "left join comment on comment.business_id = dynamics.id " +
             "left join orders on orders.expert_id = expert.id " +
             "${ew.customSqlSegment}")
     IPage<LifeUserExpertVo> getUserExpertList(IPage<LifeUserExpertVo> iPage, @Param(Constants.WRAPPER) QueryWrapper<LifeUserExpertVo> wrapper);

+ 5 - 1
alien-entity/src/main/resources/mapper/LifeUserExpertOrderMapper.xml

@@ -32,12 +32,16 @@
         <result column="end_funds_time" property="endFundsTime" />
         <result column="end_payment_time" property="endPaymentTime" />
         <result column="end_payment_refusal" property="endPaymentRefusal" />
+        <result column="pay_time" property="payTime" />
+        <result column="refund_time" property="refundTime" />
+        <result column="commission_rate" property="commissionRate" />
+        <result column="advance_rate" property="advanceRate" />
 
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, order_id, expert_id, package_id , store_id, order_money, account_money, order_time, complete_time, first_payment_time, final_payment_time, order_play_count, order_gmv, actual_gmv, status, delete_flag, created_time, created_user_id, updated_time, updated_user_id, advance_payment_status, end_funds_button ,reason_refusal,advancePaymentTime,endFundsTime,endPaymentTime,endPaymentRefusal
+        id, order_id, expert_id, package_id , store_id, order_money, account_money, order_time, complete_time, first_payment_time, final_payment_time, order_play_count, order_gmv, actual_gmv, status, delete_flag, created_time, created_user_id, updated_time, updated_user_id, advance_payment_status, end_funds_button ,reason_refusal,advancePaymentTime,endFundsTime,endPaymentTime,endPaymentRefusal,payTime,refundTime,commission_rate,advance_rate
     </sql>
 
 </mapper>

+ 48 - 9
alien-store/src/main/java/shop/alien/store/controller/LifeUserExpertController.java

@@ -35,11 +35,12 @@ public class LifeUserExpertController {
             @ApiImplicitParam(name = "size", value = "分页条数", dataType = "Integer", paramType = "query", required = true),
             @ApiImplicitParam(name = "userName", value = "姓名", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "exportCode", value = "达人码", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "userPhone", value = "手机号", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "userId", value = "用户id", dataType = "String", paramType = "query")})
     @GetMapping("/getUserExpertList")
-    public R<IPage<LifeUserExpertVo>> getUserExpertList(Integer page, Integer size, String userName, String expertCode, Integer userId) {
-        log.info("LifeUserExpertController.getUserExpertList?page={},size={},userName={},phone={},userId={}", page, size, userName, expertCode, userId);
-        return R.data(lifeUserExpertService.getUserExpertList(page, size, userName, expertCode, userId));
+    public R<IPage<LifeUserExpertVo>> getUserExpertList(Integer page, Integer size, String userName, String expertCode, Integer userId,String userPhone) {
+        log.info("LifeUserExpertController.getUserExpertList?page={},size={},userName={},phone={},userId={},userPhone{}", page, size, userName, expertCode, userId, userPhone);
+        return R.data(lifeUserExpertService.getUserExpertList(page, size, userName, expertCode, userId, userPhone));
     }
 
     @ApiOperation("订单列表")
@@ -147,15 +148,17 @@ public class LifeUserExpertController {
             @ApiImplicitParam(name = "advancePaymentStatus", value = "预付款审核状态", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "orderCreatedTime", value = "下单开始时间", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "orderEndTime", value = "下单结束时间", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "firstPayTime", value = "支付开始时间", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "endPayTime", value = "支付结束时间", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "name", value = "套餐名称", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "orderNo", value = "订单编号", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "storeName", value = "商家昵称", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "userId", value = "用户id", dataType = "String", paramType = "query")
     })
     @GetMapping("/getAdvancePaymentList")
-    public R<IPage<LifeUserExpertOrderVo>> getAdvancePaymentList( Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String name, Integer userId) {
+    public R<IPage<LifeUserExpertOrderVo>> getAdvancePaymentList( Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstPayTime, String endPayTime,String name, Integer userId) {
         log.info("LifeUserExpertController.getViewDetails?userId={}",userId);
-        return R.data(lifeUserExpertService.getAdvancePaymentList(page, size, realName, userPhone, advancePaymentStatus, orderCreatedTime, orderEndTime, name, userId));
+        return R.data(lifeUserExpertService.getAdvancePaymentList(page, size, realName, userPhone, advancePaymentStatus, orderCreatedTime, orderEndTime,  firstPayTime, endPayTime,name, userId));
     }
 
 
@@ -185,8 +188,8 @@ public class LifeUserExpertController {
             @ApiImplicitParam(name = "endFundsButton", value = "申请尾款按钮状态(审核状态)", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "orderCreatedTime", value = "下单开始时间", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "orderEndTime", value = "下单结束时间", dataType = "String", paramType = "query"),
-            @ApiImplicitParam(name = "orderCreatedTime", value = "支付开始时间", dataType = "String", paramType = "query"),
-            @ApiImplicitParam(name = "orderEndTime", value = "支付结束时间", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "firstPayTime", value = "支付开始时间", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "endPayTime", value = "支付结束时间", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "firstCompleteTime", value = "开始完成时间", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "endCompleteTime", value = "结束完成时间", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "createdEndPaymentTime", value = "开始申请时间", dataType = "String", paramType = "query"),
@@ -197,9 +200,9 @@ public class LifeUserExpertController {
             @ApiImplicitParam(name = "userId", value = "用户id", dataType = "String", paramType = "query")
     })
     @GetMapping("/getFinalPaymentList")
-    public R<IPage<LifeUserExpertOrderVo>> getFinalPaymentList( Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstCompleteTime,String endCompleteTime,String createdEndPaymentTime,String endEndPaymentTime,String name, Integer userId) {
+    public R<IPage<LifeUserExpertOrderVo>> getFinalPaymentList( Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstPayTime,String endPayTime,String firstCompleteTime,String endCompleteTime,String createdEndPaymentTime,String endEndPaymentTime,String name, Integer userId) {
         log.info("LifeUserExpertController.getViewDetails?userId={}",userId);
-        return R.data(lifeUserExpertService.getFinalPaymentList(page, size, realName, userPhone, advancePaymentStatus, orderCreatedTime, orderEndTime, firstCompleteTime,endCompleteTime,createdEndPaymentTime,endEndPaymentTime,name, userId));
+        return R.data(lifeUserExpertService.getFinalPaymentList(page, size, realName, userPhone, advancePaymentStatus, orderCreatedTime, orderEndTime, firstPayTime, endPayTime,firstCompleteTime,endCompleteTime,createdEndPaymentTime,endEndPaymentTime,name, userId));
     }
 
     @ApiOperation("达人尾款审核接口")
@@ -218,4 +221,40 @@ public class LifeUserExpertController {
         log.info("LifeUserExpertController.getViewDetails?Id={},endPaymentRefusal{},userPhone{},name{},orderNo{},orderMoney{},endFundsButton{}",id,endPaymentRefusal,userPhone,name,orderNo,orderMoney,endFundsButton);
         return R.data(lifeUserExpertService.getFinalPaymentReview(id, endPaymentRefusal, userPhone, name,storeTel,orderNo,orderMoney,endFundsButton));
     }
+
+
+    @ApiOperation("达人订单列表")
+    @ApiOperationSupport(order = 15)
+    @ApiImplicitParams({@ApiImplicitParam(name = "page", value = "分页页数", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "size", value = "分页条数", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "realName", value = "真实姓名", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "userPhone", value = "联系电话", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "advancePaymentStatus", value = "预付款审核状态", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "orderCreatedTime", value = "下单开始时间", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "orderEndTime", value = "下单结束时间", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "firstPayTime", value = "支付开始时间", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "endPayTime", value = "支付结束时间", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "name", value = "套餐名称", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "orderNo", value = "订单编号", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "storeName", value = "商家昵称", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "userId", value = "用户id", dataType = "String", paramType = "query")
+    })
+    @GetMapping("/getOrderList")
+    public R<IPage<LifeUserExpertOrderVo>> getOrderList( Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstPayTime, String endPayTime,String name, Integer userId) {
+        log.info("LifeUserExpertController.getViewDetails?userId={}",userId);
+        return R.data(lifeUserExpertService.getOrderList(page, size, realName, userPhone, advancePaymentStatus, orderCreatedTime, orderEndTime,  firstPayTime, endPayTime,name, userId));
+    }
+
+    @ApiOperation("设置比例")
+    @ApiOperationSupport(order = 16)
+    @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "主键id", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "commissionRate", value = "佣金比例", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "advanceRate", value = "预付款比例", dataType = "Integer", paramType = "query")
+    })
+    @GetMapping("/updateProportion")
+    public R<Boolean> updateProportion(Integer id,Integer commissionRate,Integer advanceRate) {
+        log.info("LifeUserExpertController.updateProportion?id={},commissionRate{},advanceRate{}", id,commissionRate,advanceRate);
+        return R.data(lifeUserExpertService.updateProportion(id,commissionRate,advanceRate));
+    }
+
 }

+ 7 - 3
alien-store/src/main/java/shop/alien/store/service/LifeUserExpertService.java

@@ -22,7 +22,7 @@ import java.util.Map;
  */
 public interface LifeUserExpertService extends IService<LifeUserExpert> {
 
-    IPage<LifeUserExpertVo> getUserExpertList(int page, int size, String userName, String expertCode, Integer userId);
+    IPage<LifeUserExpertVo> getUserExpertList(int page, int size, String userName, String expertCode, Integer userId,String userPhone);
 
     IPage<LifeUserExpertOrderVo> getExpertOrderList(int page, int size, Integer expertId, String orderNo, String storeName, Integer storeId);
 
@@ -48,11 +48,15 @@ public interface LifeUserExpertService extends IService<LifeUserExpert> {
 
     LifeUserExpertVo getViewDetails(Integer expertId);
 
-    IPage<LifeUserExpertOrderVo> getAdvancePaymentList(Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String name, Integer userId);
+    IPage<LifeUserExpertOrderVo> getAdvancePaymentList(Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstPayTime, String endPayTime,String name, Integer userId);
 
     Map<String,String> getAdvancePaymentReview(Integer id,String reasonRefusal, String userPhone,String name,String storeTel,String orderNo, String orderMoney,String advancePaymentStatus);
 
-    IPage<LifeUserExpertOrderVo> getFinalPaymentList(Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstCompleteTime,String endCompleteTime,String createdEndPaymentTime,String endEndPaymentTime,String name, Integer userId);
+    IPage<LifeUserExpertOrderVo> getFinalPaymentList(Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstPayTime,String endPayTime,String firstCompleteTime,String endCompleteTime,String createdEndPaymentTime,String endEndPaymentTime,String name, Integer userId);
 
     Map<String,String> getFinalPaymentReview(Integer id, String endPaymentRefusal, String userPhone, String name, String storeTel, String orderNo, String orderMoney, String endFundsButton);
+
+    IPage<LifeUserExpertOrderVo> getOrderList(Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstPayTime, String endPayTime,String name, Integer userId);
+
+    Boolean updateProportion(Integer expertId, Integer commissionRate, Integer advanceRate);
 }

+ 70 - 3
alien-store/src/main/java/shop/alien/store/service/impl/LifeUserExpertServiceImpl.java

@@ -51,13 +51,14 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
     private final AliApi aliApi;
 
     @Override
-    public IPage<LifeUserExpertVo> getUserExpertList(int page, int size, String userName, String expertCode, Integer userId) {
+    public IPage<LifeUserExpertVo> getUserExpertList(int page, int size, String userName, String expertCode, Integer userId , String userPhone) {
         QueryWrapper<LifeUserExpertVo> wrapper = new QueryWrapper<>();
         wrapper.eq("expert.delete_flag", 0);
         wrapper.eq("user.delete_flag", 0);
         wrapper.eq(userId != null, "user.id", userId);
         wrapper.like(StringUtils.isNotEmpty(userName), "user.user_name", userName);
         wrapper.like(StringUtils.isNotEmpty(expertCode), "expert.expert_code", expertCode);
+        wrapper.like(StringUtils.isNotEmpty(userPhone), "user.user_phone", userPhone);
         wrapper.orderByDesc("accountMoney");
         return lifeUserExpertMapper.getUserExpertList(new Page<>(page, size), wrapper);
     }
@@ -414,7 +415,7 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
     }
 
     @Override
-    public IPage<LifeUserExpertOrderVo> getAdvancePaymentList(Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String name, Integer userId) {
+    public IPage<LifeUserExpertOrderVo> getAdvancePaymentList(Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstPayTime, String endPayTime,String name, Integer userId) {
         QueryWrapper<LifeUserExpertVo> wrapper = new QueryWrapper<>();
         wrapper.eq("ccc.delete_flag", 0);
         wrapper.eq("user.delete_flag", 0);
@@ -432,6 +433,12 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
         if (orderEndTime != null && !orderEndTime.isEmpty()) {
             wrapper.lt("ccc.order_time", orderEndTime);
         }
+        if (firstPayTime != null && !firstPayTime.isEmpty()) {
+            wrapper.gt("ccc.pay_time", firstPayTime);
+        }
+        if (endPayTime != null && !endPayTime.isEmpty()) {
+            wrapper.lt("ccc.pay_time", endPayTime);
+        }
         List<LifeUserExpertOrderVo> list=lifeUserExpertOrderMapper.getAdvancePaymentList(wrapper);
 
         for (LifeUserExpertOrderVo lifeUserExpertOrderVo : list) {
@@ -485,6 +492,8 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
                 lifeUserExpertOrder.setAdvancePaymentStatus(advancePaymentStatus);
                 lifeUserExpertOrder.setAdvancePaymentTime(new Date());
                 lifeUserExpertOrder.setReasonRefusal(reasonRefusal);
+                lifeUserExpertOrder.setRefundTime(new Date());
+                lifeUserExpertOrder.setStatus(6);
                 int i=lifeUserExpertOrderMapper.updateById(lifeUserExpertOrder);
                 String text1 = "您订购的达人推广套餐-"+name+",订单金额:"+orderMoney+"元,已经成功发放到您的支付宝账户,请注意查收。";
                 String title1 = "退款到账成功通知";
@@ -500,7 +509,7 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
     }
 
     @Override
-    public IPage<LifeUserExpertOrderVo> getFinalPaymentList(Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstCompleteTime,String endCompleteTime,String createdEndPaymentTime,String endEndPaymentTime,String name, Integer userId) {
+    public IPage<LifeUserExpertOrderVo> getFinalPaymentList(Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String firstPayTime,String endPayTime,String firstCompleteTime,String endCompleteTime,String createdEndPaymentTime,String endEndPaymentTime,String name, Integer userId) {
         QueryWrapper<LifeUserExpertVo> wrapper = new QueryWrapper<>();
         wrapper.eq("ccc.delete_flag", 0);
         wrapper.eq("user.delete_flag", 0);
@@ -518,6 +527,12 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
         if (orderEndTime != null && !orderEndTime.isEmpty()) {
             wrapper.lt("ccc.order_time", orderEndTime);
         }
+        if (firstPayTime != null && !firstPayTime.isEmpty()) {
+            wrapper.gt("ccc.pay_time", firstPayTime);
+        }
+        if (endPayTime != null && !endPayTime.isEmpty()) {
+            wrapper.lt("ccc.pay_time", endPayTime);
+        }
         if (firstCompleteTime != null && !firstCompleteTime.isEmpty()){
             wrapper.gt("ccc.complete_time", firstCompleteTime);
         }
@@ -589,4 +604,56 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
         return map;
     }
 
+    @Override
+    public IPage<LifeUserExpertOrderVo> getOrderList(Integer page, Integer size, String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime, String firstPayTime, String endPayTime, String name, Integer userId) {
+        QueryWrapper<LifeUserExpertVo> wrapper = new QueryWrapper<>();
+        wrapper.eq("ccc.delete_flag", 0);
+        wrapper.eq("user.delete_flag", 0);
+        wrapper.eq("info.delete_flag",0);
+        wrapper.eq("expert.delete_flag",0);
+        wrapper.eq("package.delete_flag",0);
+        wrapper.like(StringUtils.isNotEmpty(realName), "user.real_name", realName);
+        wrapper.like(StringUtils.isNotEmpty(userPhone), "user.user_phone", userPhone);
+        if (advancePaymentStatus != null && !advancePaymentStatus.isEmpty()){
+            wrapper.eq("ccc.advance_payment_status", advancePaymentStatus);
+        }
+        if (orderCreatedTime != null && !orderCreatedTime.isEmpty()){
+            wrapper.gt("ccc.order_time", orderCreatedTime);
+        }
+        if (orderEndTime != null && !orderEndTime.isEmpty()) {
+            wrapper.lt("ccc.order_time", orderEndTime);
+        }
+        if (firstPayTime != null && !firstPayTime.isEmpty()) {
+            wrapper.gt("ccc.pay_time", firstPayTime);
+        }
+        if (endPayTime != null && !endPayTime.isEmpty()) {
+            wrapper.lt("ccc.pay_time", endPayTime);
+        }
+        List<LifeUserExpertOrderVo> list=lifeUserExpertOrderMapper.getAdvancePaymentList(wrapper);
+
+        for (LifeUserExpertOrderVo lifeUserExpertOrderVo : list) {
+            int advanceRate = lifeUserExpertOrderVo.getAdvanceRate();
+            int commissionRate = lifeUserExpertOrderVo.getCommissionRate();
+            lifeUserExpertOrderVo.setOrderNewGmv(String.valueOf(lifeUserExpertOrderVo.getOrderGmv().setScale(2, BigDecimal.ROUND_HALF_UP)));
+            BigDecimal commissionAmount = lifeUserExpertOrderVo.getOrderMoney().multiply(BigDecimal.valueOf(commissionRate))
+                    .divide(new BigDecimal(100));
+            BigDecimal difference = lifeUserExpertOrderVo.getOrderMoney().subtract(commissionAmount);
+            BigDecimal advanceAmount = difference.multiply(BigDecimal.valueOf(advanceRate))
+                    .divide(new BigDecimal(100));
+            lifeUserExpertOrderVo.setAdvance(advanceAmount);
+            lifeUserExpertOrderVo.setCommission(commissionAmount);
+        }
+        return ListToPage.setPage(list,page, size);
+    }
+
+    @Override
+    public Boolean updateProportion(Integer expertId, Integer commissionRate, Integer advanceRate) {
+        LifeUserExpert lifeUserExpert=new LifeUserExpert();
+        lifeUserExpert.setId(expertId);
+        lifeUserExpert.setCommissionRate(commissionRate);
+        lifeUserExpert.setAdvanceRate(advanceRate);
+        return lifeUserExpertMapper.updateExpert(lifeUserExpert);
+    }
+
+
 }