提交修改

This commit is contained in:
quyixiao 2025-11-09 16:19:30 +08:00
parent 204f9fe9e0
commit be57ed1f71
4 changed files with 403 additions and 181 deletions

View File

@ -30,16 +30,7 @@ private static final long serialVersionUID = 1L;
public final static String refund_amount = CLASS_NAME + "refund_amount"; // 退款金额
public final static String refund_trade_order_line_count = CLASS_NAME + "refund_trade_order_line_count"; // 退款子单笔数
public final static String refund_type = CLASS_NAME + "refund_type"; // 退款类型1 仅退款 2 退款退货
public final static String gmt_buyer_apply_refund = CLASS_NAME + "gmt_buyer_apply_refund"; // 买家申请退款时间
public final static String gmt_seller_agree_return = CLASS_NAME + "gmt_seller_agree_return"; // 卖家同意退款
public final static String gmt_buyer_post = CLASS_NAME + "gmt_buyer_post"; // 买家邮寄时间
public final static String gmt_delivered = CLASS_NAME + "gmt_delivered"; // 妥投时间
public final static String gmt_reject_delivered = CLASS_NAME + "gmt_reject_delivered"; // 拒绝妥投时间
public final static String gmt_agree_refunded = CLASS_NAME + "gmt_agree_refunded"; // 同意退款时间
public final static String gmt_refunded = CLASS_NAME + "gmt_refunded"; // 退款完成时间
public final static String gmt_close = CLASS_NAME + "gmt_close"; // 退款关闭时间
public final static String track_number = CLASS_NAME + "track_number"; // 物流追踪号
public final static String gmt_cancel = CLASS_NAME + "gmt_cancel"; // 订单取消时间
public final static String create_timestamp = CLASS_NAME + "create_timestamp"; // 创建时间撮
public final static String modify_timestamp = CLASS_NAME + "modify_timestamp"; // 修改时间撮
public final static String refund_count = CLASS_NAME + "refund_count"; // 退款子单数量
@ -52,6 +43,25 @@ private static final long serialVersionUID = 1L;
public final static String pre_refund_info = CLASS_NAME + "pre_refund_info"; // 提交退款返回的参数
public final static String gmt_pre_refund = CLASS_NAME + "gmt_pre_refund"; // 日期
public final static String gmt_refund_notify = CLASS_NAME + "gmt_refund_notify"; // 回调的时间
public final static String gmt_cancel = CLASS_NAME + "gmt_cancel"; // 订单取消时间
public final static String gmt_close = CLASS_NAME + "gmt_close"; // 退款关闭时间
public final static String gmt_refunded = CLASS_NAME + "gmt_refunded"; // 退款完成时间
public final static String gmt_agree_refund = CLASS_NAME + "gmt_agree_refund"; // 同意退款时间
public final static String gmt_reject_delivered = CLASS_NAME + "gmt_reject_delivered"; // 拒绝妥投时间
public final static String gmt_delivered = CLASS_NAME + "gmt_delivered"; // 妥投时间
public final static String gmt_buyer_post = CLASS_NAME + "gmt_buyer_post"; // 买家邮寄时间
public final static String gmt_seller_agree_return = CLASS_NAME + "gmt_seller_agree_return"; // 卖家同意退款
public final static String gmt_buyer_apply_refund = CLASS_NAME + "gmt_buyer_apply_refund"; // 买家申请退款时间
public final static String pre_refund_user = CLASS_NAME + "pre_refund_user"; // 提交给微信退款的卖家
public final static String cancel_user = CLASS_NAME + "cancel_user"; // 逆向订单取消的卖家
public final static String close_user = CLASS_NAME + "close_user"; // 逆向订单关闭的卖家
public final static String refunded_user = CLASS_NAME + "refunded_user"; // 退款完成的操作卖家
public final static String agree_refund_user = CLASS_NAME + "agree_refund_user"; // 同意退款的卖家
public final static String reject_delivered_user = CLASS_NAME + "reject_delivered_user"; // 拒绝妥投的买家
public final static String delivered_user = CLASS_NAME + "delivered_user"; // 同意妥投的买家
public final static String buyer_post_user = CLASS_NAME + "buyer_post_user"; // 邮寄的买家
public final static String seller_agree_return_user = CLASS_NAME + "seller_agree_return_user"; // 同意退货退款的卖家
public final static String buyer_apply_refund_user = CLASS_NAME + "buyer_apply_refund_user"; // 买家申请退款的买家
//
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@ -71,26 +81,8 @@ private static final long serialVersionUID = 1L;
private Integer refundTradeOrderLineCount;
//退款类型1 仅退款 2 退款退货
private Integer refundType;
//买家申请退款时间
private Date gmtBuyerApplyRefund;
//卖家同意退款
private Date gmtSellerAgreeReturn;
//买家邮寄时间
private Date gmtBuyerPost;
//妥投时间
private Date gmtDelivered;
//拒绝妥投时间
private Date gmtRejectDelivered;
//同意退款时间
private Date gmtAgreeRefunded;
//退款完成时间
private Date gmtRefunded;
//退款关闭时间
private Date gmtClose;
//物流追踪号
private String trackNumber;
//订单取消时间
private Date gmtCancel;
//创建时间撮
private Long createTimestamp;
//修改时间撮
@ -115,6 +107,44 @@ private static final long serialVersionUID = 1L;
private Date gmtPreRefund;
//回调的时间
private Date gmtRefundNotify;
//订单取消时间
private Date gmtCancel;
//退款关闭时间
private Date gmtClose;
//退款完成时间
private Date gmtRefunded;
//同意退款时间
private Date gmtAgreeRefund;
//拒绝妥投时间
private Date gmtRejectDelivered;
//妥投时间
private Date gmtDelivered;
//买家邮寄时间
private Date gmtBuyerPost;
//卖家同意退款
private Date gmtSellerAgreeReturn;
//买家申请退款时间
private Date gmtBuyerApplyRefund;
//提交给微信退款的卖家
private String preRefundUser;
//逆向订单取消的卖家
private String cancelUser;
//逆向订单关闭的卖家
private String closeUser;
//退款完成的操作卖家
private String refundedUser;
//同意退款的卖家
private String agreeRefundUser;
//拒绝妥投的买家
private String rejectDeliveredUser;
//同意妥投的买家
private String deliveredUser;
//邮寄的买家
private String buyerPostUser;
//同意退货退款的卖家
private String sellerAgreeReturnUser;
//买家申请退款的买家
private String buyerApplyRefundUser;
/**
*
* @return
@ -250,126 +280,6 @@ private static final long serialVersionUID = 1L;
this.refundType = refundType;
}
/**
* 买家申请退款时间
* @return
*/
public Date getGmtBuyerApplyRefund() {
return gmtBuyerApplyRefund;
}
/**
* 买家申请退款时间
* @param gmtBuyerApplyRefund
*/
public void setGmtBuyerApplyRefund(Date gmtBuyerApplyRefund) {
this.gmtBuyerApplyRefund = gmtBuyerApplyRefund;
}
/**
* 卖家同意退款
* @return
*/
public Date getGmtSellerAgreeReturn() {
return gmtSellerAgreeReturn;
}
/**
* 卖家同意退款
* @param gmtSellerAgreeReturn
*/
public void setGmtSellerAgreeReturn(Date gmtSellerAgreeReturn) {
this.gmtSellerAgreeReturn = gmtSellerAgreeReturn;
}
/**
* 买家邮寄时间
* @return
*/
public Date getGmtBuyerPost() {
return gmtBuyerPost;
}
/**
* 买家邮寄时间
* @param gmtBuyerPost
*/
public void setGmtBuyerPost(Date gmtBuyerPost) {
this.gmtBuyerPost = gmtBuyerPost;
}
/**
* 妥投时间
* @return
*/
public Date getGmtDelivered() {
return gmtDelivered;
}
/**
* 妥投时间
* @param gmtDelivered
*/
public void setGmtDelivered(Date gmtDelivered) {
this.gmtDelivered = gmtDelivered;
}
/**
* 拒绝妥投时间
* @return
*/
public Date getGmtRejectDelivered() {
return gmtRejectDelivered;
}
/**
* 拒绝妥投时间
* @param gmtRejectDelivered
*/
public void setGmtRejectDelivered(Date gmtRejectDelivered) {
this.gmtRejectDelivered = gmtRejectDelivered;
}
/**
* 同意退款时间
* @return
*/
public Date getGmtAgreeRefunded() {
return gmtAgreeRefunded;
}
/**
* 同意退款时间
* @param gmtAgreeRefunded
*/
public void setGmtAgreeRefunded(Date gmtAgreeRefunded) {
this.gmtAgreeRefunded = gmtAgreeRefunded;
}
/**
* 退款完成时间
* @return
*/
public Date getGmtRefunded() {
return gmtRefunded;
}
/**
* 退款完成时间
* @param gmtRefunded
*/
public void setGmtRefunded(Date gmtRefunded) {
this.gmtRefunded = gmtRefunded;
}
/**
* 退款关闭时间
* @return
*/
public Date getGmtClose() {
return gmtClose;
}
/**
* 退款关闭时间
* @param gmtClose
*/
public void setGmtClose(Date gmtClose) {
this.gmtClose = gmtClose;
}
/**
* 物流追踪号
* @return
@ -385,21 +295,6 @@ private static final long serialVersionUID = 1L;
this.trackNumber = trackNumber;
}
/**
* 订单取消时间
* @return
*/
public Date getGmtCancel() {
return gmtCancel;
}
/**
* 订单取消时间
* @param gmtCancel
*/
public void setGmtCancel(Date gmtCancel) {
this.gmtCancel = gmtCancel;
}
/**
* 创建时间撮
* @return
@ -580,6 +475,291 @@ private static final long serialVersionUID = 1L;
this.gmtRefundNotify = gmtRefundNotify;
}
/**
* 订单取消时间
* @return
*/
public Date getGmtCancel() {
return gmtCancel;
}
/**
* 订单取消时间
* @param gmtCancel
*/
public void setGmtCancel(Date gmtCancel) {
this.gmtCancel = gmtCancel;
}
/**
* 退款关闭时间
* @return
*/
public Date getGmtClose() {
return gmtClose;
}
/**
* 退款关闭时间
* @param gmtClose
*/
public void setGmtClose(Date gmtClose) {
this.gmtClose = gmtClose;
}
/**
* 退款完成时间
* @return
*/
public Date getGmtRefunded() {
return gmtRefunded;
}
/**
* 退款完成时间
* @param gmtRefunded
*/
public void setGmtRefunded(Date gmtRefunded) {
this.gmtRefunded = gmtRefunded;
}
/**
* 同意退款时间
* @return
*/
public Date getGmtAgreeRefund() {
return gmtAgreeRefund;
}
/**
* 同意退款时间
* @param gmtAgreeRefund
*/
public void setGmtAgreeRefund(Date gmtAgreeRefund) {
this.gmtAgreeRefund = gmtAgreeRefund;
}
/**
* 拒绝妥投时间
* @return
*/
public Date getGmtRejectDelivered() {
return gmtRejectDelivered;
}
/**
* 拒绝妥投时间
* @param gmtRejectDelivered
*/
public void setGmtRejectDelivered(Date gmtRejectDelivered) {
this.gmtRejectDelivered = gmtRejectDelivered;
}
/**
* 妥投时间
* @return
*/
public Date getGmtDelivered() {
return gmtDelivered;
}
/**
* 妥投时间
* @param gmtDelivered
*/
public void setGmtDelivered(Date gmtDelivered) {
this.gmtDelivered = gmtDelivered;
}
/**
* 买家邮寄时间
* @return
*/
public Date getGmtBuyerPost() {
return gmtBuyerPost;
}
/**
* 买家邮寄时间
* @param gmtBuyerPost
*/
public void setGmtBuyerPost(Date gmtBuyerPost) {
this.gmtBuyerPost = gmtBuyerPost;
}
/**
* 卖家同意退款
* @return
*/
public Date getGmtSellerAgreeReturn() {
return gmtSellerAgreeReturn;
}
/**
* 卖家同意退款
* @param gmtSellerAgreeReturn
*/
public void setGmtSellerAgreeReturn(Date gmtSellerAgreeReturn) {
this.gmtSellerAgreeReturn = gmtSellerAgreeReturn;
}
/**
* 买家申请退款时间
* @return
*/
public Date getGmtBuyerApplyRefund() {
return gmtBuyerApplyRefund;
}
/**
* 买家申请退款时间
* @param gmtBuyerApplyRefund
*/
public void setGmtBuyerApplyRefund(Date gmtBuyerApplyRefund) {
this.gmtBuyerApplyRefund = gmtBuyerApplyRefund;
}
/**
* 提交给微信退款的卖家
* @return
*/
public String getPreRefundUser() {
return preRefundUser;
}
/**
* 提交给微信退款的卖家
* @param preRefundUser
*/
public void setPreRefundUser(String preRefundUser) {
this.preRefundUser = preRefundUser;
}
/**
* 逆向订单取消的卖家
* @return
*/
public String getCancelUser() {
return cancelUser;
}
/**
* 逆向订单取消的卖家
* @param cancelUser
*/
public void setCancelUser(String cancelUser) {
this.cancelUser = cancelUser;
}
/**
* 逆向订单关闭的卖家
* @return
*/
public String getCloseUser() {
return closeUser;
}
/**
* 逆向订单关闭的卖家
* @param closeUser
*/
public void setCloseUser(String closeUser) {
this.closeUser = closeUser;
}
/**
* 退款完成的操作卖家
* @return
*/
public String getRefundedUser() {
return refundedUser;
}
/**
* 退款完成的操作卖家
* @param refundedUser
*/
public void setRefundedUser(String refundedUser) {
this.refundedUser = refundedUser;
}
/**
* 同意退款的卖家
* @return
*/
public String getAgreeRefundUser() {
return agreeRefundUser;
}
/**
* 同意退款的卖家
* @param agreeRefundUser
*/
public void setAgreeRefundUser(String agreeRefundUser) {
this.agreeRefundUser = agreeRefundUser;
}
/**
* 拒绝妥投的买家
* @return
*/
public String getRejectDeliveredUser() {
return rejectDeliveredUser;
}
/**
* 拒绝妥投的买家
* @param rejectDeliveredUser
*/
public void setRejectDeliveredUser(String rejectDeliveredUser) {
this.rejectDeliveredUser = rejectDeliveredUser;
}
/**
* 同意妥投的买家
* @return
*/
public String getDeliveredUser() {
return deliveredUser;
}
/**
* 同意妥投的买家
* @param deliveredUser
*/
public void setDeliveredUser(String deliveredUser) {
this.deliveredUser = deliveredUser;
}
/**
* 邮寄的买家
* @return
*/
public String getBuyerPostUser() {
return buyerPostUser;
}
/**
* 邮寄的买家
* @param buyerPostUser
*/
public void setBuyerPostUser(String buyerPostUser) {
this.buyerPostUser = buyerPostUser;
}
/**
* 同意退货退款的卖家
* @return
*/
public String getSellerAgreeReturnUser() {
return sellerAgreeReturnUser;
}
/**
* 同意退货退款的卖家
* @param sellerAgreeReturnUser
*/
public void setSellerAgreeReturnUser(String sellerAgreeReturnUser) {
this.sellerAgreeReturnUser = sellerAgreeReturnUser;
}
/**
* 买家申请退款的买家
* @return
*/
public String getBuyerApplyRefundUser() {
return buyerApplyRefundUser;
}
/**
* 买家申请退款的买家
* @param buyerApplyRefundUser
*/
public void setBuyerApplyRefundUser(String buyerApplyRefundUser) {
this.buyerApplyRefundUser = buyerApplyRefundUser;
}
@Override
public String toString() {
return "VvReverseOrderEntity{" +
@ -592,16 +772,7 @@ private static final long serialVersionUID = 1L;
",refundAmount=" + refundAmount +
",refundTradeOrderLineCount=" + refundTradeOrderLineCount +
",refundType=" + refundType +
",gmtBuyerApplyRefund=" + gmtBuyerApplyRefund +
",gmtSellerAgreeReturn=" + gmtSellerAgreeReturn +
",gmtBuyerPost=" + gmtBuyerPost +
",gmtDelivered=" + gmtDelivered +
",gmtRejectDelivered=" + gmtRejectDelivered +
",gmtAgreeRefunded=" + gmtAgreeRefunded +
",gmtRefunded=" + gmtRefunded +
",gmtClose=" + gmtClose +
",trackNumber=" + trackNumber +
",gmtCancel=" + gmtCancel +
",createTimestamp=" + createTimestamp +
",modifyTimestamp=" + modifyTimestamp +
",refundCount=" + refundCount +
@ -614,6 +785,25 @@ private static final long serialVersionUID = 1L;
",preRefundInfo=" + preRefundInfo +
",gmtPreRefund=" + gmtPreRefund +
",gmtRefundNotify=" + gmtRefundNotify +
",gmtCancel=" + gmtCancel +
",gmtClose=" + gmtClose +
",gmtRefunded=" + gmtRefunded +
",gmtAgreeRefund=" + gmtAgreeRefund +
",gmtRejectDelivered=" + gmtRejectDelivered +
",gmtDelivered=" + gmtDelivered +
",gmtBuyerPost=" + gmtBuyerPost +
",gmtSellerAgreeReturn=" + gmtSellerAgreeReturn +
",gmtBuyerApplyRefund=" + gmtBuyerApplyRefund +
",preRefundUser=" + preRefundUser +
",cancelUser=" + cancelUser +
",closeUser=" + closeUser +
",refundedUser=" + refundedUser +
",agreeRefundUser=" + agreeRefundUser +
",rejectDeliveredUser=" + rejectDeliveredUser +
",deliveredUser=" + deliveredUser +
",buyerPostUser=" + buyerPostUser +
",sellerAgreeReturnUser=" + sellerAgreeReturnUser +
",buyerApplyRefundUser=" + buyerApplyRefundUser +
"}";
}
}

