diff --git a/dal/src/main/java/com/yohoufo/dal/order/EntrySellerRechargeOrderMapper.java b/dal/src/main/java/com/yohoufo/dal/order/EntrySellerRechargeOrderMapper.java
index 661f909..7b765b5 100644
--- a/dal/src/main/java/com/yohoufo/dal/order/EntrySellerRechargeOrderMapper.java
+++ b/dal/src/main/java/com/yohoufo/dal/order/EntrySellerRechargeOrderMapper.java
@@ -3,6 +3,7 @@ package com.yohoufo.dal.order;
 import com.yohoufo.dal.order.model.EntrySellerRechargeOrder;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 public interface EntrySellerRechargeOrderMapper {
@@ -26,6 +27,8 @@ public interface EntrySellerRechargeOrderMapper {
 
 	void updateByOrderCode(EntrySellerRechargeOrder order);
 
+    int updateReturnDepositByOrderCode(@Param("orderCode") long orderCode, @Param("amount") BigDecimal amount, @Param("status") Integer status, @Param("updateTime") Integer updateTime);
+
 	EntrySellerRechargeOrder selectByOrderCodeUid(long orderCode, int uid);
 
 	EntrySellerRechargeOrder selectByOrderCode(long orderCode);
diff --git a/dal/src/main/java/com/yohoufo/dal/user/IStoredSellerDao.java b/dal/src/main/java/com/yohoufo/dal/user/IStoredSellerDao.java
index 7736fca..482fca1 100644
--- a/dal/src/main/java/com/yohoufo/dal/user/IStoredSellerDao.java
+++ b/dal/src/main/java/com/yohoufo/dal/user/IStoredSellerDao.java
@@ -9,10 +9,10 @@ public interface IStoredSellerDao {
 
     int insert(StoredSeller storedSeller);
 
-    int updateStatusByPrimaryKey(@Param("id")int id,@Param("validStatus") int validStatus ,@Param("expectStatus") int expectStatus);
+    int updateStatusByUid(@Param("uid")int uid,@Param("validStatus") int validStatus ,@Param("expectStatus") int expectStatus,@Param("updateTime") long updateTime);
 
-    int updateToQuitByPrimaryKey(@Param("id")int id,@Param("validStatus") int validStatus ,@Param("expectStatus") int expectStatus
+    /*int updateToQuitByPrimaryKey(@Param("id")int id,@Param("validStatus") int validStatus ,@Param("expectStatus") int expectStatus
             ,@Param("operatorUid") int operatorUid,@Param("operatorName") String operatorName
-            ,@Param("quitTime") long quitTime,@Param("updateTime") long updateTime);
+            ,@Param("quitTime") long quitTime,@Param("updateTime") long updateTime);*/
 
 }
diff --git a/dal/src/main/resources/META-INF/mybatis/order/EntrySellerRechargeOrderMapper.xml b/dal/src/main/resources/META-INF/mybatis/order/EntrySellerRechargeOrderMapper.xml
index 506ecbe..1954b2e 100644
--- a/dal/src/main/resources/META-INF/mybatis/order/EntrySellerRechargeOrderMapper.xml
+++ b/dal/src/main/resources/META-INF/mybatis/order/EntrySellerRechargeOrderMapper.xml
@@ -139,7 +139,7 @@
     where id = #{id,jdbcType=INTEGER}
   </update>
 
-  <update id="updateByOrderCode" parameterType="com.yohoufo.dal.order.model.BuyerOrder">
+  <update id="updateByOrderCode" parameterType="com.yohoufo.dal.order.model.EntrySellerRechargeOrder">
     update entry_seller_recharge_order
 	    set
 	    <if test="status != null">
@@ -152,6 +152,15 @@
     where order_code = #{orderCode,jdbcType=BIGINT}
   </update>
 
+  <update id="updateReturnDepositByOrderCode">
+    update entry_seller_recharge_order
+    set
+    status = #{status,jdbcType=INTEGER},
+    amount = #{amount,jdbcType=DECIMAL},
+    update_time = #{updateTime,jdbcType=INTEGER}
+    where order_code = #{orderCode}
+  </update>
+
   <select id="selectByOrderCodeUid" resultMap="BaseResultMap">
     select
     <include refid="Base_Column_List" />
diff --git a/dal/src/main/resources/META-INF/mybatis/users/IStoredSellerDao.xml b/dal/src/main/resources/META-INF/mybatis/users/IStoredSellerDao.xml
index 7b040a3..271e0a9 100644
--- a/dal/src/main/resources/META-INF/mybatis/users/IStoredSellerDao.xml
+++ b/dal/src/main/resources/META-INF/mybatis/users/IStoredSellerDao.xml
@@ -35,17 +35,17 @@
     #{createTime},#{updateTime})
   </insert>
 
-  <update id="updateStatusByPrimaryKey">
+  <update id="updateStatusByUid">
     update stored_seller
-    set valid_status = #{validStatus}
-    where id = #{id} and valid_status = #{expectStatus}
+    set valid_status = #{validStatus},update_time = #{updateTime}
+    where uid = #{uid} and valid_status = #{expectStatus}
   </update>
 
-  <update id="updateToQuitByPrimaryKey">
+ <!-- <update id="updateToQuitByPrimaryKey">
     update stored_seller
     set valid_status = #{validStatus},operator_uid = #{operatorUid},operator_name=#{operatorName},
     quit_time = #{quitTime} ,update_time = #{updateTime}
     where id = #{id} and valid_status = #{expectStatus}
-  </update>
+  </update>-->
 
 </mapper>
\ No newline at end of file
diff --git a/order/src/main/java/com/yohoufo/order/controller/SellerOrderController.java b/order/src/main/java/com/yohoufo/order/controller/SellerOrderController.java
index d2f53e0..8f03157 100644
--- a/order/src/main/java/com/yohoufo/order/controller/SellerOrderController.java
+++ b/order/src/main/java/com/yohoufo/order/controller/SellerOrderController.java
@@ -36,29 +36,6 @@ public class SellerOrderController {
     private SellerOrderComputeHandler sellerOrderComputeHandler;
 
 
-    /**
-     * 获取商家未完成的订单数量
-     * @param uid
-     */
-    @RequestMapping(params = "method=ufo.sellerOrder.getUnfinishedOrderBySellerUid")
-    @ResponseBody
-    public ApiResponse getUnfinishedOrderBySellerUid(@RequestParam(name = "uid")Integer uid){
-        logger.info("in ufo.sellerOrder.getUnfinishedOrderBySellerUid, uid {}", uid);
-        int total=sellerOrderService.getUnfinishedOrderBySellerUid(uid);
-        return new ApiResponse.ApiResponseBuilder().code(200).data(total).build();
-    }
-
-    /**
-     * 获取商家出售中的商品数量
-     * @param uid
-     */
-    @RequestMapping(params = "method=ufo.sellerOrder.getCanSellSkupBySellerUid")
-    @ResponseBody
-    public ApiResponse getCanSellSkupBySellerUid(@RequestParam(name = "uid")Integer uid){
-        logger.info("in ufo.sellerOrder.getUnfinishedOrderBySellerUid, uid {}", uid);
-        int total=sellerOrderService.getCanSellSkupBySellerUid(uid);
-        return new ApiResponse.ApiResponseBuilder().code(200).data(total).build();
-    }
 
     /**
      * 根据卖家提交价格来计算各项费用
diff --git a/order/src/main/java/com/yohoufo/order/controller/StoredSellerDepositController.java b/order/src/main/java/com/yohoufo/order/controller/StoredSellerDepositController.java
index b33bfcb..ea91d5a 100644
--- a/order/src/main/java/com/yohoufo/order/controller/StoredSellerDepositController.java
+++ b/order/src/main/java/com/yohoufo/order/controller/StoredSellerDepositController.java
@@ -1,6 +1,7 @@
 package com.yohoufo.order.controller;
 
 import com.yohoufo.common.ApiResponse;
+import com.yohoufo.common.exception.GatewayException;
 import com.yohoufo.order.model.request.ShoppingRequest;
 import com.yohoufo.order.model.response.OrderSubmitResponse;
 import com.yohoufo.order.service.IStoredSellerDepositService;
@@ -9,6 +10,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 /**
@@ -48,4 +50,19 @@ public class StoredSellerDepositController {
         return new ApiResponse.ApiResponseBuilder().data(null).code(200).message("保证金充值订单生成,请支付").build();
     }
 
+    /**
+     * 商户退驻
+     */
+    @RequestMapping(params = "method=ufo.sellerOrder.quitStoredSeller")
+    public ApiResponse quitStoredSeller(@RequestParam("uid") Integer uid)   throws GatewayException {
+        logger.info("enter StoredSellerController quitStoredSeller param uid is {}", uid);
+        //(1) 优先校验请求的参数
+        if (uid == null || uid <=0 ){
+            throw new GatewayException(400, "参数错误,uid不存在!");
+        }
+
+        storedSellerDepositService.quitStoredSellerAndReturnDeposit(uid);
+        return new ApiResponse();
+    }
+
 }
diff --git a/order/src/main/java/com/yohoufo/order/service/IStoredSellerDepositService.java b/order/src/main/java/com/yohoufo/order/service/IStoredSellerDepositService.java
index 1bfdd12..360f356 100644
--- a/order/src/main/java/com/yohoufo/order/service/IStoredSellerDepositService.java
+++ b/order/src/main/java/com/yohoufo/order/service/IStoredSellerDepositService.java
@@ -8,4 +8,6 @@ public interface IStoredSellerDepositService {
     OrderSubmitResponse depositPreStore(ShoppingRequest shoppingRequest);
 
     OrderSubmitResponse depositRecharge(ShoppingRequest shoppingRequest);
+
+    void quitStoredSellerAndReturnDeposit(Integer uid);
 }
diff --git a/order/src/main/java/com/yohoufo/order/service/MerchantOrderPaymentService.java b/order/src/main/java/com/yohoufo/order/service/MerchantOrderPaymentService.java
index adb834e..a9d826e 100644
--- a/order/src/main/java/com/yohoufo/order/service/MerchantOrderPaymentService.java
+++ b/order/src/main/java/com/yohoufo/order/service/MerchantOrderPaymentService.java
@@ -1,15 +1,5 @@
 package com.yohoufo.order.service;
 
-import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
 import com.alibaba.fastjson.JSONObject;
 import com.yoho.core.common.utils.DateUtil;
 import com.yoho.error.ServiceError;
@@ -22,22 +12,23 @@ import com.yohobuy.ufo.model.order.common.TabType;
 import com.yohoufo.common.alarm.CommonAlarmEventPublisher;
 import com.yohoufo.common.caller.UfoServiceCaller;
 import com.yohoufo.common.utils.TimeUtils;
-import com.yohoufo.dal.order.EntrySellerRechargeOrderMapper;
-import com.yohoufo.dal.order.OrdersPayMapper;
-import com.yohoufo.dal.order.OrdersPayRefundMapper;
-import com.yohoufo.dal.order.SellerWalletDetailMapper;
-import com.yohoufo.dal.order.SellerWalletMapper;
-import com.yohoufo.dal.order.model.EntrySellerRechargeOrder;
-import com.yohoufo.dal.order.model.OrdersPay;
-import com.yohoufo.dal.order.model.OrdersPayRefund;
-import com.yohoufo.dal.order.model.SellerWallet;
-import com.yohoufo.dal.order.model.SellerWalletDetail;
+import com.yohoufo.dal.order.*;
+import com.yohoufo.dal.order.model.*;
 import com.yohoufo.order.common.Payment;
 import com.yohoufo.order.model.request.PaymentRequest;
 import com.yohoufo.order.model.response.PrepayResponse;
 import com.yohoufo.order.service.cache.CacheCleaner;
 import com.yohoufo.order.service.cache.CacheKeyBuilder;
 import com.yohoufo.order.service.impl.PaymentServiceImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
 
 @Service
 public class MerchantOrderPaymentService extends AbstractOrderPaymentService {
@@ -341,8 +332,12 @@ public class MerchantOrderPaymentService extends AbstractOrderPaymentService {
     }
     
     // 商家退出入驻,钱包清空+转账
-    public boolean returnAllEarnest(Integer uid, long orderCode, String alipayAccount) {
-    	BigDecimal money = returnEarnest(uid, orderCode);
+	public BigDecimal getReturnMoney(Integer uid, long orderCode){
+		BigDecimal money = returnEarnest(uid, orderCode);
+		return money;
+	}
+
+    public boolean returnAllEarnest(Integer uid, long orderCode,BigDecimal money, String alipayAccount) {
 		if (money == null) {
 			return false;
 		}
diff --git a/order/src/main/java/com/yohoufo/order/service/impl/StoredSellerDepositServiceImpl.java b/order/src/main/java/com/yohoufo/order/service/impl/StoredSellerDepositServiceImpl.java
index 9140658..8937d0e 100644
--- a/order/src/main/java/com/yohoufo/order/service/impl/StoredSellerDepositServiceImpl.java
+++ b/order/src/main/java/com/yohoufo/order/service/impl/StoredSellerDepositServiceImpl.java
@@ -4,16 +4,21 @@ import com.alibaba.fastjson.JSON;
 import com.yoho.error.ServiceError;
 import com.yoho.error.exception.ServiceException;
 import com.yoho.tools.common.beans.ApiResponse;
+import com.yohobuy.ufo.model.enums.StoredSellerStatusEnum;
 import com.yohobuy.ufo.model.order.common.EntrySellerDepositType;
 import com.yohobuy.ufo.model.order.common.OrderCodeType;
 import com.yohobuy.ufo.model.order.constants.OrderConstant;
+import com.yohobuy.ufo.model.user.resp.AuthorizeResultRespVO;
 import com.yohoufo.common.caller.UfoServiceCaller;
 import com.yohoufo.dal.order.EntrySellerRechargeOrderMapper;
 import com.yohoufo.dal.order.model.EntrySellerRechargeOrder;
+import com.yohoufo.order.common.Payment;
 import com.yohoufo.order.model.request.ShoppingRequest;
 import com.yohoufo.order.model.response.OrderSubmitResponse;
 import com.yohoufo.order.service.IStoredSellerDepositService;
+import com.yohoufo.order.service.MerchantOrderPaymentService;
 import com.yohoufo.order.service.support.codegenerator.OrderCodeGenerator;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +45,12 @@ public class StoredSellerDepositServiceImpl implements IStoredSellerDepositServi
     @Autowired
     EntrySellerRechargeOrderMapper entrySellerRechargeOrderMapper;
 
+    @Autowired
+    SellerOrderService sellerOrderService;
+
+    @Autowired
+    MerchantOrderPaymentService merchantOrderPaymentService;
+
     /**
      * 充值保证金
      */
@@ -140,6 +151,114 @@ public class StoredSellerDepositServiceImpl implements IStoredSellerDepositServi
 
     }
 
+    /**
+     * 退出入驻
+     * @param uid
+     */
+    @Override
+    public void quitStoredSellerAndReturnDeposit(Integer uid){
+        logger.info("StoredSellerServiceImpl quitStoredSeller enter uid is {} ",uid);
+
+        if(!isEntrySeller(uid)){
+            logger.error("StoredSellerServiceImpl quitStoredSeller store seller isEntrySeller false,uid is {} ",uid);
+            throw new ServiceException(400,"商户入驻状态为非入驻,不允许退驻!");
+        }
+
+        Integer expectStatus= StoredSellerStatusEnum.entered.getId();
+
+        // 检查商户是否有出售中的商品,或者有订单未完成的 ,都不可以提交
+        Integer total=sellerOrderService.getUnfinishedOrderBySellerUid(uid);
+
+        if(total!=null && total>0){
+            logger.error("quitStoredSeller not allowed cause of unfinished order ,uid {} ,total {}" ,uid,total);
+            throw new ServiceException(400,"商户存在未完成订单,不允许退驻!");
+        }
+
+        total=sellerOrderService.getCanSellSkupBySellerUid(uid);
+        if(total!=null && total>0){
+            logger.error("quitStoredSeller not allowed cause of can seller product ,uid {} ,total {}" ,uid,total);
+            throw new ServiceException(400,"商户存在出售中商品,不允许退驻!");
+        }
+
+        String aliPayAccount = getAlipayAccount(uid);
+        if(StringUtils.isBlank(aliPayAccount)){
+            logger.error("quitStoredSeller not allowed cause of aliPayAccount is blank ,uid {}" ,uid);
+            throw new ServiceException(400,"商户存在出售中商品,不允许退驻!");
+        }
+
+
+        ApiResponse<Integer> resp = ufoServiceCaller.call("ufo.user.updateStoredSellerQuitStatus", ApiResponse.class, uid);
+
+        logger.info("StoredSellerServiceImpl quitStoredSeller call updateStoredSellerQuitStatus ,uid is {} ,resp is  {} ",uid,resp);
+
+        if(resp!=null&&resp.getCode()==200&&resp.getData()!=null&&(Integer)resp.getData()>0){
+            //创建一个退款订单
+            long orderCode = orderCodeGenerator.generate(OrderCodeType.SELLER_RECHARGE_EARNEST_TYPE);
+            BigDecimal amount=BigDecimal.ZERO;
+            //保证金订单类型
+            Integer type = EntrySellerDepositType.GO_BACK.getType();
+
+            // 生成订单数据,insert db
+            EntrySellerRechargeOrder entrySellerRechargeOrder=new EntrySellerRechargeOrder();
+            entrySellerRechargeOrder.setUid(uid);
+            entrySellerRechargeOrder.setOrderCode(orderCode);
+            entrySellerRechargeOrder.setPayment(Payment.ALIPAY.getCode());
+            entrySellerRechargeOrder.setStatus(0);//0 未支付,1已支付
+            entrySellerRechargeOrder.setAmount(amount);
+            entrySellerRechargeOrder.setType(type);
+
+            int now = (int) (System.currentTimeMillis()/1000);
+            entrySellerRechargeOrder.setCreateTime(now);
+            entrySellerRechargeOrder.setUpdateTime(now);
+
+            logger.info("enter StoredSellerDepositServiceImpl quitStoredSellerAndReturnDeposit begin save entrySellerRechargeOrder {} ",entrySellerRechargeOrder);
+            int num = entrySellerRechargeOrderMapper.insert(entrySellerRechargeOrder);
+            logger.info("enter StoredSellerDepositServiceImpl quitStoredSellerAndReturnDeposit end save entrySellerRechargeOrder {} ,num {}",entrySellerRechargeOrder,num);
+
+            //获取退款金额
+            BigDecimal returnAmount = merchantOrderPaymentService.getReturnMoney(uid,orderCode);
+            // 执行退保证金的操作
+            logger.info("StoredSellerServiceImpl merchantOrderPaymentService begin ,uid {},returnAmount {} ",uid,returnAmount);
+
+            boolean returnResult=false;
+            if(returnAmount!=null){
+                returnResult=merchantOrderPaymentService.returnAllEarnest(uid,orderCode,returnAmount,aliPayAccount);
+                logger.info("StoredSellerServiceImpl merchantOrderPaymentService end ,uid {}",uid);
+            }
+
+            //退保证金成功,更新记录
+            int orderStatus=0;//未支付
+            if(returnResult){
+                orderStatus=1;//已支付
+            }
+
+            logger.info("StoredSellerServiceImpl updateReturnDepositByOrderCode  ,orderCode {} ,returnAmount {} ,orderStatus {} ,ts {}",
+                    orderCode,returnAmount,orderStatus,now);
+            int updateNum=entrySellerRechargeOrderMapper.updateReturnDepositByOrderCode(orderCode,
+                    returnAmount==null?BigDecimal.ZERO:returnAmount,orderStatus,now);
+            logger.info("StoredSellerServiceImpl updateReturnDepositByOrderCode update num {}  ,orderCode {} ,returnAmount {} ,orderStatus {} ,ts {}",updateNum,
+                    orderCode,returnAmount,orderStatus,now);
+
+        }else{
+            logger.error("StoredSellerServiceImpl quitStoredSellerAndReturnDeposit update row is 0,uid {}",uid);
+            throw new ServiceException(400,"商户退驻失败,请重新检查状态!");
+        }
+
+    }
+
+
+    @SuppressWarnings("unchecked")
+    private String getAlipayAccount(int targetUid) {
+        ApiResponse<AuthorizeResultRespVO> resp = ufoServiceCaller.call("ufo.user.aliPayAccountQuery", ApiResponse.class, targetUid);
+        if (resp != null) {
+            AuthorizeResultRespVO data = (AuthorizeResultRespVO) resp.getData();
+            if (data != null && data.getAlipayAccount() != null) {
+                return data.getAlipayAccount();
+            }
+        }
+        return null;
+    }
+
     private BigDecimal getValidMoney(String money) {
         try {
             BigDecimal bd = new BigDecimal(money);
diff --git a/users/src/main/java/com/yohoufo/user/controller/passport/StoredSellerController.java b/users/src/main/java/com/yohoufo/user/controller/passport/StoredSellerController.java
index 98757ab..2d196ac 100644
--- a/users/src/main/java/com/yohoufo/user/controller/passport/StoredSellerController.java
+++ b/users/src/main/java/com/yohoufo/user/controller/passport/StoredSellerController.java
@@ -2,7 +2,6 @@ package com.yohoufo.user.controller.passport;
 
 import com.yoho.tools.common.beans.ApiResponse;
 import com.yohoufo.common.exception.GatewayException;
-import com.yohoufo.user.requestVO.RealNameAuthorizeReqVO;
 import com.yohoufo.user.service.IStoredSellerService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -71,18 +70,18 @@ public class StoredSellerController {
 
 
     /**
-     * 商户退驻
+     * 更新商户状态为"退驻"
      */
-    @RequestMapping(params = "method=ufo.user.quitStoredSeller")
-    public ApiResponse quitStoredSeller(RealNameAuthorizeReqVO reqVO)   throws GatewayException {
-        logger.info("enter StoredSellerController applyQuitStoredSeller param reqVO is {}", reqVO);
+    @RequestMapping(params = "method=ufo.user.updateStoredSellerQuitStatus")
+    public ApiResponse updateStoredSellerQuitStatus(@RequestParam("uid") Integer uid)   throws GatewayException {
+        logger.info("enter StoredSellerController updateStoredSellerQuitStatus param uid is {}", uid);
         //(1) 优先校验请求的参数
-        if (reqVO == null || reqVO.getUid() <=0 ){
+        if (uid == null || uid <=0 ){
             throw new GatewayException(400, "参数错误,uid不存在!");
         }
 
-        storedSellerService.quitStoredSeller(reqVO);
-        return new ApiResponse();
+        Integer updateNum=storedSellerService.updateStoredSellerQuitStatus(uid);
+        return new ApiResponse(updateNum);
     }
 
 }
diff --git a/users/src/main/java/com/yohoufo/user/service/IStoredSellerService.java b/users/src/main/java/com/yohoufo/user/service/IStoredSellerService.java
index 52d7659..6bc1b68 100644
--- a/users/src/main/java/com/yohoufo/user/service/IStoredSellerService.java
+++ b/users/src/main/java/com/yohoufo/user/service/IStoredSellerService.java
@@ -1,7 +1,5 @@
 package com.yohoufo.user.service;
 
-import com.yohoufo.user.requestVO.RealNameAuthorizeReqVO;
-
 public interface IStoredSellerService {
 
     boolean isStoredSeller(Integer uid);
@@ -11,5 +9,5 @@ public interface IStoredSellerService {
     //void applyQuitStoredSeller(Integer uid);
 
 
-    void quitStoredSeller(RealNameAuthorizeReqVO reqVO);
+    Integer updateStoredSellerQuitStatus(Integer uid);
 }
diff --git a/users/src/main/java/com/yohoufo/user/service/impl/StoredSellerServiceImpl.java b/users/src/main/java/com/yohoufo/user/service/impl/StoredSellerServiceImpl.java
index f194a7d..9033242 100644
--- a/users/src/main/java/com/yohoufo/user/service/impl/StoredSellerServiceImpl.java
+++ b/users/src/main/java/com/yohoufo/user/service/impl/StoredSellerServiceImpl.java
@@ -2,13 +2,11 @@ package com.yohoufo.user.service.impl;
 
 import com.yoho.error.exception.ServiceException;
 import com.yohobuy.ufo.model.enums.StoredSellerStatusEnum;
-import com.yohoufo.common.ApiResponse;
 import com.yohoufo.common.caller.UfoServiceCaller;
 import com.yohoufo.dal.user.IStoredSellerDao;
 import com.yohoufo.dal.user.model.StoredSeller;
 import com.yohoufo.dal.user.model.ZhiMaCert;
 import com.yohoufo.user.cache.CacheService;
-import com.yohoufo.user.requestVO.RealNameAuthorizeReqVO;
 import com.yohoufo.user.service.IRealNameAuthorizeService;
 import com.yohoufo.user.service.IStoredSellerService;
 import org.slf4j.Logger;
@@ -37,67 +35,6 @@ public class StoredSellerServiceImpl implements IStoredSellerService {
     private UfoServiceCaller ufoServiceCaller;
 
 
-    /**
-     * 退出入驻
-     * @param reqVO
-     */
-    @Override
-    public void quitStoredSeller(RealNameAuthorizeReqVO reqVO){
-        logger.info("StoredSellerServiceImpl quitStoredSeller enter reqVO is {} ",reqVO);
-        Integer uid=reqVO.getUid();
-        StoredSeller storedSeller = getValidStoredSeller(uid);
-        if(null==storedSeller){
-            logger.error("StoredSellerServiceImpl quitStoredSeller store seller is null,uid is {} ",uid);
-            throw new ServiceException(400,"未找到入驻信息");
-        }
-
-        Integer expectStatus=StoredSellerStatusEnum.entered.getId();
-        if(!expectStatus.equals(storedSeller.getValidStatus())){
-            throw new ServiceException(400,"商户入驻状态变化,不允许退驻!");
-        }
-
-        // 检查商户是否有出售中的商品,或者有订单未完成的 ,都不可以提交
-        ApiResponse apiResponse=ufoServiceCaller.call("ufo.sellerOrder.getUnfinishedOrderBySellerUid", ApiResponse.class,uid);
-        if(apiResponse==null||apiResponse.getCode()!=200){
-            throw new ServiceException(400,"商户订单获取异常,不允许退驻!");
-        }
-        Integer total =(Integer)apiResponse.getData();
-        if(total!=null && total>0){
-            logger.error("quitStoredSeller not allowed cause of unfinished order ,total {}" ,total);
-            throw new ServiceException(400,"商户存在未完成订单,不允许退驻!");
-        }
-        apiResponse=ufoServiceCaller.call("ufo.sellerOrder.getCanSellSkupBySellerUid", ApiResponse.class,uid);
-        if(apiResponse==null||apiResponse.getCode()!=200){
-            throw new ServiceException(400,"商户商品获取异常,不允许退驻!");
-        }
-        total =(Integer)apiResponse.getData();
-        if(total!=null && total>0){
-            logger.error("quitStoredSeller not allowed cause of can seller product ,total {}" ,total);
-            throw new ServiceException(400,"商户存在出售中商品,不允许退驻!");
-        }
-
-
-        LocalDateTime now=LocalDateTime.now();
-        long ts=now.toEpochSecond(ZoneOffset.of("+8"));
-
-        //更新为退驻
-        int num = storedSellerDao.updateToQuitByPrimaryKey(storedSeller.getId(),StoredSellerStatusEnum.quit.getId(),expectStatus,
-                reqVO.getOperatorUid(),reqVO.getOperatorName(),
-                ts,ts);
-        //清掉缓存
-        cacheService.removeStoredSeller(uid);
-
-        logger.info("StoredSellerServiceImpl quitStoredSeller end ,uid is {} ,update num ",uid,num);
-
-        if(num > 0){
-            //TODO 执行退保证金的操作
-
-        }else{
-            logger.error("StoredSellerServiceImpl quitStoredSeller update row is 0,reqVo {}",reqVO);
-        }
-
-    }
-
     /*@Override
     public void applyQuitStoredSeller(Integer uid){
         logger.info("StoredSellerServiceImpl applyQuitStoredSeller uid is {} ",uid);
@@ -190,4 +127,36 @@ public class StoredSellerServiceImpl implements IStoredSellerService {
 
 
     }
+
+    @Override
+    public Integer updateStoredSellerQuitStatus(Integer uid){
+        logger.info("StoredSellerServiceImpl updateStoredSellerQuitStatus uid is {} ",uid);
+        StoredSeller storedSeller = getValidStoredSeller(uid);
+        if(null==storedSeller){
+            logger.error("StoredSellerServiceImpl applyQuitStoredSeller store seller is null,uid is {} ",uid);
+            throw new ServiceException(400,"未找到入驻信息");
+        }
+
+        Integer expectStatus =StoredSellerStatusEnum.entered.getId();
+        if(!expectStatus.equals(storedSeller.getValidStatus())){
+            throw new ServiceException(400,"商户入驻状态变化,不允许退出!");
+        }
+
+        //只能操作自己的uid
+        if(!uid.equals(storedSeller.getUid())){
+            throw new ServiceException(400,"商户入驻操作错误,不允许退出!");
+        }
+
+        LocalDateTime now=LocalDateTime.now();
+        long ts=now.toEpochSecond(ZoneOffset.of("+8"));
+
+        //更新为退驻
+        logger.info("StoredSellerServiceImpl updateStoredSellerQuitStatus begin ,uid is {} ,ts {} ",uid,ts);
+        int num = storedSellerDao.updateStatusByUid(uid,StoredSellerStatusEnum.quit.getId(),expectStatus,ts);
+        //状态变化,清掉缓存
+        cacheService.removeStoredSeller(uid);
+
+        logger.info("StoredSellerServiceImpl updateStoredSellerQuitStatus end ,uid is {} ,update num {}",uid,num);
+        return num;
+    }
 }