Sfoglia il codice sorgente

店铺商务、店铺提现审核

zoujiajian 2 anni fa
parent
commit
011d59232e

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

@@ -50,4 +50,7 @@ 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);
 }

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

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

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

@@ -0,0 +1,13 @@
+package com.cyksj.mapper;
+
+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> {
+}

+ 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
      */

+ 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);
+		}
+	}
+}
+

+ 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;
+}
+

+ 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 ys_shop_user_distribute_shared us on us.shop_user_id = ud.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("ud.business_id")
+	private Long businessId;
+
+	/**
+	 * 商务名
+	 */
+	@DbIgnore
+	private String businessName;
+
+	/**
+	 * 渠道数量
+	 */
+	@DbField("count(distinct ud.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;
+}

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

@@ -0,0 +1,70 @@
+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.points")
+	private BigDecimal points;
+
+	@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;
+
+}

+ 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.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;
+}

+ 6 - 0
netflix-service/src/main/java/com/cyksj/service/mange/CmsYhShopCommonService.java

@@ -1,8 +1,10 @@
 package com.cyksj.service.mange;
 
+import com.cyksj.model.entity.UserDistributeBusinessRate;
 import com.cyksj.model.entity.YhShopUserBusinessDefaultRateConfig;
 import com.cyksj.model.entity.YhShopUserPlatDistributeRate;
 import com.cyksj.model.manage.entity.YhShop;
+import com.cyksj.model.request.DistributeApplyMoneyReq;
 import com.cyksj.model.request.ShopGeneralGoodsRateReq;
 import com.cyksj.model.request.YhShopVerifyReq;
 
@@ -24,4 +26,8 @@ public interface CmsYhShopCommonService {
 	void setYhShopBusiness(YhShop yhShop);
 
 	void setBusinessDefaultRate(List<YhShopUserBusinessDefaultRateConfig> configs);
+
+	void setBusinessRate(List<UserDistributeBusinessRate> rates);
+
+	void verifyYhShopApplyMoney(DistributeApplyMoneyReq distributeApplyMoneyReq);
 }

+ 74 - 3
netflix-service/src/main/java/com/cyksj/service/mange/goods/CmsYhShopCommonServiceImpl.java

@@ -7,25 +7,27 @@ import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.exception.BusinessRuntimeException;
-import com.cyksj.mapper.GoodsDonMapper;
-import com.cyksj.mapper.YhShopGeneralGoodsRateMapper;
-import com.cyksj.mapper.YhShopUserBusinessDefaultRateConfigMapper;
+import com.cyksj.mapper.*;
 import com.cyksj.mapper.shop.YhShopMapper;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.manage.entity.YhShop;
+import com.cyksj.model.request.DistributeApplyMoneyReq;
 import com.cyksj.model.request.ShopGeneralGoodsRateReq;
 import com.cyksj.model.request.YhShopVerifyReq;
 import com.cyksj.model.views.GoodsDonSkuView;
 import com.cyksj.service.YhShopUserPlatDistributeRateService;
 import com.cyksj.service.mange.CmsYhShopCommonService;
 import com.cyksj.service.mange.business.UserBusinessRateService;
+import com.cyksj.service.user.UserBenefitsService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
@@ -39,6 +41,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
  */
 @Service
 @RequiredArgsConstructor
+@Slf4j
 public class CmsYhShopCommonServiceImpl implements CmsYhShopCommonService {
 	private final GoodsDonMapper goodsDonMapper;
 
@@ -52,6 +55,12 @@ public class CmsYhShopCommonServiceImpl implements CmsYhShopCommonService {
 
 	private final YhShopUserBusinessDefaultRateConfigMapper yhShopUserBusinessDefaultRateConfigMapper;
 
+	private final YhShopUserDistributeBusinessRateMapper yhShopUserDistributeBusinessRateMapper;
+
+	private final YhShopDistributeMoneyApplyMapper yhShopDistributeMoneyApplyMapper;
+
+	private final UserBenefitsService userBenefitsService;
+
 	private final BeanSearcher beanSearcher;
 
 	@Override
@@ -173,4 +182,66 @@ public class CmsYhShopCommonServiceImpl implements CmsYhShopCommonService {
 			yhShopUserBusinessDefaultRateConfigMapper.updateById(config);
 		});
 	}
