浏览代码

7.31 查看并处理边民退单、退款请求(确认退款)

Mechrevo 2 年之前
父节点
当前提交
8a5ca5ef7e

+ 2 - 1
sp-core/sp-api/src/main/java/com/pj/api/dto/TbLogisticsDto.java

@@ -1,9 +1,10 @@
 package com.pj.api.dto;
 
 
-import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 
+import java.util.Date;
+
 /**
  * Model: tb_logistics -- 物流订单表
  * @author qzy

+ 1 - 1
sp-core/sp-base/src/main/java/com/pj/current/dto/APPLoginUserInfo.java

@@ -12,5 +12,5 @@ public class APPLoginUserInfo implements Serializable {
     private Long loginId;
     private String loginName;
 //    private List<String> permissions;
-//    private String userType;
+    private String userType;
 }

+ 3 - 0
sp-core/sp-base/src/main/java/com/pj/enummj/UserType.java

@@ -11,6 +11,9 @@ import lombok.Getter;
 @AllArgsConstructor
 public enum UserType {
 
+    /**
+     * appUser身份
+     */
     USER_TYPE_PEOPLE(1,"普通边民"),
     USER_TYPE_GROUP_LEADER(2,"互市区边民组组长"),
     USER_TYPE_ENTERPRISE(3,"互市区商家"),

+ 1 - 1
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/MethodGoodsTransitService.java

