From 412cee5edabe361d98df6887a1cd5aab224e30c0 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Sat, 22 Nov 2025 13:50:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/data/dao/vv/VvPromoterBuyerDao.java | 2 +- .../heyu/api/data/dao/vv/VvPromoterDao.java | 5 + .../dao/vv/VvPromoterTradeOrderAwardDao.java | 11 +- .../vv/VvPromoterTradeOrderLineAwardDao.java | 9 +- .../vv/VvPromoterTradeOrderAwardEntity.java | 71 ++++++++++-- .../VvPromoterTradeOrderLineAwardEntity.java | 79 +++++++++++-- .../entity/vv/VvTradeOrderLineEntity.java | 12 +- .../com/heyu/api/data/enums/ActionEnums.java | 9 ++ .../heyu/api/data/enums/AwardStatusEnums.java | 12 +- .../com/heyu/api/data/enums/RoleEnums.java | 1 + .../data/service/impl/AbstractDrawAction.java | 58 ++++++++++ .../service/impl/draw/AgreeDrawAction.java | 24 ++++ .../service/impl/draw/ApplyDrawAction.java | 22 ++++ .../service/impl/draw/RejectDrawAction.java | 23 ++++ .../vv/VvTradeOrderConvertServiceImpl.java | 2 +- .../com/heyu/api/data/utils/SanUtils.java | 22 +++- .../java/com/test/xxx/MysqlMain_update.java | 4 +- .../mm/VvPromoterTradeOrderRequest.java | 18 ++- .../mm/order/PromoterTradeOrderAwardDTO.java | 6 + .../request/mm/order/VvActivityDTO.java | 6 +- .../request/mm/order/VvPromoterBuyerDTO.java | 14 +++ .../order/resp/VvAdminAgreeDrawRequest.java | 15 +++ .../order/resp/VvAdminRejectDrawRequest.java | 22 ++++ .../mm/AdminDrawCashRecordController.java | 109 ------------------ .../controller/mm/AdminDrawController.java | 82 +++++++++++++ .../mm/AdminLogisticsController.java | 13 --- .../mm/AdminPromoterBuyerController.java | 26 +++++ .../mm/AdminPromoterTradeOrderController.java | 9 +- .../controller/mm/AdminReverseController.java | 4 +- .../api/controller/vv/AppOrderController.java | 7 +- .../delay/handler/DeliveredHandler.java | 23 ++-- .../src/test/java/com/api/test/Test4.java | 2 +- 32 files changed, 540 insertions(+), 182 deletions(-) create mode 100644 api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractDrawAction.java create mode 100644 api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/AgreeDrawAction.java create mode 100644 api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/ApplyDrawAction.java create mode 100644 api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/RejectDrawAction.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvPromoterBuyerDTO.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvAdminAgreeDrawRequest.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvAdminRejectDrawRequest.java delete mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminDrawCashRecordController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminDrawController.java diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterBuyerDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterBuyerDao.java index 662899e..00b13d2 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterBuyerDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterBuyerDao.java @@ -56,5 +56,5 @@ public interface VvPromoterBuyerDao extends BaseMapper { - List selectVvPromoterBuyerByPromoterId(String promoterId); + List selectVvPromoterBuyerByPromoterId(Long promoterId); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterDao.java index 53570c7..e483442 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterDao.java @@ -9,8 +9,12 @@ package com.heyu.api.data.dao.vv; */ import com.heyu.api.data.entity.vv.VvPromoterEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lz.mybatis.plugin.annotations.IN; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.util.List; + @Mapper public interface VvPromoterDao extends BaseMapper { @@ -33,4 +37,5 @@ public interface VvPromoterDao extends BaseMapper { int deleteVvPromoterById(@Param("id")Long id); + List selectVvPromoterByIdList(@IN List id); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterTradeOrderAwardDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterTradeOrderAwardDao.java index 68e150f..d266781 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterTradeOrderAwardDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterTradeOrderAwardDao.java @@ -12,10 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.data.entity.vv.VvBuyerEntity; import com.heyu.api.data.entity.vv.VvPromoterTradeOrderAwardEntity; -import com.lz.mybatis.plugin.annotations.Column; -import com.lz.mybatis.plugin.annotations.GE; -import com.lz.mybatis.plugin.annotations.IF; -import com.lz.mybatis.plugin.annotations.LE; +import com.lz.mybatis.plugin.annotations.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -60,5 +57,9 @@ public interface VvPromoterTradeOrderAwardDao extends BaseMapper selectVvPromoterTradeOrderAwardByPromoterId(String promoterId); + List selectVvPromoterTradeOrderAwardByPromoterId(Long promoterId); + + + + List selectVvPromoterTradeOrderAwardByPromoterId(@IN List promoterId); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterTradeOrderLineAwardDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterTradeOrderLineAwardDao.java index 11bbaf7..1edeb4a 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterTradeOrderLineAwardDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPromoterTradeOrderLineAwardDao.java @@ -37,9 +37,14 @@ public interface VvPromoterTradeOrderLineAwardDao extends BaseMapper selectVvPromoterTradeOrderLineAwardByIdList(@IN List promoterId); + List selectVvPromoterTradeOrderLineAwardByIdList(@IN List promoterId); - List selectVvPromoterTradeOrderLineAwardByPromoterId(String promoterId); + List selectVvPromoterTradeOrderLineAwardByPromoterId(Long promoterId); + + + List selectVvPromoterTradeOrderLineAwardByPromoterIdList(@IN List promoterId); + + } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPromoterTradeOrderAwardEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPromoterTradeOrderAwardEntity.java index ef4f184..2026267 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPromoterTradeOrderAwardEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPromoterTradeOrderAwardEntity.java @@ -40,11 +40,14 @@ private static final long serialVersionUID = 1L; public final static String was_buyer_weixin = CLASS_NAME + "was_buyer_weixin"; // 被推荐者买家微信 public final static String was_buyer_phone = CLASS_NAME + "was_buyer_phone"; // 被推荐者买家手机号 public final static String trade_order_id = CLASS_NAME + "trade_order_id"; // 订单id - public final static String status_ = CLASS_NAME + "status"; // create 创建, canceled 取消 , arrive,到账 + public final static String status_ = CLASS_NAME + "status"; // create 创建, canceled 取消 , arrive,到账, apply_draw:买家申请提现,seller_agree_draw: 卖家同意提现,seller_reject_draw:卖家拒绝提现,draw_success:提现成功,draw_failed:提现失败 public final static String gmt_canceled = CLASS_NAME + "gmt_canceled"; // 取消时间 public final static String gmt_create = CLASS_NAME + "gmt_create"; // 创建时间 public final static String gmt_arrive = CLASS_NAME + "gmt_arrive"; // 到账时间 public final static String canceled_reason = CLASS_NAME + "canceled_reason"; // 取消原因 + public final static String reject_reason = CLASS_NAME + "reject_reason"; // 拒绝原因 + public final static String gmt_reject = CLASS_NAME + "gmt_reject"; // 拒绝时间 + public final static String gmt_agree = CLASS_NAME + "gmt_agree"; // 同意时间 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -65,7 +68,7 @@ private static final long serialVersionUID = 1L; //奖励金额 private BigDecimal awardAmount; //推广者id,唯一值 - private String promoterId; + private Long promoterId; // private Long promoterBuyerId; //买家名称 @@ -84,7 +87,7 @@ private static final long serialVersionUID = 1L; private String wasBuyerPhone; //订单id private Long tradeOrderId; - //create 创建, canceled 取消 , arrive,到账 + //create 创建, canceled 取消 , arrive,到账, apply_draw:买家申请提现,seller_agree_draw: 卖家同意提现,seller_reject_draw:卖家拒绝提现,draw_success:提现成功,draw_failed:提现失败 private String status; //取消时间 private Date gmtCanceled; @@ -94,6 +97,12 @@ private static final long serialVersionUID = 1L; private Date gmtArrive; //取消原因 private String canceledReason; + //拒绝原因 + private String rejectReason; + //拒绝时间 + private Date gmtReject; + //同意时间 + private Date gmtAgree; /** * * @return @@ -233,14 +242,14 @@ private static final long serialVersionUID = 1L; * 推广者id,唯一值 * @return */ - public String getPromoterId() { + public Long getPromoterId() { return promoterId; } /** * 推广者id,唯一值 * @param promoterId */ - public void setPromoterId(String promoterId) { + public void setPromoterId(Long promoterId) { this.promoterId = promoterId; } @@ -380,14 +389,14 @@ private static final long serialVersionUID = 1L; } /** - * create 创建, canceled 取消 , arrive,到账 + * create 创建, canceled 取消 , arrive,到账, apply_draw:买家申请提现,seller_agree_draw: 卖家同意提现,seller_reject_draw:卖家拒绝提现,draw_success:提现成功,draw_failed:提现失败 * @return */ public String getStatus() { return status; } /** - * create 创建, canceled 取消 , arrive,到账 + * create 创建, canceled 取消 , arrive,到账, apply_draw:买家申请提现,seller_agree_draw: 卖家同意提现,seller_reject_draw:卖家拒绝提现,draw_success:提现成功,draw_failed:提现失败 * @param status */ public void setStatus(String status) { @@ -454,6 +463,51 @@ private static final long serialVersionUID = 1L; this.canceledReason = canceledReason; } + /** + * 拒绝原因 + * @return + */ + public String getRejectReason() { + return rejectReason; + } + /** + * 拒绝原因 + * @param rejectReason + */ + public void setRejectReason(String rejectReason) { + this.rejectReason = rejectReason; + } + + /** + * 拒绝时间 + * @return + */ + public Date getGmtReject() { + return gmtReject; + } + /** + * 拒绝时间 + * @param gmtReject + */ + public void setGmtReject(Date gmtReject) { + this.gmtReject = gmtReject; + } + + /** + * 同意时间 + * @return + */ + public Date getGmtAgree() { + return gmtAgree; + } + /** + * 同意时间 + * @param gmtAgree + */ + public void setGmtAgree(Date gmtAgree) { + this.gmtAgree = gmtAgree; + } + @Override public String toString() { return "VvPromoterTradeOrderAwardEntity{" + @@ -481,6 +535,9 @@ private static final long serialVersionUID = 1L; ",gmtCreate=" + gmtCreate + ",gmtArrive=" + gmtArrive + ",canceledReason=" + canceledReason + + ",rejectReason=" + rejectReason + + ",gmtReject=" + gmtReject + + ",gmtAgree=" + gmtAgree + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPromoterTradeOrderLineAwardEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPromoterTradeOrderLineAwardEntity.java index 3e4e8b1..0d4c659 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPromoterTradeOrderLineAwardEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPromoterTradeOrderLineAwardEntity.java @@ -41,12 +41,15 @@ private static final long serialVersionUID = 1L; public final static String award_amount = CLASS_NAME + "award_amount"; // 奖励金额 public final static String trade_order_id = CLASS_NAME + "trade_order_id"; // 订单id public final static String trade_order_line_id = CLASS_NAME + "trade_order_line_id"; // 子订单id - public final static String status_ = CLASS_NAME + "status"; // create 创建, canceled 取消 , arrive,到账 + public final static String status_ = CLASS_NAME + "status"; // create 创建, canceled 取消 , arrive,到账, apply_draw:买家申请提现,seller_agree_draw: 卖家同意提现,seller_reject_draw:卖家拒绝提现,draw_success:提现成功,draw_failed:提现失败 public final static String promoter_trade_order_award_id = CLASS_NAME + "promoter_trade_order_award_id"; // 推荐id public final static String gmt_canceled = CLASS_NAME + "gmt_canceled"; // 取消时间 public final static String gmt_create = CLASS_NAME + "gmt_create"; // 创建时间 public final static String gmt_arrive = CLASS_NAME + "gmt_arrive"; // 到账时间 - public final static String canceled_reason = CLASS_NAME + "canceled_reason"; // + public final static String canceled_reason = CLASS_NAME + "canceled_reason"; // 取消原因 + public final static String reject_reason = CLASS_NAME + "reject_reason"; // 拒绝原因 + public final static String gmt_reject = CLASS_NAME + "gmt_reject"; // 拒绝时间 + public final static String gmt_agree = CLASS_NAME + "gmt_agree"; // 同意时间 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -65,7 +68,7 @@ private static final long serialVersionUID = 1L; //活动名称 private String activityName; //推广者id,唯一值 - private String promoterId; + private Long promoterId; // private Long promoterBuyerId; //买家名称 @@ -88,7 +91,7 @@ private static final long serialVersionUID = 1L; private Long tradeOrderId; //子订单id private Long tradeOrderLineId; - //create 创建, canceled 取消 , arrive,到账 + //create 创建, canceled 取消 , arrive,到账, apply_draw:买家申请提现,seller_agree_draw: 卖家同意提现,seller_reject_draw:卖家拒绝提现,draw_success:提现成功,draw_failed:提现失败 private String status; //推荐id private Long promoterTradeOrderAwardId; @@ -98,8 +101,14 @@ private static final long serialVersionUID = 1L; private Date gmtCreate; //到账时间 private Date gmtArrive; - // + //取消原因 private String canceledReason; + //拒绝原因 + private String rejectReason; + //拒绝时间 + private Date gmtReject; + //同意时间 + private Date gmtAgree; /** * * @return @@ -224,14 +233,14 @@ private static final long serialVersionUID = 1L; * 推广者id,唯一值 * @return */ - public String getPromoterId() { + public Long getPromoterId() { return promoterId; } /** * 推广者id,唯一值 * @param promoterId */ - public void setPromoterId(String promoterId) { + public void setPromoterId(Long promoterId) { this.promoterId = promoterId; } @@ -401,14 +410,14 @@ private static final long serialVersionUID = 1L; } /** - * create 创建, canceled 取消 , arrive,到账 + * create 创建, canceled 取消 , arrive,到账, apply_draw:买家申请提现,seller_agree_draw: 卖家同意提现,seller_reject_draw:卖家拒绝提现,draw_success:提现成功,draw_failed:提现失败 * @return */ public String getStatus() { return status; } /** - * create 创建, canceled 取消 , arrive,到账 + * create 创建, canceled 取消 , arrive,到账, apply_draw:买家申请提现,seller_agree_draw: 卖家同意提现,seller_reject_draw:卖家拒绝提现,draw_success:提现成功,draw_failed:提现失败 * @param status */ public void setStatus(String status) { @@ -476,20 +485,65 @@ private static final long serialVersionUID = 1L; } /** - * + * 取消原因 * @return */ public String getCanceledReason() { return canceledReason; } /** - * + * 取消原因 * @param canceledReason */ public void setCanceledReason(String canceledReason) { this.canceledReason = canceledReason; } + /** + * 拒绝原因 + * @return + */ + public String getRejectReason() { + return rejectReason; + } + /** + * 拒绝原因 + * @param rejectReason + */ + public void setRejectReason(String rejectReason) { + this.rejectReason = rejectReason; + } + + /** + * 拒绝时间 + * @return + */ + public Date getGmtReject() { + return gmtReject; + } + /** + * 拒绝时间 + * @param gmtReject + */ + public void setGmtReject(Date gmtReject) { + this.gmtReject = gmtReject; + } + + /** + * 同意时间 + * @return + */ + public Date getGmtAgree() { + return gmtAgree; + } + /** + * 同意时间 + * @param gmtAgree + */ + public void setGmtAgree(Date gmtAgree) { + this.gmtAgree = gmtAgree; + } + @Override public String toString() { return "VvPromoterTradeOrderLineAwardEntity{" + @@ -519,6 +573,9 @@ private static final long serialVersionUID = 1L; ",gmtCreate=" + gmtCreate + ",gmtArrive=" + gmtArrive + ",canceledReason=" + canceledReason + + ",rejectReason=" + rejectReason + + ",gmtReject=" + gmtReject + + ",gmtAgree=" + gmtAgree + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java index ee5e1fd..a678bf7 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java @@ -1,16 +1,16 @@ package com.heyu.api.data.entity.vv; + import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import com.lz.mybatis.plugin.annotations.AS; import java.math.BigDecimal; -import java.util.Date;import java.util.Date; +import java.util.Date; /** *购物车 * @author quyixiao -* @since 2025-11-20 +* @since 2025-11-22 */ @Data @@ -188,7 +188,7 @@ private static final long serialVersionUID = 1L; //渠道来源,如抖音,等 private String channel; //推广者id - private String promoterId; + private Long promoterId; //支付事务id private String transactionId; //支付方式,weixin @@ -935,14 +935,14 @@ private static final long serialVersionUID = 1L; * 推广者id * @return */ - public String getPromoterId() { + public Long getPromoterId() { return promoterId; } /** * 推广者id * @param promoterId */ - public void setPromoterId(String promoterId) { + public void setPromoterId(Long promoterId) { this.promoterId = promoterId; } diff --git a/api-mapper/src/main/java/com/heyu/api/data/enums/ActionEnums.java b/api-mapper/src/main/java/com/heyu/api/data/enums/ActionEnums.java index 7dac028..2ac2dc6 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/enums/ActionEnums.java +++ b/api-mapper/src/main/java/com/heyu/api/data/enums/ActionEnums.java @@ -70,6 +70,15 @@ public enum ActionEnums { Admin_Seller_Reject_Comment("Admin_Seller_Reject_Comment", "卖家拒绝评论", "/mm/comment/reject", OrderStatusEnums.delivered.getStatus()), + + App_Buyer_Apply_Draw("App_Buyer_Apply_Draw", "买家申请提现", "/app/apply/draw", + OrderStatusEnums.delivered.getStatus()), + + Admin_Seller_Agree_Draw("Admin_Seller_Agree_Draw", "卖家同意提现", "/mm/draw/agree", + AwardStatusEnums.draw_success.getStatus()), + + Admin_Seller_Reject_Draw("Admin_Seller_Reject_Draw", "卖家拒绝提现", "/mm/draw/reject", + AwardStatusEnums.draw_failed.getStatus()), ; /*** * 取消按钮 diff --git a/api-mapper/src/main/java/com/heyu/api/data/enums/AwardStatusEnums.java b/api-mapper/src/main/java/com/heyu/api/data/enums/AwardStatusEnums.java index 27504f5..e27f035 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/enums/AwardStatusEnums.java +++ b/api-mapper/src/main/java/com/heyu/api/data/enums/AwardStatusEnums.java @@ -9,8 +9,18 @@ public enum AwardStatusEnums { canceled("canceled", "取消"), - arrive("arrive", "到账"); + arrive("arrive", "到账"), + apply_draw("apply_draw", "买家申请提现"), + + seller_agree_draw("seller_agree_draw", "卖家同意提现"), + + seller_reject_draw("seller_reject_draw", "卖家拒绝提现"), + + draw_success("draw_success", "提现成功"), + + draw_failed("draw_failed", "提现失败"), + ; private String status; private String desc; diff --git a/api-mapper/src/main/java/com/heyu/api/data/enums/RoleEnums.java b/api-mapper/src/main/java/com/heyu/api/data/enums/RoleEnums.java index cbd593b..68f8e69 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/enums/RoleEnums.java +++ b/api-mapper/src/main/java/com/heyu/api/data/enums/RoleEnums.java @@ -7,6 +7,7 @@ public enum RoleEnums { admin("admin","后台"), job("job","定时任务"), kuaidi100_callback("kuaidi100_callback","快递100回调"), + metaq("metaq","metaq"), ; RoleEnums(String role, String desc) { diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractDrawAction.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractDrawAction.java new file mode 100644 index 0000000..54296d9 --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractDrawAction.java @@ -0,0 +1,58 @@ +package com.heyu.api.data.service.impl; + +import com.heyu.api.data.entity.vv.VvPromoterTradeOrderAwardEntity; +import com.heyu.api.data.enums.ActionEnums; +import com.heyu.api.data.kuaidi100.ActionDTO; +import com.heyu.api.data.service.impl.draw.AgreeDrawAction; +import com.heyu.api.data.service.impl.draw.ApplyDrawAction; +import com.heyu.api.data.service.impl.draw.RejectDrawAction; +import com.heyu.api.data.utils.CollectionUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public abstract class AbstractDrawAction { + + + public abstract ActionEnums getAction(VvPromoterTradeOrderAwardEntity vvTradeOrderLineEntity, boolean isApp); + + + public static final List actions = Arrays.asList( + new AgreeDrawAction(), + new ApplyDrawAction(), + new RejectDrawAction() + ); + + public static List getDrawActionDTO(VvPromoterTradeOrderAwardEntity vvPromoterTradeOrderAwardEntity, boolean isApp) { + List actionDTOS = new ArrayList<>(); + for (AbstractDrawAction action : actions) { + ActionEnums orderActionEnums = action.getAction(vvPromoterTradeOrderAwardEntity, isApp); + if (orderActionEnums != null) { + ActionDTO orderActionDTO = new ActionDTO(); + orderActionDTO.setDesc(orderActionEnums.getDesc()); + orderActionDTO.setButtonName(orderActionEnums.getButtonName()); + orderActionDTO.setInterfaceUri(orderActionEnums.getInterfaceUri()); + actionDTOS.add(orderActionDTO); + } + } + return actionDTOS; + } + + public static boolean checkFailed(VvPromoterTradeOrderAwardEntity vvTradeOrderLineEntity, boolean isApp, ActionEnums orderActionEnums) { + List orderActionDTOS = getDrawActionDTO(vvTradeOrderLineEntity, isApp); + if (CollectionUtils.isNotEmpty(orderActionDTOS)) { + for (ActionDTO orderActionDTO : orderActionDTOS) { + if (orderActionDTO.getButtonName().equals(orderActionEnums.getButtonName())) { + return false; + } + } + } + + + + return true; + } + + +} diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/AgreeDrawAction.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/AgreeDrawAction.java new file mode 100644 index 0000000..3d2ca28 --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/AgreeDrawAction.java @@ -0,0 +1,24 @@ +package com.heyu.api.data.service.impl.draw; + +import com.heyu.api.data.entity.vv.VvPromoterTradeOrderAwardEntity; +import com.heyu.api.data.enums.ActionEnums; +import com.heyu.api.data.enums.AwardStatusEnums; +import com.heyu.api.data.service.impl.AbstractDrawAction; + +public class AgreeDrawAction extends AbstractDrawAction { + + @Override + public ActionEnums getAction(VvPromoterTradeOrderAwardEntity vvTradeOrderLineEntity, boolean isApp) { + + if ( + AwardStatusEnums.arrive.getStatus().equals(vvTradeOrderLineEntity.getStatus()) || + AwardStatusEnums.apply_draw.getStatus().equals(vvTradeOrderLineEntity.getStatus()) + ) { + if (isApp) { + return ActionEnums.Admin_Seller_Agree_Draw; + } + } + + return null; + } +} diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/ApplyDrawAction.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/ApplyDrawAction.java new file mode 100644 index 0000000..0bd4f16 --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/ApplyDrawAction.java @@ -0,0 +1,22 @@ +package com.heyu.api.data.service.impl.draw; + +import com.heyu.api.data.entity.vv.VvPromoterTradeOrderAwardEntity; +import com.heyu.api.data.enums.ActionEnums; +import com.heyu.api.data.enums.AwardStatusEnums; + +public class ApplyDrawAction extends RejectDrawAction { + + @Override + public ActionEnums getAction(VvPromoterTradeOrderAwardEntity vvTradeOrderLineEntity, boolean isApp) { + + if ( + AwardStatusEnums.arrive.getStatus().equals(vvTradeOrderLineEntity.getStatus()) + ) { + if (isApp) { + return ActionEnums.App_Buyer_Apply_Draw; + } + } + + return null; + } +} diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/RejectDrawAction.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/RejectDrawAction.java new file mode 100644 index 0000000..ad81104 --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/draw/RejectDrawAction.java @@ -0,0 +1,23 @@ +package com.heyu.api.data.service.impl.draw; + +import com.heyu.api.data.entity.vv.VvPromoterTradeOrderAwardEntity; +import com.heyu.api.data.enums.ActionEnums; +import com.heyu.api.data.enums.AwardStatusEnums; +import com.heyu.api.data.service.impl.AbstractDrawAction; + +public class RejectDrawAction extends AbstractDrawAction { + + @Override + public ActionEnums getAction(VvPromoterTradeOrderAwardEntity vvPromoterTradeOrderAwardEntity, boolean isApp) { + + if ( + AwardStatusEnums.arrive.getStatus().equals(vvPromoterTradeOrderAwardEntity.getStatus()) + || AwardStatusEnums.apply_draw.getStatus().equals(vvPromoterTradeOrderAwardEntity.getStatus()) + ) { + if (isApp) { + return ActionEnums.Admin_Seller_Reject_Draw; + } + } + return null; + } +} diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvTradeOrderConvertServiceImpl.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvTradeOrderConvertServiceImpl.java index 3414688..04b78c3 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvTradeOrderConvertServiceImpl.java +++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvTradeOrderConvertServiceImpl.java @@ -52,7 +52,7 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic for (Map.Entry> vvTradeOrderLineTrackNumber : groupByTrackNumberMap.entrySet()) { List vvTradeOrderLineTrackNumberList = vvTradeOrderLineTrackNumber.getValue(); String trackNumber = vvTradeOrderLineTrackNumber.getKey(); - List vvTradeOrderLineDOList = SanUtils.convert2List(vvTradeOrderLineTrackNumberList,VvTradeOrderLineDO.class); + List vvTradeOrderLineDOList = SanUtils.copy2List(vvTradeOrderLineTrackNumberList,VvTradeOrderLineDO.class); List mergeTradeOrderLine = SanUtils.groupMerge2List( VvTradeOrderLineEntity::getSkuId, vvTradeOrderLineDOList, diff --git a/api-mapper/src/main/java/com/heyu/api/data/utils/SanUtils.java b/api-mapper/src/main/java/com/heyu/api/data/utils/SanUtils.java index b055d38..404757f 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/utils/SanUtils.java +++ b/api-mapper/src/main/java/com/heyu/api/data/utils/SanUtils.java @@ -77,7 +77,7 @@ public class SanUtils { } - public static List convert2List(List values, Class clazz) { + public static List copy2List(List values, Class clazz) { List list = new ArrayList<>(); if (CollectionUtils.isEmpty(values)) { return new ArrayList<>(); @@ -94,6 +94,24 @@ public class SanUtils { return list; } + public static List baseTypeConvert(List values, Class clazz) { + List list = new ArrayList<>(); + if (CollectionUtils.isEmpty(values)) { + return new ArrayList<>(); + } + try { + for (V value : values) { + list.add((R) parseBasicTypeWrapper(clazz, value)); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + return list; + } + + + + public static List list2FieldList(List values, LBiFunction0 function) { List list = new ArrayList<>(); try { @@ -112,7 +130,7 @@ public class SanUtils { return list; } - public static List field2Set2List(List values, LBiFunction0 function) { + public static List getDistinctFiledList(List values, LBiFunction0 function) { List list = new ArrayList<>(); List set = new ArrayList<>(); try { diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java index 9fd6312..90b58c9 100644 --- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java +++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java @@ -48,7 +48,9 @@ public class MysqlMain_update { } List list = new ArrayList(); - list.add(new TablesBean("vv_buyer")); + list.add(new TablesBean("vv_promoter_trade_order_award")); + list.add(new TablesBean("vv_promoter_trade_order_line_award")); + Map map = MysqlUtil2ShowCreateTable.getComments(); for (int i = 0; i < list.size(); i++) { diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvPromoterTradeOrderRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvPromoterTradeOrderRequest.java index 2736d92..e40e23f 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvPromoterTradeOrderRequest.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/VvPromoterTradeOrderRequest.java @@ -12,7 +12,23 @@ public class VvPromoterTradeOrderRequest extends VVAdminBaseRequest { //订单id private Long tradeOrderId; - //create 创建, canceled 取消 , arrive,到账 + //create 创建, canceled 取消 , arrive,到账 , + // create("create", "创建"), + // + // canceled("canceled", "取消"), + // + // arrive("arrive", "到账"), + // + // apply_draw("apply_draw", "买家申请提现"), + // + // seller_agree_draw("seller_agree_draw", "卖家同意提现"), + // + // seller_reject_draw("seller_reject_draw", "卖家拒绝提现"), + // + // draw_success("draw_success", "提现成功"), + // + // draw_failed("draw_failed", "提现失败"), + // create 创建, canceled 取消 , arrive,到账, apply_draw:买家申请提现,seller_agree_draw: 卖家同意提现,seller_reject_draw:卖家拒绝提现,draw_success:提现成功,draw_failed:提现失败 private String status; // private Long promoterBuyerId; diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/PromoterTradeOrderAwardDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/PromoterTradeOrderAwardDTO.java index 2f03cc4..40ef779 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/PromoterTradeOrderAwardDTO.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/PromoterTradeOrderAwardDTO.java @@ -2,6 +2,7 @@ package com.heyu.api.alibaba.request.mm.order; import com.heyu.api.data.entity.vv.VvPromoterTradeOrderAwardEntity; import com.heyu.api.data.entity.vv.VvPromoterTradeOrderLineAwardEntity; +import com.heyu.api.data.kuaidi100.ActionDTO; import lombok.Data; import java.util.List; @@ -16,4 +17,9 @@ public class PromoterTradeOrderAwardDTO extends VvPromoterTradeOrderAwardEntity private List vvPromoterTradeOrderLineAwardEntityList; + /*** + * 提现按钮 + */ + private List actionDTOList; + } diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvActivityDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvActivityDTO.java index 14c52d1..3f83bc3 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvActivityDTO.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvActivityDTO.java @@ -13,10 +13,6 @@ public class VvActivityDTO extends VvActivityEntity { /*** * 推广者id */ - private String promoterId; - - - - + private Long promoterId; } diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvPromoterBuyerDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvPromoterBuyerDTO.java new file mode 100644 index 0000000..d557d4d --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VvPromoterBuyerDTO.java @@ -0,0 +1,14 @@ +package com.heyu.api.alibaba.request.mm.order; + +import com.heyu.api.data.entity.vv.VvPromoterBuyerEntity; +import com.heyu.api.data.entity.vv.VvPromoterEntity; +import lombok.Data; + +@Data +public class VvPromoterBuyerDTO extends VvPromoterBuyerEntity { + + /*** + * + */ + private VvPromoterEntity vvPromoterEntity; +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvAdminAgreeDrawRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvAdminAgreeDrawRequest.java new file mode 100644 index 0000000..3c958e8 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvAdminAgreeDrawRequest.java @@ -0,0 +1,15 @@ +package com.heyu.api.alibaba.request.mm.order.resp; + +import com.heyu.api.alibaba.request.mm.AdminBaseDTO; +import lombok.Data; + +import java.util.List; + +@Data +public class VvAdminAgreeDrawRequest extends AdminBaseDTO { + + /*** + * 推广 + */ + private List promoterTradeOrderIdList; +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvAdminRejectDrawRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvAdminRejectDrawRequest.java new file mode 100644 index 0000000..04aee58 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvAdminRejectDrawRequest.java @@ -0,0 +1,22 @@ +package com.heyu.api.alibaba.request.mm.order.resp; + +import com.heyu.api.alibaba.request.mm.AdminBaseDTO; +import lombok.Data; + +import java.util.List; + +@Data +public class VvAdminRejectDrawRequest extends AdminBaseDTO { + + /*** + * 推广 + */ + private List promoterTradeOrderIdList; + + + /*** + * 原因 + */ + private String reason; + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminDrawCashRecordController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminDrawCashRecordController.java deleted file mode 100644 index df37d9f..0000000 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminDrawCashRecordController.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.heyu.api.controller.mm; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.heyu.api.alibaba.request.mm.VvDrawCashRecordAgreeRequest; -import com.heyu.api.alibaba.request.mm.VvDrawCashRecordRejectRequest; -import com.heyu.api.alibaba.request.mm.VvDrawCashRecordRequest; -import com.heyu.api.common.annotation.Describe; -import com.heyu.api.data.enums.ApprovalEnums; -import com.heyu.api.data.dao.vv.VvBuyerDao; -import com.heyu.api.data.dao.vv.VvDrawCashRecordDao; -import com.heyu.api.data.entity.vv.VvDrawCashRecordEntity; -import com.heyu.api.data.utils.R; -import com.heyu.api.data.utils.StringUtils; -import com.heyu.api.utils.ISelect; -import com.heyu.api.utils.PPageUtils; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - - -@Slf4j -@RestController -@RequestMapping("/mm/draw/cash") -public class AdminDrawCashRecordController { - - - @Autowired - private VvDrawCashRecordDao vvDrawCashRecordDao; - - @Autowired - private VvBuyerDao vvBuyerDao; - - //@Autowired - //private VvPromoterAwardLineDao vvPromoterAwardLineDao; - - /*** - * 奖励 列表 - * http://localhost:8888/mm/draw/cash/list - */ - @Describe("提现申请列表") - @RequestMapping("/list") - public R list(@RequestBody VvDrawCashRecordRequest request) { - PPageUtils pageUtils = PPageUtils.startPage(request.getPageNum(), request.getPageSize()) - .doSelect(new ISelect() { - @Override - public List doSelect(IPage page) { - return vvDrawCashRecordDao.selectByCondition(page, - request.getBuyerId(), - request.getBuyerName(), - request.getBuyerPhone(), - request.getBuyerWeixin(), - request.getStatus(), - request.getMinCreateTimestamp(), - request.getMaxCreateTimestamp(), - request.getCreateTimestampSort() - ); - } - }); - return R.ok().setData(pageUtils); - } - - - /*** - * 奖励 同意 - * http://localhost:8888/mm/activity/agree - */ - @Describe("同意提现") - @RequestMapping("/agree") - public R agree(@RequestBody VvDrawCashRecordAgreeRequest request) { - VvDrawCashRecordEntity vvDrawCashRecord = vvDrawCashRecordDao.selectVvDrawCashRecordById(request.getDrawCashRecordId()); - if (StringUtils.notEquals(vvDrawCashRecord.getStatus(), ApprovalEnums.apply.getStatus())) { - return R.error("状态不对"); - } - vvBuyerDao.updateVvBuyerApplyAmountDrawCashAmountById(vvDrawCashRecord.getDrawCashAmount(), - vvDrawCashRecord.getDrawCashAmount(), vvDrawCashRecord.getBuyerId()); - - return R.ok("提现成功"); - } - - /*** - * 奖励 拒绝 - * http://localhost:8888/mm/activity/agree - */ - @Describe("拒绝提现") - @RequestMapping("/reject") - public R reject(@RequestBody VvDrawCashRecordRejectRequest request) { - - VvDrawCashRecordEntity vvDrawCashRecord = vvDrawCashRecordDao.selectVvDrawCashRecordById(request.getDrawCashRecordId()); - if (StringUtils.notEquals(vvDrawCashRecord.getStatus(), ApprovalEnums.apply.getStatus())) { - return R.error("状态不对"); - } - - vvDrawCashRecord.setStatus(ApprovalEnums.reject.getStatus()); - vvDrawCashRecord.setRejectReason(request.getRejectReason()); - vvDrawCashRecordDao.updateVvDrawCashRecordById(vvDrawCashRecord); - - vvBuyerDao.updateVvBuyerDrawFailedById(vvDrawCashRecord.getDrawCashAmount(), - vvDrawCashRecord.getDrawCashAmount(), vvDrawCashRecord.getBuyerId()); - - return R.ok("拒绝成功"); - } - - -} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminDrawController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminDrawController.java new file mode 100644 index 0000000..a27c110 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminDrawController.java @@ -0,0 +1,82 @@ +package com.heyu.api.controller.mm; + + +import com.heyu.api.alibaba.request.mm.order.resp.VvAdminAgreeDrawRequest; +import com.heyu.api.alibaba.request.mm.order.resp.VvAdminRejectDrawRequest; +import com.heyu.api.common.annotation.Describe; +import com.heyu.api.data.dao.vv.VvBuyerDao; +import com.heyu.api.data.dao.vv.VvPromoterTradeOrderAwardDao; +import com.heyu.api.data.dao.vv.VvPromoterTradeOrderLineAwardDao; +import com.heyu.api.data.entity.vv.VvPromoterTradeOrderAwardEntity; +import com.heyu.api.data.entity.vv.VvPromoterTradeOrderLineAwardEntity; +import com.heyu.api.data.enums.AwardStatusEnums; +import com.heyu.api.data.utils.R; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; +import java.util.List; + +@Slf4j +@RestController +@RequestMapping("/mm/draw") +public class AdminDrawController { + + + @Autowired + private VvPromoterTradeOrderAwardDao vvPromoterTradeOrderAwardDao; + + + @Autowired + private VvBuyerDao vvBuyerDao; + + + @Autowired + private VvPromoterTradeOrderLineAwardDao vvPromoterTradeOrderLineAwardDao; + + + // http://localhost:8888/mm/draw/agree + @Describe("同意提现") + @RequestMapping("/agree") + public R agree(@RequestBody VvAdminAgreeDrawRequest request) { + + return R.ok(); + } + + + // http://localhost:8888/mm/draw/reject + @Describe("拒绝提现") + @RequestMapping("/reject") + public R reject(@RequestBody VvAdminRejectDrawRequest request) { + List + vvPromoterTradeOrderAwardEntityList = vvPromoterTradeOrderAwardDao.selectVvPromoterTradeOrderAwardByPromoterId(request.getPromoterTradeOrderIdList()); + + for (VvPromoterTradeOrderAwardEntity vvPromoterTradeOrderAwardEntity : vvPromoterTradeOrderAwardEntityList) { + vvPromoterTradeOrderAwardEntity.setStatus(AwardStatusEnums.seller_reject_draw.getStatus()); + vvPromoterTradeOrderAwardEntity.setRejectReason(request.getReason()); + vvPromoterTradeOrderAwardEntity.setGmtReject(new Date()); + + vvPromoterTradeOrderAwardDao.updateVvPromoterTradeOrderAwardById(vvPromoterTradeOrderAwardEntity); + + vvBuyerDao.updateVvBuyerByIdPromoterArriveAccountAmountPromoterNotArriveAmount( + vvPromoterTradeOrderAwardEntity.getAwardAmount() + , vvPromoterTradeOrderAwardEntity.getAwardAmount(), + vvPromoterTradeOrderAwardEntity.getPromoterBuyerId()); + } + + List vvPromoterTradeOrderLineAwardEntities = vvPromoterTradeOrderLineAwardDao + .selectVvPromoterTradeOrderLineAwardByPromoterIdList(request.getPromoterTradeOrderIdList()); + for (VvPromoterTradeOrderLineAwardEntity vvPromoterTradeOrderLineAwardEntity : vvPromoterTradeOrderLineAwardEntities) { + vvPromoterTradeOrderLineAwardEntity.setStatus(AwardStatusEnums.seller_reject_draw.getStatus()); + vvPromoterTradeOrderLineAwardEntity.setGmtReject(new Date()); + vvPromoterTradeOrderLineAwardEntity.setRejectReason(request.getReason()); + vvPromoterTradeOrderLineAwardDao.updateVvPromoterTradeOrderLineAwardById(vvPromoterTradeOrderLineAwardEntity); + } + return R.ok(); + } + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminLogisticsController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminLogisticsController.java index b6ee02b..504dff2 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminLogisticsController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminLogisticsController.java @@ -4,8 +4,6 @@ package com.heyu.api.controller.mm; import com.heyu.api.alibaba.request.mm.order.resp.VvAdminLogisticsCompanyRequest; import com.heyu.api.alibaba.request.mm.order.resp.VvAdminLogisticsRequest; import com.heyu.api.common.annotation.Describe; -import com.heyu.api.data.dao.vv.VvPackageDao; -import com.heyu.api.data.dao.vv.VvTradeOrderLineDao; import com.heyu.api.data.dto.vv.KuaiDi100DTO; import com.heyu.api.data.dto.vv.KuaiDi100VO; import com.heyu.api.data.enums.RoleEnums; @@ -25,12 +23,6 @@ import org.springframework.web.bind.annotation.RestController; public class AdminLogisticsController { - @Autowired - private VvPackageDao vvPackageDao; - - @Autowired - private VvTradeOrderLineDao vvTradeOrderLineDao; - @Autowired private VvPackageService vvPackageService; @@ -39,7 +31,6 @@ public class AdminLogisticsController { @RequestMapping("/query") public R query(@RequestBody VvAdminLogisticsRequest request) { KuaiDi100DTO kuaiDi100DTO = vvPackageService.selectVvKuaidiAndUpdateData(request.getTrackNumber(), RoleEnums.admin.getRole(), false); - KuaiDi100VO kuaiDi100VO = new KuaiDi100VO(); BeanUtils.copyProperties(kuaiDi100DTO, kuaiDi100VO); @@ -49,8 +40,6 @@ public class AdminLogisticsController { } - - // http://localhost:8888/mm/logistics/companyList @Describe("物流公司") @RequestMapping("/companyList") @@ -59,6 +48,4 @@ public class AdminLogisticsController { } - - } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminPromoterBuyerController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminPromoterBuyerController.java index d102013..cfe049c 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminPromoterBuyerController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminPromoterBuyerController.java @@ -4,9 +4,14 @@ package com.heyu.api.controller.mm; import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.alibaba.request.mm.VvPromoterBuyerRequest; +import com.heyu.api.alibaba.request.mm.order.VvPromoterBuyerDTO; import com.heyu.api.common.annotation.Describe; import com.heyu.api.data.dao.vv.VvPromoterBuyerDao; +import com.heyu.api.data.dao.vv.VvPromoterDao; +import com.heyu.api.data.entity.vv.VvPromoterBuyerEntity; +import com.heyu.api.data.entity.vv.VvPromoterEntity; import com.heyu.api.data.utils.R; +import com.heyu.api.data.utils.SanUtils; import com.heyu.api.utils.ISelect; import com.heyu.api.utils.PPageUtils; import lombok.extern.slf4j.Slf4j; @@ -15,7 +20,9 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; import java.util.List; +import java.util.Map; @Slf4j @RestController @@ -25,6 +32,10 @@ public class AdminPromoterBuyerController { @Autowired private VvPromoterBuyerDao vvPromoterBuyerDao; + + @Autowired + private VvPromoterDao vvPromoterDao; + /*** * 列表 * http://localhost:8888/mm/promoter/buyer/list @@ -48,6 +59,21 @@ public class AdminPromoterBuyerController { ); } }); + + + List vvPromoterBuyerEntities = pageUtils.getRows(); + + List promoterIdList = SanUtils.getFieldList(vvPromoterBuyerEntities, VvPromoterBuyerEntity::getPromoterId); + + List vvPromoterEntities = vvPromoterDao.selectVvPromoterByIdList(SanUtils.baseTypeConvert(promoterIdList, Long.class)); + Map vvPromoterEntityMap = SanUtils.groupByFiled2Map(vvPromoterEntities, VvPromoterEntity::getId); + List vvPromoterBuyerDTOList = new ArrayList<>(); + for (VvPromoterBuyerEntity vvPromoterBuyerEntity : vvPromoterBuyerEntities) { + VvPromoterBuyerDTO vvPromoterBuyerDTO = new VvPromoterBuyerDTO(); + vvPromoterBuyerDTO.setVvPromoterEntity(vvPromoterEntityMap.get(vvPromoterBuyerEntity.getPromoterId())); + + } + return R.ok().setData(pageUtils); } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminPromoterTradeOrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminPromoterTradeOrderController.java index 80f7d34..9deff1d 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminPromoterTradeOrderController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminPromoterTradeOrderController.java @@ -9,6 +9,8 @@ import com.heyu.api.data.dao.vv.VvPromoterTradeOrderAwardDao; import com.heyu.api.data.dao.vv.VvPromoterTradeOrderLineAwardDao; import com.heyu.api.data.entity.vv.VvPromoterTradeOrderAwardEntity; import com.heyu.api.data.entity.vv.VvPromoterTradeOrderLineAwardEntity; +import com.heyu.api.data.kuaidi100.ActionDTO; +import com.heyu.api.data.service.impl.AbstractDrawAction; import com.heyu.api.data.utils.R; import com.heyu.api.data.utils.SanUtils; import com.heyu.api.utils.ISelect; @@ -65,16 +67,19 @@ public class AdminPromoterTradeOrderController { }); List vvPromoterTradeOrderAwardEntities = pageUtils.getRows(); - List promoterIdList = SanUtils.list2FieldList(vvPromoterTradeOrderAwardEntities, VvPromoterTradeOrderAwardEntity::getPromoterId); + List promoterIdList = SanUtils.list2FieldList(vvPromoterTradeOrderAwardEntities, VvPromoterTradeOrderAwardEntity::getPromoterId); + List promoterTradeOrderLineAwardList = vvPromoterTradeOrderLineAwardDao.selectVvPromoterTradeOrderLineAwardByIdList(promoterIdList); - Map> promoterTradeOrderLineAwardMap = + Map> promoterTradeOrderLineAwardMap = SanUtils.groupByFiled2MapList(promoterTradeOrderLineAwardList, VvPromoterTradeOrderLineAwardEntity::getPromoterId); for (VvPromoterTradeOrderAwardEntity vvPromoterTradeOrderAwardEntity : vvPromoterTradeOrderAwardEntities) { PromoterTradeOrderAwardDTO promoterTradeOrderAwardDTO = new PromoterTradeOrderAwardDTO(); BeanUtils.copyProperties(vvPromoterTradeOrderAwardEntity, promoterTradeOrderAwardDTO); + List actionDTOS = AbstractDrawAction.getDrawActionDTO(vvPromoterTradeOrderAwardEntity, false); + promoterTradeOrderAwardDTO.setActionDTOList(actionDTOS); promoterTradeOrderAwardDTO.setVvPromoterTradeOrderLineAwardEntityList( promoterTradeOrderLineAwardMap.get(vvPromoterTradeOrderAwardEntity.getPromoterId())); diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminReverseController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminReverseController.java index 1466733..858dbae 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminReverseController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminReverseController.java @@ -201,7 +201,7 @@ public class AdminReverseController { List tradeOrderLineIds = SanUtils.list2FieldList(vvReverseOrderLineEntities, VvReverseOrderLineEntity::getTradeOrderLineId); List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(tradeOrderLineIds); - String promoterId = SanUtils.findAnyNotNull(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getPromoterId); + Long promoterId = SanUtils.findAnyNotNull(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getPromoterId); for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) { vvTradeOrderLineEntity.setReverseStatus(vvReverseOrderEntity.getStatus()); vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity); @@ -228,7 +228,7 @@ public class AdminReverseController { vvReverseOrderEntity.setGmtPreRefund(new Date()); vvReverseOrderEntity.setStatus(ReverseStatusEnums.weixin_refunding.getStatus()); vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity); - if (StringUtils.isNotEmpty(promoterId)) { + if (promoterId !=null) { List vvPromoterTradeOrderAwardEntities = vvPromoterTradeOrderAwardDao.selectVvPromoterTradeOrderAwardByPromoterId(promoterId); for (VvPromoterTradeOrderAwardEntity vvPromoterTradeOrderAwardEntity : vvPromoterTradeOrderAwardEntities) { vvPromoterTradeOrderAwardEntity.setStatus(AwardStatusEnums.canceled.getStatus()); diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java index 5009434..44cfaf2 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java @@ -183,7 +183,7 @@ public class AppOrderController { @RequestMapping("/detail") public R detail(@RequestBody AppTradeOrderDetailDTO vvOrderRequest) { List vvTradeOrderLineEntities = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(vvOrderRequest.getTradeOrderLineIdList()); - List trackNumbers = SanUtils.field2Set2List(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTrackNumber); + List trackNumbers = SanUtils.getDistinctFiledList(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTrackNumber); if (CollectionUtils.isNotEmpty(trackNumbers)) { for (String trackNumber : trackNumbers) { vvPackageService.selectVvKuaidiAndUpdateData(trackNumber, RoleEnums.user.getRole(), true); @@ -228,7 +228,7 @@ public class AppOrderController { Map skuEntityMap = SanUtils.groupByFiled2Map(vvSkuEntities, VvSkuEntity::getId); Map> vvSkuPropertyValueMap = SanUtils.groupByFiled2MapList(vvSkuPropertyValueList, VvSkuPropertyValueEntity::getSkuId); - List productIdList = SanUtils.field2Set2List(vvSkuEntities, VvSkuEntity::getProductId); + List productIdList = SanUtils.getDistinctFiledList(vvSkuEntities, VvSkuEntity::getProductId); List vvProductList = vvProductDao.selectVvProductByProductIds(productIdList); Map vvProductMap = SanUtils.groupByFiled2Map(vvProductList, VvProductEntity::getId); @@ -346,7 +346,9 @@ public class AppOrderController { // 如果在奖励金额 if (tradeOrderLineEntity.getAwardAmount().compareTo(BigDecimal.ZERO) > 0) { VvPromoterTradeOrderLineAwardEntity vvPromoterTradeOrderLineAwardEntity = new VvPromoterTradeOrderLineAwardEntity(); + vvPromoterTradeOrderLineAwardEntity.setPromoterId(tradeOrderLineEntity.getPromoterId()); + vvPromoterTradeOrderLineAwardEntity.setAwardAmount(vvActivityDTO.getAwardAmount()); vvPromoterTradeOrderLineAwardEntity.setTradeOrderId(vvTradeOrderEntity.getId()); vvPromoterTradeOrderLineAwardEntity.setTradeOrderLineId(tradeOrderLineEntity.getId()); @@ -362,7 +364,6 @@ public class AppOrderController { } List vvPromoterBuyerList = vvPromoterBuyerDao.selectVvPromoterBuyerByPromoterId(vvActivityDTO.getPromoterId()); - List promoterBuyerIdList = SanUtils.getFieldList(vvPromoterBuyerList, VvPromoterBuyerEntity::getPromoterBuyerId); List vvBuyerEntities = vvBuyerDao.selectVvBuyerByIdList(promoterBuyerIdList); diff --git a/api-web/api-interface/src/main/java/com/heyu/api/listener/delay/handler/DeliveredHandler.java b/api-web/api-interface/src/main/java/com/heyu/api/listener/delay/handler/DeliveredHandler.java index 0bfdd78..6d4ceab 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/listener/delay/handler/DeliveredHandler.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/listener/delay/handler/DeliveredHandler.java @@ -8,9 +8,11 @@ import com.heyu.api.data.entity.vv.VvPackageEntity; import com.heyu.api.data.entity.vv.VvPromoterTradeOrderAwardEntity; import com.heyu.api.data.entity.vv.VvPromoterTradeOrderLineAwardEntity; import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; +import com.heyu.api.data.enums.ActionEnums; import com.heyu.api.data.enums.AwardStatusEnums; import com.heyu.api.data.enums.OrderStatusEnums; import com.heyu.api.data.enums.RoleEnums; +import com.heyu.api.data.service.impl.AbstractOrderAction; import com.heyu.api.data.service.vv.VvTradeOrderConvertService; import com.heyu.api.data.utils.R; import com.heyu.api.data.utils.SanUtils; @@ -52,22 +54,23 @@ public class DeliveredHandler extends BaseDelayedHandler { public R handler(String message) { log.info("DeliveredHandler receive message:{}", message); PackageDelivedDelayDTO packageDelivedDelayDTO = JSONObject.parseObject(message, PackageDelivedDelayDTO.class); - // 更新包信息 VvPackageEntity vvPackage = vvPackageDao.selectVvPackageById(packageDelivedDelayDTO.getPackageId()); vvPackage.setIscheck("3"); - vvPackage.setGmtDelivered(new Date()); - vvPackage.setDeliveredBy(RoleEnums.system.getRole()); - vvPackageDao.updateVvPackageById(vvPackage); + vvPackage.setGmtDelivered(new Date()); + vvPackage.setDeliveredBy(RoleEnums.metaq.getRole()); + vvPackageDao.updateVvPackageById(vvPackage); // 更新子单信息 List vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(vvPackage.getTrackNumber()); for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) { - vvTradeOrderLineEntity.setDeliveredUser(RoleEnums.job.getRole()); + if (AbstractOrderAction.checkFailed(vvTradeOrderLineEntity, false, ActionEnums.Admin_Delivered)) { + return R.error("订单状态不是 Admin_Delivered 不对,status : {}",vvTradeOrderLineEntity.getStatus()); + } + vvTradeOrderLineEntity.setDeliveredUser(RoleEnums.metaq.getRole()); vvTradeOrderLineEntity.setGmtDelivered(new Date()); vvTradeOrderLineEntity.setStatus(OrderStatusEnums.delivered.getStatus()); vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity); - vvTradeOrderConvertService.addOrderLineStatusLog(vvTradeOrderLineEntity.getId(), OrderStatusEnums.delivered, -1L, @@ -75,13 +78,12 @@ public class DeliveredHandler extends BaseDelayedHandler { ); } - String promoterId = SanUtils.findAnyNotNull(vvTradeOrderLineEntityList,VvTradeOrderLineEntity::getPromoterId ); - if(StringUtils.isNotEmpty(promoterId)){ + Long promoterId = SanUtils.findAnyNotNull(vvTradeOrderLineEntityList,VvTradeOrderLineEntity::getPromoterId ); + if(promoterId !=null){ List vvPromoterTradeOrderAwardEntities = vvPromoterTradeOrderAwardDao.selectVvPromoterTradeOrderAwardByPromoterId(promoterId); for (VvPromoterTradeOrderAwardEntity vvPromoterTradeOrderAwardEntity : vvPromoterTradeOrderAwardEntities) { vvPromoterTradeOrderAwardEntity.setStatus(AwardStatusEnums.arrive.getStatus()); vvPromoterTradeOrderAwardDao.updateVvPromoterTradeOrderAwardById(vvPromoterTradeOrderAwardEntity); - vvBuyerDao.updateVvBuyerByIdPromoterArriveAccountAmountPromoterNotArriveAmount( vvPromoterTradeOrderAwardEntity.getAwardAmount() ,vvPromoterTradeOrderAwardEntity.getAwardAmount(), @@ -94,6 +96,9 @@ public class DeliveredHandler extends BaseDelayedHandler { vvPromoterTradeOrderLineAwardDao.updateVvPromoterTradeOrderLineAwardById(vvPromoterTradeOrderLineAwardEntity); } } + + + return R.ok(); } } diff --git a/api-web/api-interface/src/test/java/com/api/test/Test4.java b/api-web/api-interface/src/test/java/com/api/test/Test4.java index dee4cc6..e0188d5 100644 --- a/api-web/api-interface/src/test/java/com/api/test/Test4.java +++ b/api-web/api-interface/src/test/java/com/api/test/Test4.java @@ -66,7 +66,7 @@ public class Test4 { //System.out.println(JSON.toJSONString(vvTradeOrderLine)); - List vvTradeOrderLineDOList = SanUtils.convert2List(vvTradeOrderLineEntityList, VvTradeOrderLineDO.class); + List vvTradeOrderLineDOList = SanUtils.copy2List(vvTradeOrderLineEntityList, VvTradeOrderLineDO.class); Map vvTradeOrderLineMap = SanUtils.groupMerge2Map(VvTradeOrderLineEntity::getSkuId,