LiRong пре 3 недеља
родитељ
комит
31a052b774

+ 28 - 57
leromro-core/src/main/java/com/leromro/core/controller/OrdersController.java

@@ -2,6 +2,7 @@ package com.leromro.core.controller;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.leromro.common.core.domain.R;
@@ -13,16 +14,14 @@ import com.leromro.core.domain.SecondOrder;
 import com.leromro.core.domain.VolunteerInfo;
 import com.leromro.core.domain.dto.OrderRequestDTO;
 import com.leromro.core.domain.dto.UserOrderReviewDTO;
-import com.leromro.core.domain.vo.MainOrdersVO;
-import com.leromro.core.domain.vo.OrdersInfoVO;
-import com.leromro.core.domain.vo.VolunteerInfoVO;
-import com.leromro.core.domain.vo.webMainOrderListVO;
+import com.leromro.core.domain.vo.*;
 import com.leromro.core.service.IAddressService;
 import com.leromro.core.service.IMainOrderService;
 import com.leromro.core.service.ISecondOrderService;
 import com.leromro.core.service.IVolunteerInfoService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import com.leromro.common.annotation.Log;
@@ -73,16 +72,6 @@ public class OrdersController extends BaseController {
         return R.ok(list);
     }
 
-/*    @ApiOperation("用户查询小订单列表")
-    @GetMapping("/secondOrderList")
-    public R<List<SecondOrder>> selectSecondOrderList(String orderId) {
-        startPage();
-        Long userId = SecurityUtils.getUserId();
-        QueryWrapper<SecondOrder> wrapper = new QueryWrapper<>();
-        wrapper.eq("order_id", orderId).eq("user_id", userId);
-        List<SecondOrder> list = secondOrderService.list(wrapper);
-        return R.ok(list);
-    }*/
 
 
     /**
@@ -121,7 +110,32 @@ public class OrdersController extends BaseController {
         return AjaxResult.success();
     }
 
+    /**
+     * 用户点击完成订单 , 根据评价算钱。
+     */
+    @ApiOperation(value = "用户评价小订单",notes = "传入对象参数 包含: seconderId, 四个score, userReview, userPicture")
+    @PostMapping("/userFinishOrder")
+    public AjaxResult userFinish (@RequestBody UserOrderReviewDTO reviewDTO) {
 
+        secondOrderService.userFinish(reviewDTO);
+        return AjaxResult.success();
+    }
+
+
+    /**
+     * 管理端 订单列表查询
+     */
+    @ApiOperation(value = "管理端订单详情信息查询",notes = "订单mainOrderId")
+    @GetMapping("/web/orderInfo/{mainOrderId}")
+    public R<WebMainOrdersInfoVO> webOrderInfo (@PathVariable String mainOrderId) {
+
+        MainOrders mainOrders = mainOrderService.getById(mainOrderId);
+        List<SecondOrder> secondOrderList = secondOrderService.list(new LambdaQueryWrapper<SecondOrder>().eq(SecondOrder::getMainOrderId, mainOrderId));
+        WebMainOrdersInfoVO webMainOrdersInfoVO = new WebMainOrdersInfoVO();
+        BeanUtils.copyProperties(mainOrders,webMainOrdersInfoVO);
+        webMainOrdersInfoVO.setSecondOrderList(secondOrderList);
+        return R.ok(webMainOrdersInfoVO);
+    }
 /*
     */
 /**
@@ -139,53 +153,10 @@ public class OrdersController extends BaseController {
 
 
 
-    /**
-     * 用户点击完成订单 , 根据评价算钱。
-     */
-    @ApiOperation(value = "用户评价小订单",notes = "传入对象参数 包含: seconderId, score, userReview, userPicture")
-    @PostMapping("/userFinishOrder")
-    public AjaxResult userFinish (@RequestBody UserOrderReviewDTO reviewDTO) {
-
-        secondOrderService.userFinish(reviewDTO);
-        return AjaxResult.success();
-    }
 
 
-    /**
-     * 用户点击完成订单
-     */
-/*    @ApiOperation("用户点击完成主订单")
-    @PostMapping("/userFinishOrder")
-    public AjaxResult userFinish (String mainOrderID) {
-        UpdateWrapper<MainOrders> updateWrapper = new UpdateWrapper<MainOrders>().eq("main_order_id", mainOrderID).set("order_status", 8);
-        mainOrderService.update(updateWrapper);
-        return AjaxResult.success();
-    }*/
-
 
 
-    /**
-     * 修改订单主
-     */
-/*    @ApiOperation("修改订单主")
-    @PreAuthorize("@ss.hasPermi('system:orders:edit')")
-    @Log(title = "订单主", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@RequestBody MainOrders orders)
-    {
-        return toAjax(lOrdersService.updateLOrders(orders));
-    }*/
 