+
+	@Override
+	public void setBusinessRate(List<UserDistributeBusinessRate> rates) {
+		rates.forEach(yhShopUserDistributeBusinessRate -> {
+			Long rateId = yhShopUserDistributeBusinessRate.getId();
+			YhShopUserDistributeBusinessRate businessRate = Optional.ofNullable(yhShopUserDistributeBusinessRateMapper.selectById(rateId)).orElse(new YhShopUserDistributeBusinessRate());
+			BeanUtil.copyProperties(yhShopUserDistributeBusinessRate, businessRate);
+			Number number = beanSearcher.searchCount(GoodsDonSkuView.class, MapUtils.builder()
+					.field(GoodsDonSkuView::getGoodsId, yhShopUserDistributeBusinessRate.getGoodsId())
+					.field(GoodsDonSkuView::getSkuId, yhShopUserDistributeBusinessRate.getSkuId())
+					.field(GoodsDonSkuView::getGoodsDonDeleted, true)
+					.build());
+			if (number.intValue() == 0) {
+				yhShopUserDistributeBusinessRateMapper.delete(Wrappers.lambdaQuery(YhShopUserDistributeBusinessRate.class)
+						.eq(YhShopUserDistributeBusinessRate::getBusinessId, yhShopUserDistributeBusinessRate.getBusinessId())
+						.eq(YhShopUserDistributeBusinessRate::getGoodsId, yhShopUserDistributeBusinessRate.getGoodsId())
+						.eq(YhShopUserDistributeBusinessRate::getSkuId, yhShopUserDistributeBusinessRate.getSkuId()));
+				return;
+			}
+			if (businessRate.getId() == null) {
+				try {
+					yhShopUserDistributeBusinessRateMapper.insert(businessRate);
+				} catch (DuplicateKeyException e) {
+				}
+			} else {
+				yhShopUserDistributeBusinessRateMapper.updateById(businessRate);
+			}
+		});
+	}
+
+	@Override
+	@Transactional(rollbackFor = Throwable.class)
+	public void verifyYhShopApplyMoney(DistributeApplyMoneyReq distributeApplyMoneyReq) {
+		YhShopDistributeMoneyApply.Status status = YhShopDistributeMoneyApply.Status.checkStatus(distributeApplyMoneyReq.getVerifyStatus());
+		if (status == null || status == YhShopDistributeMoneyApply.Status.verifying) {
+			throw BusinessRuntimeException.getInstance("审核状态错误");
+		}
+		YhShopDistributeMoneyApply distributeMoneyApply = yhShopDistributeMoneyApplyMapper.selectById(distributeApplyMoneyReq.getId());
+		if (distributeMoneyApply == null) {
+			throw BusinessRuntimeException.getInstance("提现记录不存在");
+		}
+		if (distributeMoneyApply.getVerifyStatus() != YhShopDistributeMoneyApply.Status.verifying) {
+			throw BusinessRuntimeException.getInstance("该提现记录已处理,无法再进行审核");
+		}
+		distributeMoneyApply.setVerifyStatus(status);
+		if (YhShopDistributeMoneyApply.Status.fail.name().equals(distributeApplyMoneyReq.getVerifyStatus()) && StrUtil.isEmpty(distributeApplyMoneyReq.getReason())) {
+			throw BusinessRuntimeException.getInstance("拒绝原因为空");
+		}
+		if (YhShopDistributeMoneyApply.Status.fail.name().equals(distributeApplyMoneyReq.getVerifyStatus())) {
+			distributeMoneyApply.setReason(distributeApplyMoneyReq.getReason());
+			Long userId = distributeMoneyApply.getUserId();
+			userBenefitsService.addYhsMoney(userId, distributeMoneyApply.getMoney());
+			log.info("店铺提现审核失败,归还店铺申请提现金额:{}至用户{}结束", distributeMoneyApply.getMoney().divide(BigDecimal.valueOf(100)), userId);
+		}
+		if (YhShopDistributeMoneyApply.Status.success.name().equals(distributeApplyMoneyReq.getVerifyStatus())) {
+			if (StrUtil.isBlank(distributeApplyMoneyReq.getImg())) {
+				throw BusinessRuntimeException.getInstance("审核成功时,打款图片不存在");
+			}
+			distributeMoneyApply.setImg(distributeApplyMoneyReq.getImg());
+		}
+		yhShopDistributeMoneyApplyMapper.updateById(distributeMoneyApply);
+	}
 }

