Browse Source

售后列表

LuoDLeo 7 months ago
parent
commit
5bce850e62

+ 1 - 1
src/main/java/org/springblade/modules/api/controller/ApiAfterSalesController.java

@@ -137,7 +137,7 @@ public class ApiAfterSalesController {
     @ApiOperation(value = "获取商家售后列表")
     public R<IPage<AfterSalesVO>> getMerchantAfterSalesList(Query query,
                                                             @ApiParam(value = "售后状态 0-处理中 1-完成 2-关闭", required = true) @RequestParam(name = "state") Integer state) {
-        return R.data(afterSalesService.getUserAfterSalesList(Condition.getPage(query), AuthUtil.getUserId(), state));
+        return R.data(afterSalesService.getMerchantAfterSalesList(Condition.getPage(query), AuthUtil.getUserId(), state));
     }
 
     @GetMapping("/user/detail")

+ 5 - 1
src/main/java/org/springblade/modules/finance/mapper/AfterSalesMapper.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.modules.finance.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.finance.entity.AfterSales;
 import org.springblade.modules.finance.vo.AfterSalesVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -39,9 +40,12 @@ public interface AfterSalesMapper extends BaseMapper<AfterSales> {
 	 */
 	List<AfterSalesVO> selectAfterSalesPage(IPage page, AfterSalesVO afterSales);
 
-	IPage<AfterSalesVO> selectUserAfterSalesList(IPage pag, Long userId,Integer state);
+	IPage<AfterSalesVO> selectUserAfterSalesList(@Param("pag") IPage pag, @Param("userId") Long userId, @Param("state") Integer state);
 
     List<AfterSalesVO> getByGrouponIds(List<Long> gIds);
 
 	List<AfterSalesVO> getByGrouponId(Long grouponId, Long selfTakeId);
+
+	IPage<AfterSalesVO> selectMerchantAfterSalesList(@Param("page") IPage page, @Param("userId") Long userId, @Param("state") Integer state);
+
 }

+ 18 - 1
src/main/java/org/springblade/modules/finance/mapper/AfterSalesMapper.xml

@@ -30,7 +30,7 @@
             WHERE s.user_id = #{userId}
             <if test="state != null">
                 <if test="state == 1">
-                    and s.`status` = 3
+                    and s.status = 3
                 </if>
                 <if test="state == 2">
                     and s.refund_state = 1
@@ -65,4 +65,21 @@
         order by s.create_time desc
     </select>
 
+    <select id="selectMerchantAfterSalesList" resultType="org.springblade.modules.finance.vo.AfterSalesVO">
+        SELECT
+            s.*
+        FROM
+            t_after_sales s
+                left join t_order_goods og on og.order_id = s.order_id
+        WHERE og.merchant_id = #{userId}
+        <if test="state != null">
+            <if test="state == 1">
+                and s.status = 3
+            </if>
+            <if test="state == 2">
+                and s.refund_state = 1
+            </if>
+        </if>
+    </select>
+
 </mapper>

+ 6 - 5
src/main/java/org/springblade/modules/finance/mapper/OrderGoodsMapper.xml

@@ -97,11 +97,12 @@
     </select>
 
     <select id="getMerchantOrder" resultType="org.springblade.modules.finance.vo.MerchantPageOrderVO">
-        SELECT
-            o.*
-        FROM
-            t_order o
-                JOIN t_order_goods og ON o.id = og.order_id
+        SELECT o.*,
+            afs.id as afterSalesId,
+            afs.after_sales_no as afterSalesNo
+        FROM t_order o
+            JOIN t_order_goods og ON o.id = og.order_id
+            left join t_after_sales afs on o.id = afs.order_id
         WHERE o.is_delete = 0
           and og.merchant_id = #{param.userId}
         <if test="param.orderState != null">

+ 5 - 3
src/main/java/org/springblade/modules/finance/service/IAfterSalesService.java

@@ -16,13 +16,12 @@
  */
 package org.springblade.modules.finance.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.common.enums.AfterSalesTypeEnum;
 import org.springblade.modules.api.request.AfterSalesRequest;
 import org.springblade.modules.finance.entity.AfterSales;
-import org.springblade.modules.finance.entity.AfterSalesGoods;
 import org.springblade.modules.finance.vo.AfterSalesVO;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.List;
 
@@ -84,4 +83,7 @@ public interface IAfterSalesService extends IService<AfterSales> {
     void refundSubmit(AfterSalesRequest request);
 
     void applyGrouponAfterRefund(Long orderId);
+
+	IPage<AfterSalesVO> getMerchantAfterSalesList(IPage<Object> page, Long userId, Integer state);
+
 }

+ 17 - 0
src/main/java/org/springblade/modules/finance/service/impl/AfterSalesServiceImpl.java

@@ -502,4 +502,21 @@ public class AfterSalesServiceImpl extends ServiceImpl<AfterSalesMapper, AfterSa
 		afterSales.setLogisticsNo(logisticsNo);
 		this.updateById(afterSales);
 	}
+
+
+	@Override
+	public IPage<AfterSalesVO> getMerchantAfterSalesList(IPage<Object> page, Long userId, Integer state) {
+		IPage<AfterSalesVO> afterSalesVOS = baseMapper.selectMerchantAfterSalesList(page, userId,state);
+		if (CollUtil.isEmpty(afterSalesVOS.getRecords())){
+			return afterSalesVOS;
+		}
+		for (AfterSalesVO vo : afterSalesVOS.getRecords()) {
+			List<OrderGoods> list = orderGoodsService.lambdaQuery().eq(OrderGoods::getOrderId, vo.getOrderId()).list();
+			vo.setGoodsList(list);
+			List<AfterSalesGoods> list1 = afterSalesGoodsService.lambdaQuery().eq(AfterSalesGoods::getAfterSalesId,vo.getId()).list();
+			vo.setAfterSalesGoodsList(list1);
+		}
+		return afterSalesVOS;
+	}
+
 }

+ 5 - 0
src/main/java/org/springblade/modules/finance/vo/MerchantPageOrderVO.java

@@ -41,6 +41,11 @@ public class MerchantPageOrderVO extends Order {
     @ApiModelProperty(value = "订单状态描述")
     private String orderStateDesc;
 
+    @ApiModelProperty
+    private Long afterSalesId;
+    @ApiModelProperty
+    private String afterSalesNo;
+
     public String getOrderStateDesc() {
         return OrderStateEnum.getNameByValue(orderState);
     }