-    /**
-     * 删除订单主
-     */
-/*    @ApiOperation("删除订单主")
-    @PreAuthorize("@ss.hasPermi('system:orders:remove')")
-    @Log(title = "订单主", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{orderIds}")
-    public R<Integer> remove(@PathVariable String[] orderIds)
-    {
-        return R.ok(lOrdersService.deleteLOrdersByOrderIds(orderIds));
-    }*/
 
 }

+ 5 - 4
leromro-core/src/main/java/com/leromro/core/controller/volunteerOrderController.java

@@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 订单主Controller
@@ -90,10 +91,10 @@ public class volunteerOrderController extends BaseController {
                 .eq(SecondOrder::getVolunteerId, getUserId()));
         VolunteerOrderStatisticsVO vo = VolunteerOrderStatisticsVO.builder()
                 .orderCount(orderList.size())
-                .reservationCount((int) orderList.stream().filter(secondOrder -> secondOrder.getOrderStatus() == 0).count())
-                .doingCount((int) orderList.stream().filter(secondOrder -> secondOrder.getOrderStatus() == 1).count())
-                .finishedCount((int) orderList.stream().filter(secondOrder -> secondOrder.getOrderStatus() == 2).count())
-                .cancelCount((int) orderList.stream().filter(secondOrder -> secondOrder.getOrderStatus() == 3).count())
+                .reservationCount((int) orderList.stream().filter(secondOrder -> Objects.equals(secondOrder.getOrderStatus(), "0")).count())
+                .doingCount((int) orderList.stream().filter(secondOrder -> Objects.equals(secondOrder.getOrderStatus(), "1")).count())
+                .finishedCount((int) orderList.stream().filter(secondOrder -> Objects.equals(secondOrder.getOrderStatus(), "2")).count())
+                .cancelCount((int) orderList.stream().filter(secondOrder -> Objects.equals(secondOrder.getOrderStatus(), "3")).count())
                 .build();
         return R.ok(vo);
     }

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

@@ -57,7 +57,7 @@ public class SecondOrder extends BaseEntity
     /** order_status */
     @Excel(name = "小订单状态")
     @ApiModelProperty("小订单状态")
-    private Integer orderStatus;
+    private String orderStatus;
 
 
     /** 大类别 */
@@ -133,6 +133,27 @@ public class SecondOrder extends BaseEntity
     @ApiModelProperty("评分")
     private Integer score;
 
+    /** 评分 */
+    @Excel(name = "服务礼仪")
+    @ApiModelProperty("服务礼仪")
+    private Integer protocolScore;
+
+    /** 评分 */
+    @Excel(name = "服装整洁")
+    @ApiModelProperty("服装整洁")
+    private Integer clothingScore;
+
+    /** 评分 */
+    @Excel(name = "专业能力")
+    @ApiModelProperty("专业能力")
+    private Integer abilityScore;
+
+    /** 评分 */
+    @Excel(name = "服务质量")
+    @ApiModelProperty("服务质量")
+    private Integer qualityScore;
+
+
 
 
 }

+ 39 - 0
leromro-core/src/main/java/com/leromro/core/domain/Slideshow.java

@@ -0,0 +1,39 @@
+package com.leromro.core.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.leromro.common.core.domain.BaseEntity;
+
+/**
+ * 主页轮播图或后续其他广告图片对象 l_slideshow
+ * 
+ * @author ruoyi
+ * @date 2025-04-24
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("l_slideshow")
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "LSlideshow", description = "主页轮播图或后续其他广告图片")
+public class Slideshow extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    @TableId(type = IdType.AUTO)
+    private Long slideshowId;
+
+    /** 图片字符串拼接起来 */
+    @TableField("picture")
+    @ApiModelProperty("图片字符串拼接起来")
+    private String picture;
+
+
+}

+ 14 - 0
leromro-core/src/main/java/com/leromro/core/domain/dto/SlideshowDTO.java

@@ -0,0 +1,14 @@
+package com.leromro.core.domain.dto;
+
+import com.leromro.core.domain.Slideshow;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+public class SlideshowDTO {
+    private List<Slideshow> slideshowList;
+}

+ 13 - 0
leromro-core/src/main/java/com/leromro/core/domain/vo/WebMainOrdersInfoVO.java

@@ -0,0 +1,13 @@
+package com.leromro.core.domain.vo;
+
+import com.leromro.core.domain.MainOrders;
+import com.leromro.core.domain.SecondOrder;
+import lombok.*;
+
+import java.util.List;
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class WebMainOrdersInfoVO extends MainOrders{
+    private List<SecondOrder> secondOrderList;
+}

+ 7 - 6
leromro-core/src/main/java/com/leromro/core/service/impl/OrderRefundServiceImpl.java

@@ -86,7 +86,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         orderRefund.setUserId(SecurityUtils.getUserId());
         orderRefund.setVolunteerId(mainOrders.getVolunteerId());
         //如果这个订单状态为0 可以直接退款
