yangdamao пре 2 година
родитељ
комит
519d6ba63a

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsMapper.java

@@ -78,4 +78,6 @@ public interface GoodsMapper extends BaseMapper<Goods> {
 
     @InterceptorIgnore(tenantLine = "true")
     void updateHandoutsId(@Param("goodsId") Long goodsId,@Param("tenantId") Long tenantId,@Param("handoutsId") Long handoutsId);
+
+    String getBusinessName(@Param("goodsId") Long goodsId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java

@@ -142,4 +142,6 @@ public interface IGoodsService extends IService<Goods> {
 	Goods queryGoodsByIdTenant(Long goodsId, Long tenantId);
 
     boolean goodsHandoutsCopyAddTenant(GoodsHandoutsCopyTenantBo bo);
+
+	String getBusinessName(Long goodsId);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -4954,6 +4954,11 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
         return true;
     }
 
+    @Override
+    public String getBusinessName(Long goodsId) {
+        return baseMapper.getBusinessName(goodsId);
+    }
+
     private void updateHandoutsId(Long goodsId, Long tenantId, Long handoutsId) {
         baseMapper.updateHandoutsId(goodsId,tenantId,handoutsId);
     }

+ 64 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java

@@ -24,6 +24,8 @@ import com.zhongzheng.common.utils.ToolsUtils;
 import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.modules.course.domain.CourseSubject;
 import com.zhongzheng.modules.course.service.ICourseSubjectService;
+import com.zhongzheng.modules.goods.domain.Goods;
+import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.grade.domain.ClassGradeUser;
 import com.zhongzheng.modules.grade.domain.UserPeriod;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
@@ -147,6 +149,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
     @Autowired
     private IUserService userService;
 
+    @Autowired
+    private IGoodsService goodsService;
+
     @Autowired
     private ITopOldOrderCheckService topOldOrderCheckService;
 
@@ -2076,6 +2081,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         }
         vo.setOrderId(orderVo.getOrderId());
         vo.setOrderSn(orderVo.getOrderSn());
+        vo.setOrderUncollected(orderVo.getOrderUncollected());
+        vo.setOrderReceived(orderVo.getOrderReceived());
+        vo.setBrokerage(orderVo.getBrokerage());
         Map<String, List<TopOldOrderRefundVo>> map = refunds.stream().collect(Collectors.groupingBy(TopOldOrderRefundVo::getRefundSn));
         if (map.keySet().size() > 1) {
             //订单多次提交申请
@@ -2086,6 +2094,34 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     vo.setRefundFee(reduce);
                     vo.setRefundReason(v.get(0).getApplyReason());
                     vo.setApplyTime(v.get(0).getCreateTime());
+
+                    List<TopRefundUserVo> collect = v.stream().map(item -> {
+                        TopRefundUserVo topRefundUserVo = new TopRefundUserVo();
+                        topRefundUserVo.setRefundFee(item.getRefundFee());
+                        topRefundUserVo.setRefundReason(item.getApplyReason());
+                        topRefundUserVo.setOrderSn(orderSn);
+                        if (item.getRefundType() == 1) {
+                            //学员信息
+                            Order one = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, item.getOrderSn()));
+                            User user = userService.getById(one.getUserId());
+                            topRefundUserVo.setUserCard(EncryptHandler.decrypt(user.getIdCard()));
+                            topRefundUserVo.setUserName(user.getRealname());
+                            Goods g = goodsService.getById(item.getGoodsId());
+                            topRefundUserVo.setGoodsName(g.getGoodsName());
+                            //业务名称
+                            String businessName = goodsService.getBusinessName(item.getGoodsId());
+                            topRefundUserVo.setBusinessName(businessName);
+                        } else {
+                            TopOldOrderGoods orderGoods = topOrderGoodsService.getById(item.getOrderGoodsId());
+                            topRefundUserVo.setUserName(orderGoods.getUserName());
+                            topRefundUserVo.setUserCard(EncryptHandler.decrypt(orderGoods.getUserCard()));
+                            topRefundUserVo.setBusinessName(orderGoods.getBusinessFullName());
+                            topRefundUserVo.setGoodsName(orderGoods.getGoodsName());
+                        }
+                        topRefundUserVo.setRefundSn(item.getRefundSn());
+                        return topRefundUserVo;
+                    }).collect(Collectors.toList());
+                    vo.setRefundUserList(collect);
                 }
             });
         } else {
@@ -2094,6 +2130,34 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             vo.setRefundFee(reduce);
             vo.setRefundReason(refunds.get(0).getApplyReason());
             vo.setApplyTime(refunds.get(0).getCreateTime());
+
+            List<TopRefundUserVo> collect = refunds.stream().map(item -> {
+                TopRefundUserVo topRefundUserVo = new TopRefundUserVo();
+                topRefundUserVo.setRefundFee(item.getRefundFee());
+                topRefundUserVo.setRefundReason(item.getApplyReason());
+                topRefundUserVo.setOrderSn(orderSn);
+                if (item.getRefundType() == 1) {
+                    //学员信息
+                    Order one = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, item.getOrderSn()));
+                    User user = userService.getById(one.getUserId());
+                    topRefundUserVo.setUserCard(EncryptHandler.decrypt(user.getIdCard()));
+                    topRefundUserVo.setUserName(user.getRealname());
+                    Goods g = goodsService.getById(item.getGoodsId());
+                    topRefundUserVo.setGoodsName(g.getGoodsName());
+                    //业务名称
+                    String businessName = goodsService.getBusinessName(item.getGoodsId());
+                    topRefundUserVo.setBusinessName(businessName);
+                } else {
+                    TopOldOrderGoods orderGoods = topOrderGoodsService.getById(item.getOrderGoodsId());
+                    topRefundUserVo.setUserName(orderGoods.getUserName());
+                    topRefundUserVo.setUserCard(EncryptHandler.decrypt(orderGoods.getUserCard()));
+                    topRefundUserVo.setBusinessName(orderGoods.getBusinessFullName());
+                    topRefundUserVo.setGoodsName(orderGoods.getGoodsName());
+                }
+                topRefundUserVo.setRefundSn(item.getRefundSn());
+                return topRefundUserVo;
+            }).collect(Collectors.toList());
+            vo.setRefundUserList(collect);
         }
         // 申请退款审核人
         SysTenant tenant = sysTenantService.getById(orderVo.getTenantId());

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderVo.java