@@ -132,7 +132,7 @@ public class MethodGoodsTransitService {
         tbOrder.setResaleStatus(ResaleStatus.RESALE_STATUS_ZERO.getCode()); // 是否转售状态,默认未转售 0
         tbOrder.setFinishStatus(OrderStatus.ORDER_STATUS_ZERO.getCode());  // 订单完成状态,默认未完成 0
         //订单表基本字段
-        tbOrder.setCreateBy(appLoginInfo.getLoginId().toString());
+        tbOrder.setCreateBy(appLoginInfo.getLoginId());
         tbOrder.setCreateName(appLoginInfo.getLoginName());
         tbOrder.setCreateTime(new Date());
         return tbOrder;

+ 1 - 1
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/TbGoodsTransitController.java

@@ -108,7 +108,7 @@ public class TbGoodsTransitController {
 
 	/** 查看一级市场的在销/上架商品列表 */
 	@GetMapping("getTransitList")
-	public AjaxJson getTransitList(@RequestParam("goodsType")String goodsType){
+	public AjaxJson getTransitList(@RequestParam(value = "goodsType",required = false)String goodsType){
 		SoMap so = SoMap.getRequestSoMap();
 		List<TbGoodsTransit> transitList = tbGoodsTransitService.getTransitList(so.startPage(),goodsType);
 		return AjaxJson.getPageData(so.getDataCount(),transitList);

+ 1 - 1
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/TbGoodsTransitService.java

@@ -278,7 +278,7 @@ public class TbGoodsTransitService extends ServiceImpl<TbGoodsTransitMapper, TbG
 
 		}
 
-		return false;
+		return true;
 	}
 
 	/**

+ 3 - 5
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderAppController.java

@@ -1,8 +1,5 @@
 package com.pj.tb_order;
 
-import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.pj.common.core.web.domain.AjaxResult;
-import com.pj.project4sp.SP;
 import com.pj.utils.sg.AjaxJson;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,7 +14,7 @@ import java.util.List;
  * @author loovi
  */
 @RestController
-@RequestMapping("/TbOrder/")
+@RequestMapping("/app/TbOrder/")
 public class TbOrderAppController {
 
 	/** 底层 Service 对象 */
@@ -26,7 +23,7 @@ public class TbOrderAppController {
 
 	/** 查 - 根据id */
 	@RequestMapping("getById")
-		@SaCheckPermission(TbOrder.PERMISSION_CODE)
+//		@SaCheckPermission(TbOrder.PERMISSION_CODE)
 	public AjaxJson getById(Long id){
 		TbOrder t = tbOrderService.getById(id);
 		return AjaxJson.getSuccessData(t);
@@ -52,6 +49,7 @@ public class TbOrderAppController {
 
 
 	/** 改 转售状态:根据订单Id把订单改为已转售 */
+	@RequestMapping("updateResaleStatus")
 	public AjaxJson updateResaleStatus(Long orderId) {
 		boolean result = tbOrderService.updateResaleStatus(orderId);
 		if(result) return AjaxJson.getSuccess();

+ 2 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.pj.current.dto.APPLoginUserInfo;
 import com.pj.current.satoken.StpAPPUserUtil;
+import com.pj.enummj.DeleteStatus;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -56,6 +57,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 		APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
 		if(appLoginInfo == null)throw new RuntimeException("当前登陆用户信息已失效!");
 		so.set("buy_user_id",appLoginInfo.getLoginId());
+		so.set("delete_status", DeleteStatus.DELETE_STATUS_ON.getCode());
 		return tbOrderMapper.getList(so);
 	}
 

+ 26 - 5
sp-service/level-one-server/src/main/java/com/pj/tb_order_after_sale/OrderAfterSaleAPPController.java

@@ -7,12 +7,14 @@ import com.pj.project4sp.SP;
 import com.pj.tb_order.TbOrder;
 import com.pj.tb_order.TbOrderMapper;
 import com.pj.tb_order_after_sale.param.AfterSaleParam;
+import com.pj.tb_order_after_sale.param.TbOrderAfterSaleParam;
 import com.pj.utils.sg.AjaxJson;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
@@ -34,7 +36,7 @@ public class OrderAfterSaleAPPController {
 
 	/** 获取当前登陆人的订单号 */
 	@RequestMapping("selectSelfOrders")
-		@SaCheckPermission(TbOrderAfterSale.PERMISSION_CODE)
+//		@SaCheckPermission(TbOrderAfterSale.PERMISSION_CODE)
 	public AjaxJson selectSelfOrders() {
 		SoMap so = SoMap.getRequestSoMap();
 		List<TbOrder> list = tbOrderAfterSaleService.selectSelfOrders(so.startPage());
@@ -44,18 +46,37 @@ public class OrderAfterSaleAPPController {
 
 	/** 发起售后 */
 	@RequestMapping("afterSale")
-		@SaCheckPermission(TbOrderAfterSale.PERMISSION_CODE)
+//		@SaCheckPermission(TbOrderAfterSale.PERMISSION_CODE)
 	public AjaxJson afterSale(@Validated @RequestBody AfterSaleParam afterSaleParam) {
 		boolean afteredSale = tbOrderAfterSaleService.afterSale(afterSaleParam);
 		if(afteredSale)return AjaxJson.getSuccess("售后发起成功!");
 		return AjaxJson.getError("售后发起失败!");
 	}
 
+	/** 商户处理售后订单 */
+	@RequestMapping("disposeOrders")
+	public AjaxJson disposeOrders(@Validated @RequestBody TbOrderAfterSaleParam tbOrderAfterSaleParam){
+		tbOrderAfterSaleService.disposeOrders(tbOrderAfterSaleParam);
+		return AjaxJson.getSuccess();
+	}
+
+
+
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
+	@RequestMapping("getAppList")
+//		@SaCheckPermission(TbOrderAfterSale.PERMISSION_CODE)
+	public AjaxJson getAppList(@RequestParam("afterSaleStatus") Integer afterSaleStatus,@RequestParam("keyword")String keyword) {
+		SoMap so = SoMap.getRequestSoMap();
+		List<TbOrderAfterSale> list = tbOrderAfterSaleService.getAppList(so.startPage(),afterSaleStatus,keyword);
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
+
+
+
+
+
 
 
 
-	
-	
-	
 
 }

+ 1 - 1
sp-service/level-one-server/src/main/java/com/pj/tb_order_after_sale/TbOrderAfterSaleController.java

@@ -69,7 +69,7 @@ public class TbOrderAfterSaleController {
 
 	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */  
 	@RequestMapping("getList")
-		@SaCheckPermission(TbOrderAfterSale.PERMISSION_CODE)
+//		@SaCheckPermission(TbOrderAfterSale.PERMISSION_CODE)
 	public AjaxJson getList() { 
 		SoMap so = SoMap.getRequestSoMap();
 		List<TbOrderAfterSale> list = tbOrderAfterSaleService.getList(so.startPage());

+ 61 - 1
sp-service/level-one-server/src/main/java/com/pj/tb_order_after_sale/TbOrderAfterSaleService.java

@@ -4,13 +4,19 @@ import java.util.Date;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.pj.api.client.admin.AdminInterface;
+import com.pj.common.core.exception.ServiceException;
 import com.pj.current.dto.APPLoginUserInfo;
 import com.pj.current.satoken.StpAPPUserUtil;
+import com.pj.enummj.DeleteStatus;
+import com.pj.enummj.UserType;
 import com.pj.tb_order.TbOrder;
 import com.pj.tb_order.TbOrderMapper;
 import com.pj.tb_order.TbOrderService;
 import com.pj.tb_order_after_sale.param.AfterSaleParam;
+import com.pj.tb_order_after_sale.param.TbOrderAfterSaleParam;
 import com.pj.utils.so.SoMap;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -33,6 +39,9 @@ public class TbOrderAfterSaleService extends ServiceImpl<TbOrderAfterSaleMapper,
 	/** 订单表 */
 	@Autowired
 	private TbOrderService tbOrderService;
+	/** 一级市场订单表 */
+	@Autowired
+	private TbOrderMapper tbOrderMapper;
 
 	/** 增 */
 	void add(TbOrderAfterSale t){
@@ -60,10 +69,30 @@ public class TbOrderAfterSaleService extends ServiceImpl<TbOrderAfterSaleMapper,
 		return tbOrderAfterSaleMapper.getList(so);	
 	}
 
+	/**
+	 * app端:查集合 - 根据条件(参数为空时代表忽略指定条件
+	 * @param soMap
+	 * @param afterSaleStatus 可根据售后状态进行查询
+	 * @param keyword  可根据关键字进行查询
+	 * @return
+	 */
+	List<TbOrderAfterSale> getAppList(SoMap soMap,Integer afterSaleStatus,String keyword) {
+		//获取当前登陆人
+		APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+		if(appLoginInfo == null || appLoginInfo.getLoginId() == null)
+			throw new ServiceException("当前登录用户信息已失效!");
+		//设置当前人的查看信息
+		soMap.set("apply_type",afterSaleStatus);
+		soMap.set("keyword",keyword);
+		soMap.set("sale_main_id",appLoginInfo.getLoginId());
+		soMap.set("delete_status", DeleteStatus.DELETE_STATUS_ON.getCode());
+		soMap.set("sortType",5);
+		return tbOrderAfterSaleMapper.getList(soMap);
+	}
+
 	/** app查看个人订单 */
 	List<TbOrder> selectSelfOrders(SoMap soMap){
 		//下面调用已获取登陆人信息
-
 		List<TbOrder> tbOrderList = tbOrderService.selectSelfOrders(soMap);
 		return tbOrderList;
 	}
@@ -81,4 +110,35 @@ public class TbOrderAfterSaleService extends ServiceImpl<TbOrderAfterSaleMapper,
 		return false;
 	}
 
+	/**
+	 * 查看并处理边民退单、退款请求(确认退款)
+	 */
+	public void disposeOrders(TbOrderAfterSaleParam tbOrderAfterSaleParam){
+		//获取当前登陆人
+		APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+		if(appLoginInfo == null || appLoginInfo.getLoginId() == null)
+			throw new RuntimeException("当前登录账号信息已失效!");
+		//判断当前用户是否为商户
+		if(!appLoginInfo.getUserType().equals(UserType.USER_TYPE_ENTERPRISE.getCode().toString()))
+			throw new ServiceException("您当前身份不是商户!");
+		//保存售后结果
+		TbOrderAfterSale tbOrderAfterSale = new TbOrderAfterSale();
+		BeanUtils.copyProperties(tbOrderAfterSaleParam,tbOrderAfterSale);
+		int updateById = tbOrderAfterSaleMapper.updateById(tbOrderAfterSale);
+		if(updateById != 1)
+			throw new RuntimeException("售后结果修改失败!");
+		//获取商家处理结果
+		Integer result = tbOrderAfterSaleParam.getResult();
+		if(result == 1){
+			//商家同意,开始执行退货退款
+			//todo: 解冻互市组民的资金
+
+		}else {
+			//商家不同意,驳回,   todo: 给互市组组长发送推送提示
+
+		}
+
+
+	}
+
 }

+ 102 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order_after_sale/param/TbOrderAfterSaleParam.java

@@ -0,0 +1,102 @@
+package com.pj.tb_order_after_sale.param;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Model: tb_order_after_sale -- 售后申请表,并关联一级市场订单
+ * @author qzy 
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TbOrderAfterSaleParam implements Serializable {
+
+	/**
+	 *  0=拒绝,1=通过
+	 */
+	@NotNull(message = "result")
+	private Integer result;
+
+	// ---------- 表中字段 ----------
+	/**
+	 * 售后申请表主键id 
+	 */
+	@NotNull(message = "id")
+	private Long id;
+
+	/**
+	 * 订单表主键 
+	 */
+	@NotNull(message = "orderId")
+	private Long orderId;	
+
+	/**
+	 * 发起售后人的ID 
+	 */
+	@NotNull(message = "userId")
+	private Long userId;	
+
+	/**
+	 * 售后发起人电话 
+	 */
+	private String userPhone;	
+
+	/**
+	 * 发起售后时间 
+	 */
+	@JsonFormat(pattern = "yyyy-MM-dd")
+	private Date time;
+
+	/**
+	 * 申请类型 
+	 */
+	@NotNull(message = "applyType")
+	private Integer applyType;	
+
+	/**
+	 * 发起售后原因 
+	 */
+	@NotNull(message = "remark")
+	private String remark;
+
+	/**
+	 * 卖家ID
+	 */
+	private Long saleMainId;
+
+	/**
+	 * 售后状态 
+	 */
+	private Integer afterSaleStatus;	
+
+	/**
+	 * 货物图片 
+	 */
+	private String goodsImg;	
+
+	/**
+	 * 货物名称 
+	 */
+	private String goodsName;	
+
+	/**
+	 * 货物数量 
+	 */
+	private Integer goodsNum;	
+
+
+
+
+
+	
+
+
+}

+ 3 - 2
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserService.java

@@ -10,6 +10,7 @@ import com.pj.api.dto.AppUserDto;
 import com.pj.current.dto.APPLoginUserInfo;
 import com.pj.current.satoken.StpAPPUserUtil;
 import com.pj.current.satoken.StpUserUtil;
+import com.pj.enummj.DeleteStatus;
 import com.pj.project.app_user.dto.ForgetPasswordDto;
 import com.pj.project.app_user.dto.RegisterDto;
 import com.pj.project.re_role_menu.ReRoleMenu;
@@ -158,7 +159,7 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
 		//登陆查询
 		LambdaQueryWrapper<AppUser> queryWrapper = new LambdaQueryWrapper<>();
 		queryWrapper.eq(AppUser::getPhone,phone);
-		queryWrapper.eq(AppUser::getDeleteStatus,1); //未被逻辑删除
+		queryWrapper.eq(AppUser::getDeleteStatus, DeleteStatus.DELETE_STATUS_ON.getCode()); //未被逻辑删除
 		List<AppUser> userList = appUserMapper.selectList(queryWrapper);
 		if(userList.size() == 0)return AjaxJson.getError("该用户不存在,请先注册!");
 		//判断用户是否存在
@@ -199,7 +200,7 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
 		info.setLoginId(appUser.getId());
 		info.setLoginName(appUser.getName());
 //		info.setPermissions(per_list);
-//		info.setUserType(appUser.getUserType());
+		info.setUserType(appUser.getUserType());
 		StpAPPUserUtil.cacheAPPLoginInfo(info);
 		return AjaxJson.getSuccessData(map);
 	}