Selaa lähdekoodia

退款初审复审

he2802 3 vuotta sitten
vanhempi
commit
0e174ce131
25 muutettua tiedostoa jossa 281 lisäystä ja 17 poistoa
  1. 11 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseBusinessController.java
  2. 21 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderGoodsRefundController.java
  3. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/vo/ShoppingCartVo.java
  4. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseBusinessService.java
  5. 12 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseBusinessServiceImpl.java
  6. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsAddBo.java
  7. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsBankAddBo.java
  8. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsBankEditBo.java
  9. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsEditBo.java
  10. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsQueryBo.java
  11. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java
  12. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsConfigVo.java
  13. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsUserQuestionVo.java
  14. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsUserVo.java
  15. 2 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java
  16. 11 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderGoodsRefundEditBo.java
  17. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderGoodsRefundQueryBo.java
  18. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderQueryBo.java
  19. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderGoodsRefundMapper.java
  20. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderGoodsRefundService.java
  21. 105 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java
  22. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  23. 29 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderGoodsRefundVo.java
  24. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderGoodsVo.java
  25. 59 1
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsRefundMapper.xml

+ 11 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseBusinessController.java

@@ -154,4 +154,15 @@ public class CourseBusinessController extends BaseController {
     public AjaxResult<Void> editPeriodUserIds(@RequestBody CourseBusinessEditBo bo) {
         return toAjax(iCourseBusinessService.editPeriodUserIds(bo) ? 1 : 0);
     }
+
+    /**
+     * 修改业务层次学习顺序
+     */
+    @ApiOperation("更改退款审核用户ID")
+    @PreAuthorize("@ss.hasPermi('course:business:edit')")
+    @Log(title = "更改退款审核用户ID", businessType = BusinessType.UPDATE)
+    @PostMapping("/editRefundPeriodUserIds")
+    public AjaxResult<Void> editRefundPeriodUserIds(@RequestBody CourseBusinessEditBo bo) {
+        return toAjax(iCourseBusinessService.editRefundPeriodUserIds(bo) ? 1 : 0);
+    }
 }

+ 21 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderGoodsRefundController.java

@@ -3,6 +3,7 @@ package com.zhongzheng.controller.order;
 import java.util.List;
 import java.util.Arrays;
 
+import com.zhongzheng.modules.grade.bo.UserPeriodEditBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundAddBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundEditBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundQueryBo;
@@ -88,5 +89,25 @@ public class OrderGoodsRefundController extends BaseController {
         return toAjax(iOrderGoodsRefundService.updateByEditBo(bo) ? 1 : 0);
     }
 
+    /**
+     * 初审确认
+     */
+    @ApiOperation("初审确认")
+    @PreAuthorize("@ss.hasPermi('grade:grade:edit')")
+    @Log(title = "学时通过确认", businessType = BusinessType.UPDATE)
+    @PostMapping("/firstPeriod")
+    public AjaxResult<Void> firstPeriod(@RequestBody List<OrderGoodsRefundEditBo> bo) {
+        return toAjax(iOrderGoodsRefundService.firstPeriod(bo) ? 1 : 0);
+    }
 
+    /**
+     * 复审确认
+     */
+    @ApiOperation("复审确认")
+    @PreAuthorize("@ss.hasPermi('grade:grade:edit')")
+    @Log(title = "复审确认", businessType = BusinessType.UPDATE)
+    @PostMapping("/confirmPeriod")
+    public AjaxResult<Void> confirmPeriod(@RequestBody List<OrderGoodsRefundEditBo> bo) {
+        return toAjax(iOrderGoodsRefundService.confirmPeriod(bo) ? 1 : 0);
+    }
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/vo/ShoppingCartVo.java