@@ -145,6 +145,9 @@ public class TopOldOrderVo {
 	@ApiModelProperty("财务备注")
 	private String financeRemark;
 
+	@ApiModelProperty("佣金")
+	private BigDecimal brokerage;
+
 	public String getOrderBusiness() {
 		if (CollectionUtils.isEmpty(this.businessNames)){
 			return "";

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopRefundOrderDetailVo.java

@@ -64,4 +64,16 @@ public class TopRefundOrderDetailVo {
 
     @ApiModelProperty("收款账号")
     private String proceedsAccount;
+
+    @ApiModelProperty("退款学员列表")
+    private List<TopRefundUserVo> refundUserList;
+
+    @ApiModelProperty("未收金额")
+    private BigDecimal orderUncollected;
+
+    @ApiModelProperty("已收金额")
+    private BigDecimal orderReceived;
+
+    @ApiModelProperty("佣金")
+    private BigDecimal brokerage;
 }

+ 44 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopRefundUserVo.java

@@ -0,0 +1,44 @@
+package com.zhongzheng.modules.top.goods.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 订单编辑对象 top_order
+ *
+ * @author ruoyi
+ * @date 2023-04-20
+ */
+@Data
+@ApiModel("订单退款学员对象")
+public class TopRefundUserVo {
+
+    @ApiModelProperty("订单编号")
+    private String orderSn;
+
+    @ApiModelProperty("业务类型")
+    private String businessName;
+
+    @ApiModelProperty("课程名称")
+    private String goodsName;
+
+    @ApiModelProperty("学员姓名")
+    private String userName;
+
+    @ApiModelProperty("学员身份证")
+    private String userCard;
+
+    @ApiModelProperty("退款金额")
+    private BigDecimal refundFee;
+
+    @ApiModelProperty("退款理由")
+    private String refundReason;
+
+    @ApiModelProperty("退款单号")
+    private String refundSn;
+
+}

+ 12 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

@@ -939,4 +939,16 @@
         UPDATE goods SET handouts_id = #{handoutsId} WHERE goods_id = #{goodsId} and tenant_id = #{tenantId}
     </update>
 
+    <select id="getBusinessName" parameterType="java.lang.Long" resultType="java.lang.String">
+        SELECT
+            CONCAT( cet.education_name, cb.business_name, cpt.project_name ) AS business_name
+        FROM
+            goods g
+                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
+        WHERE
+            g.goods_id = #{goodsId}
+    </select>
+
 </mapper>

+ 1 - 0
zhongzheng-system/src/main/resources/mapper/modules/top/TopOldOrderMapper.xml

@@ -241,6 +241,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LEFT JOIN `user` u ON o.user_id = u.user_id
         WHERE
         1 = 1 AND o.`status` IN  (0,1)
+        AND ( `o`.`order_type` != 4 )
         AND (
         isnull( `o`.`input_order_sn` )
         OR (