-        if (mainOrders.getOrderStatus() == 1) {
+        if (mainOrders.getOrderStatus().equals("1")) {
             //查询小订单表
             QueryWrapper<SecondOrder> secondOrderQueryWrapper = new QueryWrapper<SecondOrder>().eq("main_order_id", mainOrderId);
             List<SecondOrder> secondOrderList = secondOrdersMapper.selectList(secondOrderQueryWrapper);
@@ -130,18 +130,18 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             orderRefund.setRefundAmount(totalPrice);
             this.save(orderRefund);
             return AjaxResult.success("钱款将在三个工作日内返回到您的钱包中");
-        } else if (mainOrders.getOrderStatus() == 3 ) {
+        } else if (mainOrders.getOrderStatus().equals("3")) {
             orderRefund.setStatus(0);
             orderRefund.setRefundAmount(mainOrders.getServiceOnePrice().multiply(new BigDecimal(mainOrders.getTotalTimes() - mainOrders.getFinishTimes())));
             this.save(orderRefund);
             return AjaxResult.success("已提交申请");
-        } else if (mainOrders.getOrderStatus() == 4 || mainOrders.getOrderStatus() == 8) {
+        } else if (mainOrders.getOrderStatus().equals("4") || mainOrders.getOrderStatus().equals("8")) {
             return AjaxResult.success("订单已全部完成,不可退款");
-        }else if (mainOrders.getOrderStatus() == 5) {
+        }else if (mainOrders.getOrderStatus().equals("5")) {
             return AjaxResult.success("订单退款申请正在审核中");
-        }else if (mainOrders.getOrderStatus() == 6 || mainOrders.getOrderStatus() == 7) {
+        }else if (mainOrders.getOrderStatus().equals("6") || mainOrders.getOrderStatus().equals("7")) {
             return AjaxResult.success("订单已退款或部分退款,不可重复退款");
-        }else if (mainOrders.getOrderStatus() == 0|| mainOrders.getOrderStatus() == 2) {
+        }else if (mainOrders.getOrderStatus().equals("0") || mainOrders.getOrderStatus().equals("2")) {
             return AjaxResult.success("订单未支付或支付失败,不可取消");
         }else{
             return AjaxResult.success("请联系管理员或检查订单状态");
@@ -206,6 +206,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
     @Override
     @Transactional
     public void checkOrderRefund(OrderRefund orderRefund) {
+        //传状态status ,主订单id,同意退款金额
         //只能单独审核
         if (orderRefund.getStatus() == 2){
         //更改状态 更改更新时间,更改审批状态、退款钱数、原因、图片。

+ 7 - 2
leromro-core/src/main/java/com/leromro/core/service/impl/SecondOrdersServiceImpl.java

@@ -70,7 +70,7 @@ public class SecondOrdersServiceImpl extends ServiceImpl<SecondOrdersMapper, Sec
         //插入冻结资金表
         orderFrozenFundsMapper.insert(orderFrozenFunds);
         //更新secondOrder 表 不可以重复完成一个订单
-        if (secondOrderInfo.getOrderStatus().equals(4)){
+        if (secondOrderInfo.getOrderStatus().equals("4")){
             throw new RuntimeException("订单已完成,请勿重复完成");
         }
         UpdateWrapper<SecondOrder> updateWrapper = new UpdateWrapper<>();
@@ -111,7 +111,12 @@ public class SecondOrdersServiceImpl extends ServiceImpl<SecondOrdersMapper, Sec
         BigDecimal volunteerMoney = serviceOnePrice.multiply(new BigDecimal("0.85"));
         BigDecimal scoreMoney = BigDecimal.valueOf(0);
         BigDecimal platformBrokerage = BigDecimal.valueOf(0);
-        Integer score = reviewDTO.getScore();
+        Integer protocolScore = reviewDTO.getProtocolScore();
+        Integer clothingScore = reviewDTO.getClothingScore();
+        Integer abilityScore = reviewDTO.getAbilityScore();
+        Integer qualityScore = reviewDTO.getQualityScore();
+        double averageScore = (double) (protocolScore + clothingScore + abilityScore + qualityScore) /4;
+        Integer score =(int)Math.round(averageScore);
         if  ( score.equals(1) ){
             //  1星85%
             scoreMoney = serviceOnePrice.multiply(new BigDecimal("0.85")).subtract(volunteerMoney);

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

@@ -123,8 +123,7 @@ public class VolunteerInfoServiceImpl extends ServiceImpl<VolunteerInfoMapper, V
     public VolunteerInfo selectByUserID(Long serviceCategory, Long userId) {
         QueryWrapper<VolunteerInfo> wrapper = new QueryWrapper<>();
         wrapper.eq("volunteer_id",userId).eq("service_category",serviceCategory);
-        VolunteerInfo infos = volunteerInfoMapper.selectOne(wrapper);
-        return infos;
+        return volunteerInfoMapper.selectOne(wrapper);
     }
 
     /**     后台web页面志愿者列表