@@ -40,7 +40,7 @@ public class ShoppingCartVo {
 	private Integer status;
 
 	@ApiModelProperty("商品类型 1视频2题库 3面授 4服务 5组合")
-	private Long goodsType;
+	private Integer goodsType;
 	@ApiModelProperty("商品名称")
 	private String goodsName;
 	@ApiModelProperty("标准价格")

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseBusinessService.java

@@ -57,4 +57,6 @@ public interface ICourseBusinessService extends IService<CourseBusiness> {
 	boolean editProfileTpUserIds(CourseBusinessEditBo bo);
 
 	boolean editPeriodUserIds(CourseBusinessEditBo bo);
+
+	boolean editRefundPeriodUserIds(CourseBusinessEditBo bo);
 }

+ 12 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseBusinessServiceImpl.java

@@ -89,7 +89,7 @@ public class CourseBusinessServiceImpl extends ServiceImpl<CourseBusinessMapper,
     public Boolean updateByEditBo(CourseBusinessEditBo bo) {
         CourseBusiness update = BeanUtil.toBean(bo, CourseBusiness.class);
         //修改业务进行重名判断 -1直接删除
-        if (bo.getStatus() != -1) {
+        if (Validator.isNotEmpty(bo.getStatus())&&bo.getStatus() != -1) {
             CourseBusinessQueryBo courseBusinessQueryBo = new CourseBusinessQueryBo();
             courseBusinessQueryBo.setBusinessName(bo.getBusinessName());
             courseBusinessQueryBo.setProjectId(bo.getProjectId());
@@ -185,4 +185,15 @@ public class CourseBusinessServiceImpl extends ServiceImpl<CourseBusinessMapper,
         return true;
     }
 
+    @Override
+    public boolean editRefundPeriodUserIds(CourseBusinessEditBo bo) {
+        LambdaUpdateWrapper<CourseBusiness> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+        objectLambdaUpdateWrapper.eq(CourseBusiness::getId, bo.getId());
+        objectLambdaUpdateWrapper.set(CourseBusiness::getRefundUserIds, bo.getRefundUserIds());
+        objectLambdaUpdateWrapper.set(CourseBusiness::getRefundConfirmUserIds, bo.getRefundConfirmUserIds());
+        objectLambdaUpdateWrapper.set(CourseBusiness::getUpdateTime,DateUtils.getNowTime());
+        this.update(null, objectLambdaUpdateWrapper);
+        return true;
+    }
+
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsAddBo.java

@@ -28,7 +28,7 @@ public class GoodsAddBo {
     private Long supplyId;
     /**商品类型 1视频2题库 3补考 4前培 */
     @ApiModelProperty("商品类型 1视频2题库 3补考 4前培")
-    private Long goodsType;
+    private Integer goodsType;
     /** 教育类型id */
     @ApiModelProperty("教育类型id")
     private Long educationTypeId;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsBankAddBo.java

@@ -25,7 +25,7 @@ public class GoodsBankAddBo {
     private Long supplyId;
     /**商品类型 1视频2题库 3补考 4前培 */
     @ApiModelProperty("商品类型 1视频2题库 3补考 4前培")
-    private Long goodsType;
+    private Integer goodsType;
     /** 教育类型id */
     @ApiModelProperty("教育类型id")
     private Long educationTypeId;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsBankEditBo.java

@@ -31,7 +31,7 @@ public class GoodsBankEditBo {
 
     /** 商品类型 1视频2题库 3补考 4前培 */
     @ApiModelProperty("商品类型 1视频2题库 3补考 4前培")
-    private Long goodsType;
+    private Integer goodsType;
 
     /** 教育类型id */
     @ApiModelProperty("教育类型id")

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsEditBo.java

@@ -35,7 +35,7 @@ public class GoodsEditBo {
 
     /** 商品类型 1视频2题库 3补考 4前培 */
     @ApiModelProperty("商品类型 1视频2题库 3补考 4前培")
-    private Long goodsType;
+    private Integer goodsType;
 
     /** 教育类型id */
     @ApiModelProperty("教育类型id")

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsQueryBo.java

@@ -48,7 +48,7 @@ GoodsQueryBo extends BaseEntity {
 	private Long supplyId;
 	/** 商品类型 1视频2题库 3补考 4前培 */
 	@ApiModelProperty("商品类型 1视频2题库 3补考 4前培 ")
-	private Long goodsType;
+	private Integer goodsType;
 	/** 教育类型id */
 	@ApiModelProperty("教育类型id")
 	private Long educationTypeId;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java

@@ -31,7 +31,7 @@ private static final long serialVersionUID=1L;
     /** 供应方(服务)1祥粤自营 2中正合作 */
     private Long supplyId;
     /** $column.columnComment */
-    private Long goodsType;
+    private Integer goodsType;
     /** 教育类型id */
     private Long educationTypeId;
     /** 业务层次id */

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsConfigVo.java

@@ -27,7 +27,7 @@ public class GoodsConfigVo {
 	/** $column.columnComment */
 	@Excel(name = "供应方" , readConverterExp = "商品类型 1视频2题库 3补考 4前培 ")
 	@ApiModelProperty("商品类型 1视频2题库 3补考 4前培 ")
-	private Long goodsType;
+	private Integer goodsType;
 
 	/** 所属专业 */
 	@Excel(name = "所属专业")

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsUserQuestionVo.java

@@ -35,7 +35,7 @@ public class GoodsUserQuestionVo {
 	/** $column.columnComment */
 	@Excel(name = "供应方" , readConverterExp = "商品类型 1视频2题库 3面授 4服务 5组合")
 	@ApiModelProperty("商品类型 1视频2题库 3面授 4服务 5组合")
-	private Long goodsType;
+	private Integer goodsType;
 	/** 教育类型id */
 	@Excel(name = "教育类型id")
 	@ApiModelProperty("教育类型id")

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsUserVo.java

@@ -43,7 +43,7 @@ public class GoodsUserVo {
 	/** $column.columnComment */
 	@Excel(name = "供应方" , readConverterExp = "商品类型 1视频2题库 3面授 4服务 5组合")
 	@ApiModelProperty("商品类型 1视频2题库 3面授 4服务 5组合")
-	private Long goodsType;
+	private Integer goodsType;
 	/** 教育类型id */
 	@Excel(name = "教育类型id")
 	@ApiModelProperty("教育类型id")

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java

@@ -7,6 +7,7 @@ import java.math.BigDecimal;
 import com.zhongzheng.modules.goods.bo.GoodsAuditionConfigAddBo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
 import lombok.Data;
 import java.util.Date;
 import java.util.List;
@@ -38,7 +39,7 @@ public class GoodsVo {
 	/** $column.columnComment */
 	@Excel(name = "供应方" , readConverterExp = "商品类型 1视频2题库 3补考 4前培 ")
 	@ApiModelProperty("商品类型 1视频2题库 3补考 4前培 ")
-	private Long goodsType;
+	private Integer goodsType;
 	/** 教育类型id */
 	@Excel(name = "教育类型id")
 	@ApiModelProperty("教育类型id")

+ 11 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderGoodsRefundEditBo.java

@@ -68,18 +68,29 @@ public class OrderGoodsRefundEditBo {
     @ApiModelProperty("订单商品ID")
     private Long orderGoodsId;
     /** 审批状态 0 待审核 1初审通过 2复审通过 -1初审不通过 -2复审不通过 */
+    @ApiModelProperty("审批状态 0 待审核 1初审通过 2复审通过 -1初审不通过 -2复审不通过")
     private Integer periodStatus;
+
     /** 初审结果原因 */
+    @ApiModelProperty("初审结果原因")
     private String periodReason;
+
     /** 复审结果原因 */
+    @ApiModelProperty("复审结果原因")
     private String periodReviewReason;
+
     /** 初审用户名 */
+    @ApiModelProperty("初审用户名")
     private String periodUsername;
+
     /** 复审用户名 */
+    @ApiModelProperty("复审用户名")
     private String periodReviewUsername;
+
     /** 初审时间 */
     @ApiModelProperty("初审时间")
     private Long periodTime;
+
     /** 复审时间 */
     @ApiModelProperty("复审时间")
     private Long periodReviewTime;

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderGoodsRefundQueryBo.java

@@ -70,4 +70,10 @@ public class OrderGoodsRefundQueryBo extends BaseEntity {
 	private String periodUsername;
 	/** 复审用户名 */
 	private String periodReviewUsername;
+	@ApiModelProperty("订单商品ID")
+	private Long orderGoodsId;
+	@ApiModelProperty("业务层次ID")
+	private Long businessId;
+	@ApiModelProperty("商品类型 1视频2题库 3补考 4前培 ")
+	private Integer goodsType;
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderQueryBo.java

@@ -108,7 +108,7 @@ public class OrderQueryBo extends BaseEntity {
 	@ApiModelProperty("退款状态 0无  1退款中 2已退款 3拒绝退款")
 	private Integer refundStatus;
 	@ApiModelProperty("商品类型 1视频2题库 3面授 4服务 5组合")
-	private Long goodsType;
+	private Integer goodsType;
 
 	/** 1有效 0无效 */
 	@ApiModelProperty("1有效 0无效")

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderGoodsRefundMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundQueryBo;
 import com.zhongzheng.modules.order.domain.OrderGoodsRefund;
 import com.zhongzheng.modules.order.vo.OrderGoodsRefundVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -16,4 +17,8 @@ import java.util.List;
 public interface OrderGoodsRefundMapper extends BaseMapper<OrderGoodsRefund> {
     List<OrderGoodsRefundVo> selectList(OrderGoodsRefundQueryBo bo);
 
+    Long selectCountConfirmPeriod(@Param("userId") Long userId, @Param("refundId") Long refundId);
+
+    Long selectCountFirstPeriod(@Param("userId") Long userId, @Param("refundId") Long refundId);
+
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderGoodsRefundService.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.order.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.grade.bo.UserPeriodEditBo;
 import com.zhongzheng.modules.order.bo.OrderAddBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundAddBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsRefundEditBo;
@@ -57,4 +58,8 @@ public interface IOrderGoodsRefundService extends IService<OrderGoodsRefund> {
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
 	List<OrderGoodsRefundVo> selectList(OrderGoodsRefundQueryBo bo);
+
+	Boolean confirmPeriod(List<OrderGoodsRefundEditBo> bos);
+
+	Boolean firstPeriod(List<OrderGoodsRefundEditBo> bos);
 }

+ 105 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java

@@ -4,8 +4,11 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.zhongzheng.common.core.domain.model.LoginUser;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.grade.domain.ClassGradeUser;
@@ -263,7 +266,7 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
         return true;
     }
 
-    public Boolean refundCall(String WxpayRefundId,Long refundId,Long orderGoodsId,Order order,Long goodsType,Long gradeId,Long userId,Long goodsId){
+    public Boolean refundCall(String WxpayRefundId,Long refundId,Long orderGoodsId,Order order,Integer goodsType,Long gradeId,Long userId,Long goodsId){
         OrderGoodsRefund update = new OrderGoodsRefund();
         update.setRefundId(refundId);
         update.setUpdateTime(DateUtils.getNowTime());
@@ -347,4 +350,105 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
     public List<OrderGoodsRefundVo> selectList(OrderGoodsRefundQueryBo bo) {
         return baseMapper.selectList(bo);
     }
+
+    @Override
+    public Boolean confirmPeriod(List<OrderGoodsRefundEditBo> bos) {
+        for(OrderGoodsRefundEditBo bo : bos){
+            if(Validator.isEmpty(bo.getPeriodStatus())||Validator.isEmpty(bo.getRefundId())){
+                throw new CustomException("参数不全");
+            }
+            if(bo.getPeriodStatus()!=2&&bo.getPeriodStatus()!=-2){
+                throw new CustomException("参数错误");
+            }
+            OrderGoodsRefund orderGoodsRefund = getOne(new LambdaQueryWrapper<OrderGoodsRefund>()
+                    .eq(OrderGoodsRefund::getRefundId, bo.getRefundId())
+                    .last("limit 1"));
+            if(Validator.isEmpty(orderGoodsRefund)||orderGoodsRefund.getPeriodStatus()!=1){
+                throw new CustomException("状态错误,无法操作");
+            }
+            LoginUser loginUser = SecurityUtils.getLoginUser();
+            //查询此人学时审核是否有权限
+            if(!loginUser.getUser().isAdmin()){
+                if (baseMapper.selectCountConfirmPeriod(loginUser.getUser().getUserId(),bo.getRefundId()) < 1){
+                    throw new CustomException("您没有确认审核权限");
+                }
+            }
+            LambdaUpdateWrapper<OrderGoodsRefund> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+            objectLambdaUpdateWrapper.eq(OrderGoodsRefund::getRefundId, bo.getRefundId());
+
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodStatus, bo.getPeriodStatus());
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getUpdateTime,DateUtils.getNowTime());
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodReviewTime,DateUtils.getNowTime());
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodReviewReason, bo.getPeriodReviewReason());
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodReviewUsername, SecurityUtils.getUsername());
+
+            this.update(null, objectLambdaUpdateWrapper);
+
+            if(bo.getPeriodStatus()==2){
+                //修改订单商品退款状态
+                OrderGoods orderGoodsUpdate = new OrderGoods();
+                orderGoodsUpdate.setOrderGoodsId(orderGoodsRefund.getOrderGoodsId());
+                orderGoodsUpdate.setRefundStatus(2); //同意退款
+                orderGoodsUpdate.setUpdateTime(DateUtils.getNowTime());
+                iOrderGoodsService.updateById(orderGoodsUpdate);
+            }
+            if(bo.getPeriodStatus()==-2){
+                //修改订单商品退款状态
+                OrderGoods orderGoodsUpdate = new OrderGoods();
+                orderGoodsUpdate.setOrderGoodsId(orderGoodsRefund.getOrderGoodsId());
+                orderGoodsUpdate.setRefundStatus(3); //拒绝退款
+                orderGoodsUpdate.setUpdateTime(DateUtils.getNowTime());
+                iOrderGoodsService.updateById(orderGoodsUpdate);
+            }
+        }
+
+        return true;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean firstPeriod(List<OrderGoodsRefundEditBo> bos) {
+        for(OrderGoodsRefundEditBo bo : bos){
+            if(Validator.isEmpty(bo.getPeriodStatus())||Validator.isEmpty(bo.getRefundId())){
+                throw new CustomException("参数不全");
+            }
+            if(bo.getPeriodStatus()!=1&&bo.getPeriodStatus()!=-1){
+                throw new CustomException("参数错误");
+            }
+            OrderGoodsRefund orderGoodsRefund = getOne(new LambdaQueryWrapper<OrderGoodsRefund>()
+                    .eq(OrderGoodsRefund::getRefundId, bo.getRefundId())
+                    .last("limit 1"));
+            if(Validator.isEmpty(orderGoodsRefund)||orderGoodsRefund.getPeriodStatus()!=0){
+                throw new CustomException("非待审核状态无法操作");
+            }
+            LoginUser loginUser = SecurityUtils.getLoginUser();
+            //查询此人学时审核是否有权限
+            if(!loginUser.getUser().isAdmin()){
+                if (baseMapper.selectCountFirstPeriod(loginUser.getUser().getUserId(),bo.getRefundId()) < 1){
+                    throw new CustomException("您没有确认审核权限");
+                }
+            }
+            LambdaUpdateWrapper<OrderGoodsRefund> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+            objectLambdaUpdateWrapper.eq(OrderGoodsRefund::getRefundId, bo.getRefundId());
+
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodStatus, bo.getPeriodStatus());
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getUpdateTime,DateUtils.getNowTime());
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodTime,DateUtils.getNowTime());
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodReason, bo.getPeriodReason());
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodUsername, SecurityUtils.getUsername());
+
+            this.update(null, objectLambdaUpdateWrapper);
+
+            if(bo.getPeriodStatus()==-1){
+                //修改订单商品退款状态
+                OrderGoods orderGoodsUpdate = new OrderGoods();
+                orderGoodsUpdate.setOrderGoodsId(orderGoodsRefund.getOrderGoodsId());
+                orderGoodsUpdate.setRefundStatus(3); //拒绝退款
+                orderGoodsUpdate.setUpdateTime(DateUtils.getNowTime());
+                iOrderGoodsService.updateById(orderGoodsUpdate);
+            }
+        }
+
+        return true;
+    }
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -771,7 +771,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
 
     //检查是否购买过商品
-    public boolean checkBuyGoods(Long goodsId,Long userId,Long goodsType){
+    public boolean checkBuyGoods(Long goodsId,Long userId,Integer goodsType){
         OrderGoodsQueryBo bo = new OrderGoodsQueryBo();
         bo.setUserId(userId);
         bo.setGoodsId(goodsId);

+ 29 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderGoodsRefundVo.java

@@ -103,4 +103,33 @@ public class OrderGoodsRefundVo {
 	@Excel(name = "复审时间")
 	@ApiModelProperty("复审时间")
 	private Long periodReviewTime;
+	private String realname;
+	@ApiModelProperty("教育名称")
+	private String educationName;
+	@ApiModelProperty("项目名称")
+	private String projectName;
+	@ApiModelProperty("业务名称")
+	private String businessName;
+	/** 商品标准价格 */
+	@Excel(name = "商品标准价格")
+	@ApiModelProperty("商品标准价格")
+	private BigDecimal goodsPrice;
+	/** 商品成交价格 */
+	@Excel(name = "商品成交价格")
+	@ApiModelProperty("商品成交价格")
+	private BigDecimal goodsRealPrice;
+	/** 已收金额 */
+	@Excel(name = "已收金额")
+	@ApiModelProperty("已收金额")
+	private BigDecimal goodsReceived;
+	/** 支付状态 1未收费 2部分收费 3完全收费 */
+	@Excel(name = "支付状态 1未收费 2部分收费 3完全收费")
+	@ApiModelProperty("支付状态 1未收费 2部分收费 3完全收费")
+	private Integer payStatus;
+	@ApiModelProperty("身份证")
+	private String idCard;
+	@ApiModelProperty("手机号码")
+	private String telphone;
+	@ApiModelProperty("年份")
+	private Long year;
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderGoodsVo.java

@@ -114,7 +114,7 @@ public class OrderGoodsVo {
 	@ApiModelProperty("录单人")
 	private String createBy;
 	@ApiModelProperty("商品类型 1视频2题库 3面授 4服务 5组合")
-	private Long goodsType;
+	private Integer goodsType;
 	/** 班级id */
 	@Excel(name = "班级id")
 	@ApiModelProperty("班级id")

+ 59 - 1
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsRefundMapper.xml

@@ -51,26 +51,84 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="periodReviewUsername" column="period_review_username"/>
         <result property="periodTime" column="period_time"/>
         <result property="periodReviewTime" column="period_review_time"/>
+        <result property="realname" column="realname"/>
+        <result property="educationName" column="education_name"/>
+        <result property="projectName" column="project_name"/>
+        <result property="businessName" column="business_name"/>
+        <result property="goodsPrice" column="goods_price"/>
+        <result property="goodsRealPrice" column="goods_real_price"/>
+        <result property="goodsReceived" column="goods_received"/>
+        <result property="payStatus" column="pay_status"/>
+        <result property="idCard" column="id_card"/>
+        <result property="telphone" column="telphone"/>
+        <result property="year" column="year"/>
     </resultMap>
 
     <select id="selectList" parameterType="com.zhongzheng.modules.order.bo.OrderGoodsRefundQueryBo" resultMap="OrderGoodsRefundVoResult">
         SELECT
             gr.*,
             g.goods_name,
-            g.cover_url
+            g.cover_url,
+            g.year,
+            u.realname,
+            u.id_card,
+            u.telphone,
+            cet.education_name,
+            cpt.project_name,
+            cb.business_name,
+            og.goods_received,
+            og.goods_real_price,
+            og.pay_status,
+            og.goods_price
         FROM
             order_goods_refund gr
                 LEFT JOIN goods g ON gr.goods_id = g.goods_id
+                LEFT JOIN `user` u ON gr.user_id = u.user_id
+            LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+            LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+            LEFT JOIN course_business cb ON g.business_id = cb.id
+            LEFT JOIN order_goods og ON gr.order_goods_id = og.order_goods_id
         where 1=1
         <if test="userId != null and userId != ''">
             AND gr.user_id = #{userId}
         </if>
+        <if test="orderGoodsId != null and orderGoodsId != ''">
+            AND gr.order_goods_id = #{orderGoodsId}
+        </if>
         <if test="type != null">
             AND gr.type = #{type}
         </if>
         <if test="periodStatus != null">
             AND gr.period_status = #{periodStatus}
         </if>
+        <if test="businessId != null and businessId != ''">
+            AND g.business_id = #{businessId}
+        </if>
+        <if test="goodsType != null and goodsType != ''">
+            AND g.goods_type = #{goodsType}
+        </if>
         ORDER BY gr.refund_id DESC
     </select>
+
+    <select id="selectCountConfirmPeriod" parameterType="map" resultType="Long">
+        SELECT
+            COUNT(1)
+        FROM
+            order_goods_refund gr  JOIN goods g on gr.goods_id = g.goods_id JOIN course_business b on g.business_id = b.id
+        WHERE
+            1 = 1
+          AND gr.refund_id = #{refundId}
+          and FIND_IN_SET(#{userId},b.refund_confirm_user_ids)
+    </select>
+
+    <select id="selectCountFirstPeriod" parameterType="map" resultType="Long">
+        SELECT
+            COUNT(1)
+        FROM
+            order_goods_refund gr  JOIN goods g on gr.goods_id = g.goods_id JOIN course_business b on g.business_id = b.id
+        WHERE
+            1 = 1
+          AND gr.refund_id = #{refundId}
+          and FIND_IN_SET(#{userId},b.refund_user_ids)
+    </select>
 </mapper>