+ 2 - 0
netflix-service/src/main/java/com/cyksj/service/user/UserBenefitsService.java

@@ -37,4 +37,6 @@ public interface UserBenefitsService {
 	 * 记录用于余额来源
 	 */
 	void recordBalanceBySource(Long userId, BigDecimal balance, UserBalanceSourceRecord.Source source);
+
+	void addYhsMoney(Long userId, BigDecimal money);
 }

+ 16 - 0
netflix-service/src/main/java/com/cyksj/service/user/impl/UserBenefitsServiceImpl.java

@@ -128,4 +128,20 @@ public class UserBenefitsServiceImpl implements UserBenefitsService {
 		userBalanceSourceRecord.setSource(source);
 		userBalanceSourceRecordMapper.insert(userBalanceSourceRecord);
 	}
+
+	@Override
+	public void addYhsMoney(Long userId, BigDecimal addYhsMoney) {
+		if (addYhsMoney.compareTo(BigDecimal.ZERO) <= 0) {
+			return;
+		}
+		while (true) {
+			User user = userMapper.selectById(userId);
+			if (user == null) break;
+			BigDecimal yhsMoney = user.getYhsMoney();
+			Integer success = userMapper.addYhsMoney(user.getId(), yhsMoney, addYhsMoney);
+			if (success == 1) {
+				break;
+			}
+		}
+	}
 }

+ 78 - 5
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsYhShopGoodsController.java

@@ -3,17 +3,16 @@ package com.cyksj.web.controller.manage.goods;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cyksj.common.annotation.NoSubmit;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.UserMapper;
 import com.cyksj.mapper.manage.cms.CmsUserMapper;
 import com.cyksj.mapper.shop.YhShopMapper;
-import com.cyksj.model.entity.User;
-import com.cyksj.model.entity.YhShopGoodsRate;
-import com.cyksj.model.entity.YhShopUserBusinessDefaultRateConfig;
-import com.cyksj.model.entity.YhShopUserPlatDistributeRate;
+import com.cyksj.model.entity.*;
 import com.cyksj.model.manage.entity.YhShop;
+import com.cyksj.model.request.DistributeApplyMoneyReq;
 import com.cyksj.model.request.GoodsDonShopRateReq;
 import com.cyksj.model.request.ShopGeneralGoodsRateReq;
 import com.cyksj.model.request.YhShopVerifyReq;