View File

@ -53,4 +53,8 @@ public enum ReverseStatusEnums {
public void setDesc(String desc) {
this.desc = desc;
}
}

View File

@ -1,10 +1,11 @@
package com.heyu.api.alibaba.request.mm.reverse;
import com.heyu.api.alibaba.request.mm.AdminBaseDTO;
import lombok.Data;
@Data
public class VvApproveRequest {
public class VvApproveRequest extends AdminBaseDTO {
/***

View File

@ -1,6 +1,7 @@
package com.heyu.api.controller.mm;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.alibaba.request.mm.enums.ReverseStatusEnums;
import com.heyu.api.alibaba.request.mm.reverse.VvApproveRequest;
@ -13,6 +14,9 @@ import com.heyu.api.data.entity.vv.VvReverseOrderProveEntity;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.utils.R;
import com.heyu.api.data.utils.SanUtils;
import com.heyu.api.jsapi.JsapiPrepay;
import com.heyu.api.jsapi.dto.refund.Refund;
import com.heyu.api.service.ReverseOrderService;
import com.heyu.api.utils.ISelect;
import com.heyu.api.utils.PPageUtils;
import lombok.extern.slf4j.Slf4j;
@ -48,6 +52,12 @@ public class AdminReverseController {
@Autowired
private VvTradeOrderLineDao vvTradeOrderLineDao;
@Autowired
private ReverseOrderService reverseOrderService;
@Autowired
private JsapiPrepay jsapiPrepay;
/***
* 逆向列表
@ -111,42 +121,59 @@ public class AdminReverseController {
@RequestMapping("/approve")
public R approve(@RequestBody VvApproveRequest vvApproveRequest) {
VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(vvApproveRequest.getReverseOrderId());
if (ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(vvApproveRequest.getStatus())) {
if (ReverseStatusEnums.buyer_apply_reverse_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())) {
if (!ReverseStatusEnums.buyer_apply_reverse_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 seller_agree_return_wait_buyer_post");
}
vvReverseOrderEntity.setGmtSellerAgreeReturn(new Date());
vvReverseOrderEntity.setSellerAgreeReturnUser(vvApproveRequest.getUserName());
} else if (ReverseStatusEnums.delivered.getStatus().equals(vvApproveRequest.getStatus())) {
if (ReverseStatusEnums.shipping.getStatus().equals(vvReverseOrderEntity.getStatus())) {
if (!ReverseStatusEnums.shipping.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 shipping");
}
vvReverseOrderEntity.setGmtDelivered(new Date());
} else if (ReverseStatusEnums.reject_delivered.getStatus().equals(vvApproveRequest.getStatus())) {
vvReverseOrderEntity.setDeliveredUser(vvApproveRequest.getUserName());
} else if (!ReverseStatusEnums.reject_delivered.getStatus().equals(vvApproveRequest.getStatus())) {
if (ReverseStatusEnums.shipping.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 shipping");
}
vvReverseOrderEntity.setGmtRejectDelivered(new Date());
} else if (ReverseStatusEnums.agree_refunded.getStatus().equals(vvApproveRequest.getStatus())) {
vvReverseOrderEntity.setDeliveredUser(vvApproveRequest.getUserName());
} else if (!ReverseStatusEnums.agree_refunded.getStatus().equals(vvApproveRequest.getStatus())) {
if (ReverseStatusEnums.delivered.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 delivered");
}
vvReverseOrderEntity.setGmtAgreeRefunded(new Date());
vvReverseOrderEntity.setGmtAgreeRefund(new Date());
vvReverseOrderEntity.setDeliveredUser(vvApproveRequest.getUserName());
} else if (ReverseStatusEnums.close.getStatus().equals(vvApproveRequest.getStatus())) {
if (!ReverseStatusEnums.buyer_apply_reverse_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 buyer_apply_reverse_wait_seller_agree");
}
vvReverseOrderEntity.setGmtClose(new Date());
vvReverseOrderEntity.setDeliveredUser(vvApproveRequest.getUserName());
}
vvReverseOrderEntity.setStatus(vvApproveRequest.getStatus());
vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity);
List<VvReverseOrderLineEntity> vvReverseOrderLineEntities = vvReverseOrderLineDao.selectVvReverseOrderLineByReverseOrderId(vvApproveRequest.getReverseOrderId());
List<Long> tradeOrderLineIds = SanUtils.list2list(vvReverseOrderLineEntities, VvReverseOrderLineEntity::getTradeOrderLineId);
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(tradeOrderLineIds);
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
vvTradeOrderLineEntity.setReverseStatus(vvReverseOrderEntity.getStatus());
vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity);
}
if(ReverseStatusEnums.agree_refunded.getStatus().equals(vvApproveRequest.getStatus())){
Refund refund = jsapiPrepay.refund(vvReverseOrderEntity.getTradeOrderId(), vvReverseOrderEntity.getId());
log.info("AdminReverseController reverseOrderEntity id:{} refund:{}",vvReverseOrderEntity.getId(), JSON.toJSONString(refund));
vvReverseOrderEntity.setWeixinFundsAccount(JSON.toJSONString(refund.getFundsAccount()));
vvReverseOrderEntity.setWeixinStatus(JSON.toJSONString(refund.getStatus()));
vvReverseOrderEntity.setWeixinRefundId(refund.getRefundId());
vvReverseOrderEntity.setWeixinTransactionId(refund.getTransactionId());
vvReverseOrderEntity.setUserEceivedAccount(refund.getUserReceivedAccount());
vvReverseOrderEntity.setPreRefundInfo(JSON.toJSONString(refund));
vvReverseOrderEntity.setGmtPreRefund(new Date());
vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity);
}
return R.ok();
}