Pārlūkot izejas kodu

小程序的分类,以及所有的订单状态,退款状态,去掉主订单中多余的字段

LiRong 3 nedēļas atpakaļ
vecāks
revīzija
1ec5364977

+ 6 - 6
leromro-core/src/main/java/com/leromro/core/controller/BusinessManagementController.java

@@ -42,9 +42,9 @@ public class BusinessManagementController extends BaseController
      * 查询业务管理(树形结构)列表
      */
     @ApiOperation(value = "查询所有业务列表(树形结构)(web同接口)", notes = "获取所有业务列表,则parentId传0")
-    @ApiImplicitParams(value = {
+    /*@ApiImplicitParams(value = {
             @ApiImplicitParam(name = "parentId", value = "上级id", required = false)
-    })
+    })*/
     @GetMapping("/getTreeList")
     public R<List<BusinessManagementVO>> getTreeList(@RequestParam("parentId") Long parentId)
     {
@@ -52,9 +52,9 @@ public class BusinessManagementController extends BaseController
     }
 
     @ApiOperation(value = "web管理端 修改树形结构", notes = "传入修改的参数")
-    @ApiImplicitParams(value = {
+/*    @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "businessName", value = "修改后的名字", required = false)
-    })
+    })*/
     @PutMapping("/web/updateTree")
     public AjaxResult webUpdateTree(@RequestBody BusinessManagement businessManagement)
     {
@@ -101,9 +101,9 @@ public class BusinessManagementController extends BaseController
     }*/
 
     @ApiOperation(value = "web管理端 详情/回显", notes = "传入id (路径参数)")
-    @ApiImplicitParams(value = {
+/*    @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "businessManagementId", value = "修改后的名字", required = false)
-    })
+    })*/
     @GetMapping("/web/treeInfo/{businessManagementId}")
     public R<BusinessManagement> webBusinessManagementInfo(@PathVariable Long businessManagementId){
         BusinessManagement businessManagement = businessManagementService.getOne(new LambdaQueryWrapper<BusinessManagement>().eq(BusinessManagement::getBusinessManagementId, businessManagementId));

+ 1 - 1
leromro-core/src/main/java/com/leromro/core/controller/OrderRefundController.java

@@ -125,7 +125,7 @@ public class OrderRefundController extends BaseController
     /**
      * 审批通过订单退款 以及后续流程。
      */
-    @ApiOperation("订单退款审批接口")
+    @ApiOperation(value = "web端 订单退款审批接口", notes = "传入mainOrderId,orderRefundId  状态")
    /* @PreAuthorize("@ss.hasPermi('core:refund:remove')")*/
     @Log(title = "订单退款 审批", businessType = BusinessType.UPDATE)
 	@PostMapping("/checkOrderRefund")

+ 1 - 2
leromro-core/src/main/java/com/leromro/core/controller/volunteerOrderController.java

@@ -99,11 +99,10 @@ public class volunteerOrderController extends BaseController {
                 .eq(SecondOrder::getVolunteerId, getUserId()));
         VolunteerOrderStatisticsVO vo = VolunteerOrderStatisticsVO.builder()
                 .orderCount(orderList.size())
-                .haventPayCount((int) orderList.stream().filter(secondOrder -> Objects.equals(secondOrder.getOrderStatus(),"0")).count())
                 .reservationCount((int) orderList.stream().filter(secondOrder -> Objects.equals(secondOrder.getOrderStatus(), "1")).count())
                 .doingCount((int) orderList.stream().filter(secondOrder -> Objects.equals(secondOrder.getOrderStatus(), "3")).count())
                 .finishedCount((int) orderList.stream().filter(secondOrder -> Objects.equals(secondOrder.getOrderStatus(), "4")).count())
-                .cancelCount((int) orderList.stream().filter(secondOrder -> Objects.equals(secondOrder.getOrderStatus(), "6")).count())
+                .cancelCount((int) orderList.stream().filter(secondOrder -> Objects.equals(secondOrder.getOrderStatus(), "2")).count())
                 .build();
         return R.ok(vo);
     }

+ 2 - 2
leromro-core/src/main/java/com/leromro/core/domain/MainOrders.java

@@ -55,8 +55,8 @@ public class MainOrders extends BaseEntity
 
 
     /**  0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款 8 待确认  */
-    @Excel(name = " 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款 8 待评价 ")
-    @ApiModelProperty(" 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款 8 待评价 ")
+    @Excel(name = " 订单状态 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款  ")
+    @ApiModelProperty("订单状态 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款  ")
     private String orderStatus;
 
     /** 服务大类别 */

+ 2 - 2
leromro-core/src/main/java/com/leromro/core/domain/OrderRefund.java

@@ -96,8 +96,8 @@ public class OrderRefund extends BaseEntity {
      * 状态:0 处理中 1已退款 2已驳回
      */
     @TableField("status")
-    @ApiModelProperty("状态:0 处理中 1已退款 2已驳回 ")
-    private Integer status;
+    @ApiModelProperty("状态:0 处理中 1退款中 2已退款 3已驳回 ")
+    private String status;
 
     /**
      * 0 余额 1微信 2支付宝

+ 2 - 2
leromro-core/src/main/java/com/leromro/core/domain/SecondOrder.java

@@ -55,8 +55,8 @@ public class SecondOrder extends BaseEntity
     private Long volunteerId;
 
     /** order_status */
-    @Excel(name = "订单状态")
-    @ApiModelProperty("订单状态")
+    @Excel(name = "订单状态 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款  ")
+    @ApiModelProperty("订单状态 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款  ")
     private String orderStatus;
 
 

+ 5 - 2
leromro-core/src/main/java/com/leromro/core/domain/vo/MainOrdersVO.java

@@ -8,11 +8,14 @@ import lombok.Setter;
 @Getter
 @Setter
 public class MainOrdersVO extends MainOrders {
+    @ApiModelProperty("志愿者名")
     private String name;
+    @ApiModelProperty("志愿者技能描述")
     private String skillDescribe;
-
+    @ApiModelProperty("志愿者图片")
     private String volunteerPicture;
-
+    @ApiModelProperty("志愿者电话")
+    private String phonenumber;
     @ApiModelProperty("业务层级名称")
     private String businessTierName;
 }

+ 7 - 0
leromro-core/src/main/java/com/leromro/core/domain/vo/OrderRefundVO.java

@@ -2,6 +2,7 @@ package com.leromro.core.domain.vo;
 
 import com.leromro.core.domain.MainOrders;
 import com.leromro.core.domain.SecondOrder;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.*;
 
 import java.math.BigDecimal;
@@ -13,13 +14,19 @@ import java.util.List;
 @Setter
 public class OrderRefundVO extends MainOrders {
     /** 剩余次数的总金额 */
+    @ApiModelProperty("剩余次数的总金额")
     private BigDecimal refundAmount;
     /** 志愿者姓名 */
+    @ApiModelProperty("志愿者姓名")
     private String volunteerName;
     /** 志愿者图片 */
+    @ApiModelProperty("志愿者图片")
     private String volunteerPicture;
     /** 剩余次数的总金额 */
+    @ApiModelProperty("剩余次数的总金额")
     private List<SecondOrder> SecondOrder;
 
+    @ApiModelProperty("退款单号id")
+    private Long orderRefundId;
 
 }

+ 0 - 3
leromro-core/src/main/java/com/leromro/core/domain/vo/VolunteerOrderStatisticsVO.java

@@ -14,9 +14,6 @@ public class VolunteerOrderStatisticsVO {
     @ApiModelProperty("订单总数")
     private Integer orderCount; ;
 
-    @ApiModelProperty("未支付总数")
-    private Integer haventPayCount ;
-
     @ApiModelProperty("预约单总数")
     private Integer reservationCount ;
 

+ 8 - 2
leromro-core/src/main/java/com/leromro/core/domain/vo/webMainOrderListVO.java

@@ -14,8 +14,6 @@ import java.util.Date;
 @Data
 public class webMainOrderListVO {
 
-
-
     @ApiModelProperty("订单id")
     private String mainOrderId;
 
@@ -53,4 +51,12 @@ public class webMainOrderListVO {
 
     @ApiModelProperty(value = "志愿者姓名")
     private String name;
+
+    @ApiModelProperty(value = "用户收货地址姓名")
+    private String clientName;
+
+    @ApiModelProperty(value = "用户收货地址电话")
+    private String clientTelephone;
+
+
 }

+ 13 - 10
leromro-core/src/main/java/com/leromro/core/service/impl/MainOrderServiceImpl.java

@@ -69,19 +69,14 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
         List<VolunteerWorkDate> workDateList = orderRequest.getWorkDateList();
         Long userId = SecurityUtils.getUserId();
         long orderId = snowflake.nextId();
-        //创建小订单模板
-        //
-        SecondOrder secondOrder = SecondOrder.builder().mainOrderId(String.valueOf(orderId)).volunteerId(orders.getVolunteerId()).
-                serviceCategory(orders.getServiceCategory()).serviceDuration(orders.getServiceDuration()).addressId(orders.getAddressId())
-                .serviceOnePrice(orders.getServiceOnePrice()).volunteerInfoId(orders.getVolunteerInfoId()).build();
-        secondOrder.setRemark(orders.getRemark());
-        List<SecondOrder> secondOrderList = new ArrayList<>();
+
 
         //获取志愿者信息,同时服务时长和价格也都在志愿者id中进行获取
         VolunteerInfo info = volunteerInfoMapper.selectOne(new LambdaQueryWrapper<VolunteerInfo>()
                 .eq(VolunteerInfo::getVolunteerInfoId, orders.getVolunteerInfoId()));
         BigDecimal serviceOnePrice = info.getBusinessPrice();
         Integer businessDurationMin = info.getBusinessDuration();
+        String seconderStatus;
         // 判断支付方式,余额扣减余额。 1 余额 2 微信
         if (orders.getPaymentMethod().equals("1")){
             // 查看余额够不够  修改用户余额表
@@ -98,14 +93,16 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
             }
             // 余额足够 直接支付 订单状态为已支付
             orders.setOrderStatus("1");
-            secondOrder.setOrderStatus("1");
+            seconderStatus = "1";
+
         }else if (orders.getPaymentMethod().equals("2")){
             //待完成 微信支付
             System.out.println("微信支付");
 
             //设置订单支付状态
             orders.setOrderStatus("0");
-            secondOrder.setOrderStatus("0");
+             seconderStatus = "0";
+
         }else {
             throw new RuntimeException("支付方式错误");
         }
@@ -141,7 +138,13 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
         reservationTime.setRemark(orders.getRemark());
         List<VolunteerReservationTime> reservationTimes = new ArrayList<>();
 
-
+        //创建小订单模板
+        //
+        SecondOrder secondOrder = SecondOrder.builder().mainOrderId(String.valueOf(orderId)).volunteerId(orders.getVolunteerId()).
+                serviceCategory(orders.getServiceCategory()).serviceDuration(orders.getServiceDuration()).addressId(orders.getAddressId())
+                .serviceOnePrice(orders.getServiceOnePrice()).volunteerInfoId(orders.getVolunteerInfoId()).orderStatus(seconderStatus).build();
+        secondOrder.setRemark(orders.getRemark());
+        List<SecondOrder> secondOrderList = new ArrayList<>();
 
         //添加平台
         //创建平台流水模板

+ 19 - 11
leromro-core/src/main/java/com/leromro/core/service/impl/OrderRefundServiceImpl.java

@@ -85,7 +85,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         BigDecimal totalPrice = mainOrders.getServiceTotalPrice();
         orderRefund.setUserId(SecurityUtils.getUserId());
         orderRefund.setVolunteerId(mainOrders.getVolunteerId());
-        //如果这个订单状态为0 可以直接退款
+        //如果这个订单状态为1 (已支付) 未开始  可以直接退款
         if (mainOrders.getOrderStatus().equals("1")) {
             //查询小订单表
             QueryWrapper<SecondOrder> secondOrderQueryWrapper = new QueryWrapper<SecondOrder>().eq("main_order_id", mainOrderId);
@@ -111,7 +111,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             }).collect(Collectors.toList());
             platformFinanceMapper.insertPlatformFinanceList(platformFinanceList);
             //修改,小订单表
-            UpdateWrapper<SecondOrder> secondOrderUpdateWrapper = new UpdateWrapper<SecondOrder>().eq("main_order_id", mainOrderId).set("order_status", 6);
+            UpdateWrapper<SecondOrder> secondOrderUpdateWrapper = new UpdateWrapper<SecondOrder>().eq("main_order_id", mainOrderId).set("order_status", 2);
             secondOrdersMapper.update(null,secondOrderUpdateWrapper);
             //志愿者预约时间表 还有 修改志愿者工作日的预约状态。
             //先把志愿者预约状态全部设置为0
@@ -126,13 +126,13 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
                 workDateMapper.update(null, volunteerWorkDateUpdateWrapper12);
             }
             //在退款记录标中生成数据,状态为 已退款
-            orderRefund.setStatus(2);
+            orderRefund.setStatus("2");
             orderRefund.setRefundAmount(totalPrice);
             this.save(orderRefund);
             return AjaxResult.success("钱款将在三个工作日内返回到您的钱包中");
         } else if (mainOrders.getOrderStatus().equals("3")) {
-            //订单开始或者订单已完成
-            orderRefund.setStatus(0);
+            //订单开始或者订单已完成
+            orderRefund.setStatus("0");
             orderRefund.setRefundAmount(mainOrders.getServiceOnePrice().multiply(new BigDecimal(mainOrders.getTotalTimes() - mainOrders.getFinishTimes())));
             this.save(orderRefund);
             return AjaxResult.success("已提交申请");
@@ -209,14 +209,14 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
     public void checkOrderRefund(OrderRefund orderRefund) {
         //传状态status ,主订单id,同意退款金额
         //只能单独审核
-        if (orderRefund.getStatus() == 2){
-        //更改状态 更改更新时间,更改审批状态、退款钱数、原因、图片。
-            orderRefund.setUpdateTime(DateTimeUtil.getNowTime());
-        lOrderRefundMapper.updateLOrderRefund(orderRefund);
-        String mainOrderId = orderRefund.getMainOrderId();
         //先查订单
+        String mainOrderId = orderRefund.getMainOrderId();
         QueryWrapper<MainOrders> mainOrdersQueryWrapper = new QueryWrapper<MainOrders>().eq("main_order_id", mainOrderId);
         MainOrders mainOrders = mainOrdersMapper.selectOne(mainOrdersQueryWrapper);
+        if (orderRefund.getStatus().equals("2")){
+        //更改状态 更改更新时间,更改审批状态、退款钱数、原因、图片。
+            orderRefund.setUpdateTime(DateTimeUtil.getNowTime());
+        lOrderRefundMapper.updateLOrderRefund(orderRefund);
         //小订单修改状态,并且
         QueryWrapper<SecondOrder> secondOrderQueryWrapper = new QueryWrapper<SecondOrder>().eq("main_order_id", mainOrderId).eq("order_status", 1);
         List<SecondOrder> secondOrderList = secondOrdersMapper.selectList(secondOrderQueryWrapper);
@@ -253,9 +253,17 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         //主订单修改状态
         UpdateWrapper<MainOrders> mainOrdersMapperUpdateWrapper = new UpdateWrapper<MainOrders>().eq("main_order_id", mainOrderId).set("order_status", 7);
         mainOrdersMapper.update(null, mainOrdersMapperUpdateWrapper);
-        }else if (orderRefund.getStatus() == 3){
+        }else if (orderRefund.getStatus().equals("3")){
             orderRefund.setRefundAmount(BigDecimal.valueOf(0));
             orderRefund.setUpdateTime(DateTimeUtil.getNowTime());
+            //主订单修改状态 返回之前的状态
+            if(mainOrders.getTotalTimes()==mainOrders.getFinishTimes()){
+                UpdateWrapper<MainOrders> mainOrdersMapperUpdateWrapper = new UpdateWrapper<MainOrders>().eq("main_order_id", mainOrderId).set("order_status", 4);
+                mainOrdersMapper.update(null, mainOrdersMapperUpdateWrapper);
+            }else {
+                UpdateWrapper<MainOrders> mainOrdersMapperUpdateWrapper = new UpdateWrapper<MainOrders>().eq("main_order_id", mainOrderId).set("order_status", 3);
+                mainOrdersMapper.update(null, mainOrdersMapperUpdateWrapper);
+            }
             lOrderRefundMapper.updateLOrderRefund(orderRefund);
         }
 

+ 3 - 3
leromro-core/src/main/java/com/leromro/core/service/impl/VolunteerInfoServiceImpl.java

@@ -67,11 +67,11 @@ public class VolunteerInfoServiceImpl extends ServiceImpl<VolunteerInfoMapper, V
         if (StrUtil.isBlank(businessManagement.getBusinessTierName()) || businessManagement.getBusinessTierName().length() < 2){
             throw new RuntimeException("当前服务项目层级名称错误");
         }
-        //把BusinessTierName按照-分割
+        //把BusinessTierName按照-分割 (后面再改)
         String[] businessTierName = businessManagement.getBusinessTierName().split("-");
         volunteerInfo.setProjectName(businessTierName[0]);
         volunteerInfo.setProjectTypeName(businessTierName[1]);
-        switch(Integer.parseInt(String.valueOf(serviceCategory))) {
+      /*  switch(Integer.parseInt(String.valueOf(serviceCategory))) {
             case 1:
                 break;
             case 2:
@@ -79,7 +79,7 @@ public class VolunteerInfoServiceImpl extends ServiceImpl<VolunteerInfoMapper, V
                 break;
             default:
                 throw new RuntimeException("当前服务项目层级名称错误");
-        }
+        }*/
 
         volunteerInfo.setVolunteerId(userId);
         volunteerInfo.setServiceCategory(serviceCategory);

+ 10 - 2
leromro-core/src/main/resources/mapper/core/MainOrdersMapper.xml

@@ -122,7 +122,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
     <select id="selectByUserId" resultType="com.leromro.core.domain.vo.MainOrdersVO">
         select
-        lmo.*,lvi.name ,lvi.volunteer_picture as volunteerPicture,lvi.skill_describe,lvi.business_tier_name from  l_main_orders lmo left join l_volunteer_info lvi on lmo.volunteer_id = lvi.volunteer_id
+        lmo.*,lvi.name ,lvi.volunteer_picture as volunteerPicture,lvi.skill_describe,lvi.business_tier_name from  l_main_orders lmo left join l_volunteer_info lvi on lmo.volunteer_info_id = lvi.volunteer_info_id
         <where>
             <if test="orderStatus != null and orderStatus != ''">
                 and order_status = #{orderStatus}
@@ -134,8 +134,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id="webMainOrderList" resultType="com.leromro.core.domain.vo.webMainOrderListVO">
-        select lmo.*,lvi.project_name,lvi.project_type_name,lvi.service_subject_name,lvi.business_tier_name,lvi.name,lvi.phonenumber
+        select lmo.*,lvi.project_name,lvi.business_tier_name,lvi.name,lvi.phonenumber
         from l_main_orders lmo left join l_volunteer_info lvi on lmo.volunteer_info_id = lvi.volunteer_info_id
+        <where>
+            <if test="name != null and name !=''">and name = #{name}</if>
+            <if test="clientTelephone != null and clientTelephone != ''">and client_telephone = #{clientTelephone}</if>
+            <if test="phonenumber != null and phonenumber != ''">and lvi.phonenumber = #{phonenumber}</if>
+            <if test="businessManagementId != null and businessManagementId != ''">and lvi.business_management_id = #{businessManagementId}</if>
+        </where>
+
+        order by create_time desc
     </select>
     <select id="selectWebMainOrderInfoVO" resultType="com.leromro.core.domain.vo.WebMainOrdersInfoVO"
             parameterType="java.lang.String">

+ 4 - 4
leromro-core/src/main/resources/mapper/core/VolunteerInfoMapper.xml

@@ -95,16 +95,16 @@
         where volunteer_id = #{volunteerId} and service_category = #{serviceCategory}
     </select>
     <select id="selectVolunteerInfoSimple" resultType="com.leromro.core.domain.vo.VolunteerInfoVO">
-        select volunteer_id, skill_describe,age ,service_category,name,volunteer_picture,score,business_management_id
-        from l_volunteer_info lvi
+        select volunteer_id, skill_describe,age ,service_category,name,volunteer_picture,score,lvi.business_management_id
+        from l_volunteer_info lvi left join l_business_management lbm on lvi.business_management_id = lbm.business_management_id
         where app_status = 2
-            <if test="name != null  and name != ''"> and lvi.name like concat('%', #{name}, '%')</if>
+        <if test="name != null  and name != ''"> and lvi.name like concat('%', #{name}, '%')</if>
             <if test="score != null "> and lvi.score = #{score}</if>
             <if test="serviceCategory != null and serviceCategory != ''"> and lvi.service_category = #{serviceCategory}</if>
             <if test="skillDescribe != null  and skillDescribe != ''"> and lvi.skill_describe = #{skillDescribe}</if>
             <if test="city != null  and city != ''"> and lvi.city = #{city}</if>
             <if test="address != null  and address != ''"> and lvi.address = #{address}</if>
-
+             <if test="businessManagementId != null and businessManagementId != '' ">and lvi.business_management_id in (select lbm.business_management_id from l_business_management where find_in_set(#{businessManagementId},lbm.ancestors) ) or lvi.business_management_id = 28 </if>
     </select>