@@ -28,6 +27,7 @@ import com.ejlchina.searcher.util.MapBuilder;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
@@ -273,15 +273,88 @@ public class CmsYhShopGoodsController {
     /**
      * 设置店铺商务分销比例
      */
+    @PutMapping("/set/business/rate")
+    public Result<String> setBusinessRate(@RequestBody @Validated List<UserDistributeBusinessRate> rates) {
+        cmsYhShopCommonService.setBusinessRate(rates);
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
+    }
 
     /**
-     * 店铺商务 列表
+     * 查看店铺 商务分销比例
      */
+    @GetMapping("/get/business/rate")
+    public Result<List<YhShopUserDistributeBusinessRateRecordView>> getBusinessRate(Long businessId, Integer type) {
+        if (type == null) type = 1;
+        List<YhShopUserDistributeBusinessRateRecordView> yhShopUserDistributeBusinessRateRecordViews = beanSearcher.searchAll(YhShopUserDistributeBusinessRateRecordView.class, MapUtils.builder()
+                .put("business_id", String.format(" and ur.business_id = %s", businessId))
+                .put("bid", businessId)
+                .field(YhShopUserDistributeBusinessRateRecordView::getType, type)
+                .orderBy(YhShopUserDistributeBusinessRateRecordView::getGoodsId).asc()
+                .orderBy(YhShopUserDistributeBusinessRateRecordView::getSkuId).asc()
+                .build());
+        return GatewayResponse.SUCCESS.newBuilder().toResult(yhShopUserDistributeBusinessRateRecordViews);
+    }
+
+    /**
+     * 店铺商务 数据列表
+     */
+    @GetMapping("/get/business/list")
+    public Result<SearchResult<YhShopBusinessDistributesDataView>> getBusinessDistributesData(String startTime, String endTime) {
+        long adminId = StpUtil.getLoginIdAsLong();
+        MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
+        String time1Sql = StrUtil.EMPTY;
+        String time2Sql = StrUtil.EMPTY;
+        String time3Sql = StrUtil.EMPTY;
+        if (StrUtil.isNotBlank(startTime)) {
+            time1Sql += String.format(" and ud.business_bind_time >= '%s'", startTime);
+            time2Sql += String.format(" and us.created_time >= '%s'", startTime);
+            time3Sql += String.format(" and od.created_time >= '%s'", startTime);
+        }
+        if (StrUtil.isNotBlank(endTime)) {
+            time1Sql += String.format(" and ud.business_bind_time < '%s'", endTime);
+            time2Sql += String.format(" and us.created_time < '%s'", endTime);
+            time3Sql += String.format(" and od.created_time < '%s'", endTime);
+        }
+        if (StrUtil.isNotBlank(time1Sql)) {
+            builder.put("time1", time1Sql);
+        }
+        if (StrUtil.isNotBlank(time2Sql)) {
+            builder.put("time2", time2Sql);
+        }
+        if (StrUtil.isNotBlank(time3Sql)) {
+            builder.put("time3", time3Sql);
+        }
+        //是否是商务人员
+        if (userBusinessRateService.isBusiness(adminId)) {
+            builder.field(YhShopBusinessDistributesDataView::getBusinessId, adminId);
+        }
+        SearchResult<YhShopBusinessDistributesDataView> search = beanSearcher.search(YhShopBusinessDistributesDataView.class, builder.build());
+        search.getDataList().forEach(data -> {
+            Optional.ofNullable(cmsUserMapper.selectById(data.getBusinessId()))
+                    .ifPresent(cmsUser -> data.setBusinessName(cmsUser.getNickname()));
+
+        });
+        return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+    }
 
     /**
      * 店铺提现 列表
      */
+    @GetMapping("/get/applyMoney")
+    public Result<SearchResult<YhShopDistributeMoneyApplyView>> applyMoneyList() {
+        SearchResult<YhShopDistributeMoneyApplyView> search = beanSearcher.search(YhShopDistributeMoneyApplyView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+        return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+    }
 
+    /**
+     * 店铺提现 审核
+     */
+    @PutMapping("/verify/applyMoney")
+    @NoSubmit
+    public Result<String> verifyApplyMoney(@RequestBody @Validated DistributeApplyMoneyReq distributeApplyMoneyReq) {
+        cmsYhShopCommonService.verifyYhShopApplyMoney(distributeApplyMoneyReq);
+        return GatewayResponse.SUCCESS.newBuilder().toResult("审核操作成功");
+    }
 
 
     /**