Browse Source

查漏补缺

LiRong 2 days ago
parent
commit
8e313c43d7
21 changed files with 975 additions and 92 deletions
  1. 11 0
      leromro-common/src/main/java/com/leromro/common/core/domain/entity/SysUser.java
  2. 1 1
      leromro-core/src/main/java/com/leromro/core/controller/DeptRegionManagementController.java
  3. 14 27
      leromro-core/src/main/java/com/leromro/core/controller/OrdersController.java
  4. 13 21
      leromro-core/src/main/java/com/leromro/core/controller/volunteerOrderController.java
  5. 5 0
      leromro-core/src/main/java/com/leromro/core/domain/MainOrders.java
  6. 3 3
      leromro-core/src/main/java/com/leromro/core/domain/SecondOrder.java
  7. 64 0
      leromro-core/src/main/java/com/leromro/core/domain/dto/WebMainOrdersDTO.java
  8. 150 0
      leromro-core/src/main/java/com/leromro/core/domain/vo/AppSecoundOrderInfoVO.java
  9. 114 0
      leromro-core/src/main/java/com/leromro/core/domain/vo/MainOrderInfoVO.java
  10. 29 5
      leromro-core/src/main/java/com/leromro/core/domain/vo/MainOrdersVO.java
  11. 133 2
      leromro-core/src/main/java/com/leromro/core/domain/vo/SecondOrderInfoVO.java
  12. 307 0
      leromro-core/src/main/java/com/leromro/core/domain/vo/WebSecondOrderInfoVO.java
  13. 5 1
      leromro-core/src/main/java/com/leromro/core/mapper/MainOrdersMapper.java
  14. 7 3
      leromro-core/src/main/java/com/leromro/core/mapper/SecondOrdersMapper.java
  15. 5 5
      leromro-core/src/main/java/com/leromro/core/service/IMainOrderService.java
  16. 7 3
      leromro-core/src/main/java/com/leromro/core/service/ISecondOrderService.java
  17. 17 6
      leromro-core/src/main/java/com/leromro/core/service/impl/MainOrderServiceImpl.java
  18. 34 6
      leromro-core/src/main/java/com/leromro/core/service/impl/SecondOrdersServiceImpl.java
  19. 11 3
      leromro-core/src/main/resources/mapper/core/MainOrdersMapper.xml
  20. 39 5
      leromro-core/src/main/resources/mapper/core/SecondOrdersMapper.xml
  21. 6 1
      leromro-system/src/main/resources/mapper/system/SysUserMapper.xml

+ 11 - 0
leromro-common/src/main/java/com/leromro/common/core/domain/entity/SysUser.java

@@ -47,6 +47,17 @@ public class SysUser extends BaseEntity
     @Excel(name = "用户名称")
     private String nickName;
 
+    public String getAreaType() {
+        return areaType;
+    }
+
+    public void setAreaType(String areaType) {
+        this.areaType = areaType;
+    }
+
+    @Excel(name = "区域类型")
+    private String areaType;
+
     /** 用户邮箱 */
     @Excel(name = "用户邮箱")
     private String email;

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

@@ -32,7 +32,7 @@ import com.leromro.common.core.page.TableDataInfo;
  * @date 2025-05-14
  */
 @RestController
-@Api(tags = "公司管理地区")
+@Api(tags = "公司管理地区,停用")
 @RequestMapping("/core/dept/region-management")
 public class DeptRegionManagementController extends BaseController
 {

+ 14 - 27
leromro-core/src/main/java/com/leromro/core/controller/OrdersController.java

@@ -15,10 +15,7 @@ import com.leromro.core.domain.Address;
 import com.leromro.core.domain.MainOrders;
 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.SettlementOrderDTO;
-import com.leromro.core.domain.dto.SettlementOrderListDTO;
-import com.leromro.core.domain.dto.UserOrderReviewDTO;
+import com.leromro.core.domain.dto.*;
 import com.leromro.core.domain.vo.*;
 import com.leromro.core.facade.OrdersFacade;
 import com.leromro.core.service.IAddressService;
@@ -28,6 +25,7 @@ import com.leromro.core.service.IVolunteerInfoService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
@@ -64,16 +62,16 @@ public class OrdersController extends BaseController {
      */
     @ApiOperation("后台管理web页面订单列表")
     @GetMapping("/web/mainOrderList")
-    public TableDataInfo<webMainOrderListVO> webMainOrderList(MainOrdersVO mainOrdersVO) {
+    public TableDataInfo<webMainOrderListVO> webMainOrderList(WebMainOrdersDTO dto) {
         startPage();
-        List<webMainOrderListVO> list = mainOrderService.webMainOrderList(mainOrdersVO);
+        List<webMainOrderListVO> list = mainOrderService.webMainOrderList(dto);
         return getDataTable(list);
     }
 
     /**
      * 查询订单主列表
      */
-    @ApiOperation("用户查询订单列表")
+    @ApiOperation(" 小程序端:用户查询订单列表")
     @GetMapping("/mainOrderList")
     public TableDataInfo<MainOrdersVO> selectOrderList(String[] orderStatus) {
         startPage();
@@ -89,26 +87,15 @@ public class OrdersController extends BaseController {
      */
     @ApiOperation("用户获取订单详细信息以及大订单所属小订单")
     @GetMapping("orderInfo/{mainOrderId}")
-    public R<OrdersInfoVO> getMainOrderInfo(@PathVariable("mainOrderId") Long mainOrderId) {
-        QueryWrapper<MainOrders> wrapper = new QueryWrapper<>();
-        Long userId = SecurityUtils.getUserId();
-        wrapper.eq("main_order_id", mainOrderId);
-        MainOrders mainOrders = mainOrderService.list(wrapper).get(0);
-        QueryWrapper<SecondOrder> wrapper1 = new QueryWrapper<>();
-        wrapper1.eq("main_order_id", mainOrderId);
-        List<SecondOrder> list = secondOrderService.list(wrapper1);
-        //地址改版,所有地址都在订单中获取
-        Address address = Address.builder().address(mainOrders.getAddress()).name(mainOrders.getClientName()).telephone(mainOrders.getClientTelephone()).build();
-        /* QueryWrapper<Address> addressQueryWrapper = new QueryWrapper<Address>().eq("address_id", mainOrders.getAddressId());
-        Address address = addressService.getOne(addressQueryWrapper);*/
-        QueryWrapper<VolunteerInfo> volunteerInfoQueryWrapper = new QueryWrapper<VolunteerInfo>().eq("volunteer_id", mainOrders.getVolunteerId()).eq("service_category",mainOrders.getServiceCategory());
-        VolunteerInfo volunteerInfo = volunteerInfoService.list(volunteerInfoQueryWrapper).get(0);
-        OrdersInfoVO ordersInfoVO = new OrdersInfoVO();
-        ordersInfoVO.setMainOrders(mainOrders);
-        ordersInfoVO.setSecondOrderList(list);
-        ordersInfoVO.setAddress(address);
-        ordersInfoVO.setVolunteerInfo(volunteerInfo);
-        return R.ok(ordersInfoVO);
+    public R<MainOrderInfoVO> getMainOrderInfo(@PathVariable("mainOrderId") Long mainOrderId) {
+        MainOrderInfoVO mainOrderInfoVO = mainOrderService.selectOrderInfoByUserId(mainOrderId);
+
+        List<SecondOrderInfoVO> secondOrderInfoVOList = secondOrderService.selectSecondOrderInfoVO(mainOrderId);
+
+        mainOrderInfoVO.setSecondOrderList(secondOrderInfoVOList);
+
+
+        return R.ok(mainOrderInfoVO);
     }
 
     /**

+ 13 - 21
leromro-core/src/main/java/com/leromro/core/controller/volunteerOrderController.java

@@ -1,7 +1,6 @@
 package com.leromro.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.leromro.common.core.controller.BaseController;
@@ -9,13 +8,12 @@ import com.leromro.common.core.domain.AjaxResult;
 import com.leromro.common.core.domain.R;
 import com.leromro.common.core.page.TableDataInfo;
 import com.leromro.common.utils.SecurityUtils;
-import com.leromro.core.domain.Address;
-import com.leromro.core.domain.MainOrders;
 import com.leromro.core.domain.PlatformFinance;
 import com.leromro.core.domain.SecondOrder;
-import com.leromro.core.domain.vo.SecondOrderInfoVO;
+import com.leromro.core.domain.vo.AppSecoundOrderInfoVO;
 import com.leromro.core.domain.vo.VolunteerOrderStatisticsVO;
 import com.leromro.core.domain.vo.VolunteerOrdersVO;
+import com.leromro.core.domain.vo.WebSecondOrderInfoVO;
 import com.leromro.core.service.IAddressService;
 import com.leromro.core.service.IMainOrderService;
 import com.leromro.core.service.IPlatformFinanceService;
@@ -58,20 +56,18 @@ public class volunteerOrderController extends BaseController {
         return getDataTable(list);
     }
 
-    @ApiOperation("志愿者订单详情,(收货地址和状态)")
+    @ApiOperation("小程序 志愿者订单详情, 传入订单id")
     @GetMapping("/volunteerOrderInfo")
-    public R<SecondOrderInfoVO> selectVolunteerOrderInfo(String orderId) {
-        QueryWrapper<SecondOrder> wrapper = new QueryWrapper<SecondOrder>().eq("second_order_id", orderId);
-        SecondOrder secondOrderInfo = secondOrderService.list(wrapper).get(0);
+    public R<AppSecoundOrderInfoVO> selectVolunteerOrderInfo(Long secondOrderId) {
+        AppSecoundOrderInfoVO appSecoundOrderInfoVO = secondOrderService.selectAppSecondOrderInfo(secondOrderId);
+        return R.ok(appSecoundOrderInfoVO);
+    }
 
-        QueryWrapper<MainOrders> mainOrdersQueryWrapper = new QueryWrapper<MainOrders>().eq("main_order_id", secondOrderInfo.getMainOrderId());
-        MainOrders mainOrder = mainOrderService.getOne(mainOrdersQueryWrapper);
-        //地址都去主订单里面去获取
-        Address address = Address.builder().address(mainOrder.getAddress()).name(mainOrder.getClientName()).telephone(mainOrder.getClientTelephone()).longitude(mainOrder.getAddressLongitude()).latitude(mainOrder.getAddressLatitude()).build();
-        SecondOrderInfoVO secondOrderInfoVO = new SecondOrderInfoVO();
-        secondOrderInfoVO.setSecondOrder(secondOrderInfo);
-        secondOrderInfoVO.setAddress(address);
-        return R.ok(secondOrderInfoVO);
+    @ApiOperation("web 志愿者订单详情, 传入订单id")
+    @GetMapping("/web/volunteerOrderInfo")
+    public R<WebSecondOrderInfoVO> selectWebVolunteerOrderInfo(Long secondOrderId) {
+        WebSecondOrderInfoVO webSecondOrderInfo = secondOrderService.selectWebAppSecondOrderInfo(secondOrderId);
+        return R.ok(webSecondOrderInfo);
     }
 
     @ApiOperation(value = "志愿者滑动,开始订单", notes = "目前只传secondOrderId(第二版再根据地址判断)")
@@ -86,12 +82,8 @@ public class volunteerOrderController extends BaseController {
 
         return AjaxResult.success();
     }
+
     @ApiOperation(value = "志愿者滑动,结束订单并上传图片", notes = "传入seconderOrderId,以及图片拼接在一起的字符串 json对象参数")
-/*    @ApiImplicitParams(value = {
-            @ApiImplicitParam(name = "seconderOrderId", value = "志愿者订单id", required = true),
-            @ApiImplicitParam(name = "serviceLog", value = "志愿者上传图片拼接的字符串", required = true),
-            @ApiImplicitParam(name = "volunteerId", value = "志愿者的id", required = true)
-    })*/
     @PostMapping("/volunteerFinishSecondOrder")
     public AjaxResult volunteerFinishWork(@RequestBody SecondOrder secondOrder){
         return  secondOrderService.volunteerFinishWork(secondOrder);

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

@@ -186,6 +186,11 @@ public class MainOrders extends BaseEntity
     @ApiModelProperty("商户订单号")
     private String outTradeNo;
 
+    @ApiModelProperty("区域公司id")
+    private Long areaDistributionId;
+
+    @ApiModelProperty("服务中心id")
+    private Long serviceCenterId;
     /**
      * 分配状态:10 未分配到服务中心   20已分配到服务中心   30匹配到多个服务中心
      */

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

@@ -180,8 +180,8 @@ public class SecondOrder extends BaseEntity
     private Integer qualityScore;
 
     /** 评分 */
-    @Excel(name = "服务质量")
-    @ApiModelProperty("服务质量")
+    @Excel(name = "志愿者主键id")
+    @ApiModelProperty("志愿者主键id")
     private Long volunteerInfoId;
 
     @TableField("province_code")
@@ -217,7 +217,7 @@ public class SecondOrder extends BaseEntity
     private String latitude;
 
     @TableField("out_trade_no")
-    @ApiModelProperty("商户订单号")
+    @ApiModelProperty("业务单号")
     private String outTradeNo;
 
     @TableField("allot_status")

+ 64 - 0
leromro-core/src/main/java/com/leromro/core/domain/dto/WebMainOrdersDTO.java

@@ -0,0 +1,64 @@
+package com.leromro.core.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+@Data
+@Getter
+@Setter
+public class WebMainOrdersDTO {
+    @ApiModelProperty("志愿者名")
+    private String name;
+
+    @ApiModelProperty("志愿者电话")
+    private String phonenumber;
+
+    @ApiModelProperty("商户订单号")
+    private String outTradeNo;
+
+    @ApiModelProperty("总价")
+    private BigDecimal serviceTotalPrice;
+    @ApiModelProperty("服务类别id")
+    private Long businessManagementId;
+
+    @ApiModelProperty("订单状态 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款  ")
+    private String orderStatus;
+
+    @ApiModelProperty("服务总评分这一版先不使用")
+    private Long score;
+
+    @ApiModelProperty("业务层级名称")
+    private String businessTierName;
+
+    @ApiModelProperty("受服务地址人姓名")
+    private String clientName;
+    @ApiModelProperty("受服务地址手机号")
+    private String clientTelephone;
+    /** 省级区划编号 */
+    @ApiModelProperty("省级区划编号")
+    private String provinceCode;
+
+    /** 省级名称 */
+    @ApiModelProperty("省级名称")
+    private String provinceName;
+
+    /** 市级编号 */
+    @ApiModelProperty("市级编号")
+    private String cityCode;
+
+    /** 市级名称 */
+    @ApiModelProperty("市级名称")
+    private String cityName;
+
+    /** 区级区划编号 */
+    @ApiModelProperty("区级区划编号")
+    private String districtCode;
+
+    /** 区级名称 */
+    @ApiModelProperty("区级名称")
+    private String districtName;
+}

+ 150 - 0
leromro-core/src/main/java/com/leromro/core/domain/vo/AppSecoundOrderInfoVO.java

@@ -0,0 +1,150 @@
+package com.leromro.core.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.leromro.common.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalTime;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AppSecoundOrderInfoVO {
+    @ApiModelProperty("主键 小订单表id")
+    private Long secondOrderId;
+
+    @ApiModelProperty("订单状态 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款  ")
+    private String orderStatus;
+
+    @ApiModelProperty("志愿者结算状态: 10 未结算 20已结算")
+    private String volunteerSettlementStatus;
+
+    @ApiModelProperty("服务地址")
+    private String address;
+
+    @ApiModelProperty("被服务人姓名")
+    private String clientName;
+
+    @ApiModelProperty("被服务人姓名")
+    private String clientPhoneNumber;
+
+    @ApiModelProperty("区域公司名字")
+    private String businessTireName;
+
+    @ApiModelProperty("区域公司名字")
+    private String areaDistributionName;
+
+    @ApiModelProperty("服务中心名字")
+    private String serviceCenterName;
+
+    @ApiModelProperty("志愿者文字评价")
+    private String volunteerReview;
+
+    @ApiModelProperty("志愿者图片记录")
+    private String volunteerPicture;
+
+    @ApiModelProperty("大类别")
+    private Long serviceCategory;
+
+    @ApiModelProperty("用户文字评价")
+    private String userReview;
+
+    @ApiModelProperty("用户图片记录")
+    private String userPicture;
+
+    /** 服务开始日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "预计服务开始日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty("预计服务开始日期")
+    private LocalDate workDate;
+
+    /** 工作开始时间 HH:ss */
+    @JsonFormat(pattern = "HH:ss")
+    @Excel(name = "预计工作开始时间 HH:ss", width = 30, dateFormat = "HH:ss")
+    @ApiModelProperty("预计工作开始时间 HH:ss")
+    private LocalTime workStartTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "HH:ss")
+    @Excel(name = "预计结束时间", width = 30, dateFormat = "HH:ss")
+    @ApiModelProperty("预计结束时间")
+    private LocalTime workEndTime;
+
+    @ApiModelProperty("单次服务数量")
+    private Long singleQuantity;
+
+    @ApiModelProperty("服务第几次")
+    private Long workNumber;
+
+    @ApiModelProperty("服务时长(小时)")
+    private Integer serviceDuration;
+
+    /** 评分 */
+    @Excel(name = "评分")
+    @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;
+
+    @TableField("province_code")
+    @ApiModelProperty("省级区划编号")
+    private String provinceCode;
+
+    @TableField("province_name")
+    @ApiModelProperty("省级名称")
+    private String provinceName;
+
+    @TableField("city_code")
+    @ApiModelProperty("市级编号")
+    private String cityCode;
+
+    @TableField("city_name")
+    @ApiModelProperty("市级名称")
+    private String cityName;
+
+    @TableField("district_code")
+    @ApiModelProperty("区级区划编号")
+    private String districtCode;
+
+    @TableField("district_name")
+    @ApiModelProperty("区级名称")
+    private String districtName;
+
+    @TableField("longitude")
+    @ApiModelProperty("经度")
+    private String longitude;
+
+    @TableField("latitude")
+    @ApiModelProperty("纬度")
+    private String latitude;
+
+    @TableField("out_trade_no")
+    @ApiModelProperty("业务单号")
+    private String outTradeNo;
+}

+ 114 - 0
leromro-core/src/main/java/com/leromro/core/domain/vo/MainOrderInfoVO.java

@@ -0,0 +1,114 @@
+package com.leromro.core.domain.vo;
+
+import com.leromro.common.annotation.Sensitive;
+import com.leromro.common.enums.DesensitizedType;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.poi.hpsf.Decimal;
+
+import java.math.BigDecimal;
+import java.time.LocalTime;
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class MainOrderInfoVO {
+    @ApiModelProperty("地址信息-详细地址")
+    private String address;
+
+    @ApiModelProperty("地址信息-收货人姓名")
+    private String name;
+
+    @ApiModelProperty("地址信息-收货人手机号")
+    private String telephone;
+
+    @ApiModelProperty("地址信息-省级名称")
+    private String provinceName;
+
+    @ApiModelProperty("地址信息-市级名称")
+    private String cityName;
+
+    @ApiModelProperty("地址信息-区级名称")
+    private String districtName;
+
+    @ApiModelProperty("订单信息-服务的总价")
+    private BigDecimal serviceTotalPrice;
+
+    @ApiModelProperty("订单信息-支付方式 字典中获取")
+    private String paymentMethod;
+
+    @ApiModelProperty("订单信息-订单状态")
+    private String orderStatus;
+
+    @ApiModelProperty("订单信息-订单订单id(不展示)")
+    private Long mainOrderId;
+
+    @ApiModelProperty("订单信息-对外暴露的订单号")
+    private String outTradeNo;
+
+    @ApiModelProperty("服务信息-业务id(不显示)")
+    private Long businessManagementId;
+
+    @ApiModelProperty("服务信息-业务名称")
+    private String businessManagementName;
+
+    @ApiModelProperty("服务信息-服务大类别")
+    private Long serviceCategory;
+
+    @ApiModelProperty("服务信息-服务单位时长(分钟)(不显示)(一次的时长)")
+    private Long serviceDuration;
+
+    @ApiModelProperty("服务信息-单位价格")
+    private BigDecimal serviceOnePrice;
+
+    @ApiModelProperty("服务信息-单位名称")
+    private String businessUnit;
+
+    @ApiModelProperty("服务信息-服务数量(一个时间的次数)")
+    private Long singleQuantity;
+
+    @ApiModelProperty("服务信息-服务总次数")
+    private Long totalTimes;
+
+    @ApiModelProperty("服务信息-服务描述")
+    private String businessDescribe;
+
+    @ApiModelProperty("志愿者信息-志愿者(用户)id(不显示)")
+    private Long volunteerId;
+
+    @ApiModelProperty("志愿者信息-志愿者主键id(不显示)")
+    private Long volunteerInfoId;
+
+    @ApiModelProperty("志愿者信息-志愿者年龄")
+    private Integer age;
+
+    @ApiModelProperty("志愿者信息-志愿者资质证书")
+    private String certificationPicture;
+
+    @Sensitive(desensitizedType = DesensitizedType.USERNAME)
+    @ApiModelProperty("志愿者信息-志愿者姓名")
+    private String VolunteerName;
+
+    @Sensitive(desensitizedType = DesensitizedType.PHONE)
+    @ApiModelProperty("志愿者信息-志愿者电话")
+    private String phonenumber;
+
+    @ApiModelProperty("志愿者信息-志愿者性别")
+    private Integer sex;
+
+    @ApiModelProperty("志愿者信息-志愿者技能描述")
+    private String skillDescribe;
+
+    @ApiModelProperty("志愿者信息-志愿者照片")
+    private String volunteerPicture;
+
+    @ApiModelProperty("小订单列表")
+    private List<SecondOrderInfoVO> secondOrderList;
+
+
+}

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

@@ -1,21 +1,45 @@
 package com.leromro.core.domain.vo;
 
+import com.leromro.common.annotation.Excel;
 import com.leromro.core.domain.MainOrders;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 @Getter
 @Setter
-public class MainOrdersVO extends MainOrders {
+@Data
+public class MainOrdersVO  {
+    @ApiModelProperty("主订单id")
+    private String mainOrderId;
+
     @ApiModelProperty("志愿者名")
     private String name;
-    @ApiModelProperty("志愿者技能描述")
-    private String skillDescribe;
+
     @ApiModelProperty("志愿者图片")
     private String volunteerPicture;
-    @ApiModelProperty("志愿者电话")
-    private String phonenumber;
+
+    @ApiModelProperty("总价")
+    private BigDecimal serviceTotalPrice;
+
+    @ApiModelProperty("订单状态 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款  ")
+    private String orderStatus;
+
+    @ApiModelProperty("服务总评分 这一版先不使用")
+    private Long score;
+
     @ApiModelProperty("业务层级名称")
     private String businessTierName;
+
+    @ApiModelProperty("服务描述")
+    private String businessDescribe;
+
+    @ApiModelProperty("创建订单日期")
+    private Date createTime;
+
+
 }

+ 133 - 2
leromro-core/src/main/java/com/leromro/core/domain/vo/SecondOrderInfoVO.java

@@ -1,14 +1,145 @@
 package com.leromro.core.domain.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.leromro.common.annotation.Excel;
 import com.leromro.core.domain.Address;
 import com.leromro.core.domain.SecondOrder;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalTime;
+
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
 public class SecondOrderInfoVO {
-    private Address address;
-    private SecondOrder secondOrder;
+
+    @ApiModelProperty("主键 小订单表id")
+    private Long secondOrderId;
+
+    @ApiModelProperty("小订单总价")
+    private BigDecimal serviceTotalPrice;
+
+    @ApiModelProperty("订单状态 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款  ")
+    private String orderStatus;
+
+    @ApiModelProperty("志愿者结算状态: 10 未结算 20已结算")
+    private String volunteerSettlementStatus;
+
+    @ApiModelProperty("服务地址")
+    private String address;
+
+    @ApiModelProperty("区域公司名字")
+    private String areaDistributionName;
+
+    @ApiModelProperty("服务中心名字")
+    private String serviceCenterName;
+
+    @ApiModelProperty("志愿者文字评价")
+    private String volunteerReview;
+
+    @ApiModelProperty("志愿者图片记录")
+    private String volunteerPicture;
+
+    @ApiModelProperty("大类别")
+    private Long serviceCategory;
+
+    @ApiModelProperty("用户文字评价")
+    private String userReview;
+
+    @ApiModelProperty("用户图片记录")
+    private String userPicture;
+
+    /** 服务开始日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "预计服务开始日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty("预计服务开始日期")
+    private LocalDate workDate;
+
+    /** 工作开始时间 HH:ss */
+    @JsonFormat(pattern = "HH:ss")
+    @Excel(name = "预计工作开始时间 HH:ss", width = 30, dateFormat = "HH:ss")
+    @ApiModelProperty("预计工作开始时间 HH:ss")
+    private LocalTime workStartTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "HH:ss")
+    @Excel(name = "预计结束时间", width = 30, dateFormat = "HH:ss")
+    @ApiModelProperty("预计结束时间")
+    private LocalTime workEndTime;
+
+    @ApiModelProperty("单次服务数量")
+    private Long singleQuantity;
+
+    @ApiModelProperty("服务第几次")
+    private Long workNumber;
+
+    @ApiModelProperty("服务时长(小时)")
+    private Integer serviceDuration;
+
+    /** 评分 */
+    @Excel(name = "评分")
+    @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;
+
+    @TableField("province_code")
+    @ApiModelProperty("省级区划编号")
+    private String provinceCode;
+
+    @TableField("province_name")
+    @ApiModelProperty("省级名称")
+    private String provinceName;
+
+    @TableField("city_code")
+    @ApiModelProperty("市级编号")
+    private String cityCode;
+
+    @TableField("city_name")
+    @ApiModelProperty("市级名称")
+    private String cityName;
+
+    @TableField("district_code")
+    @ApiModelProperty("区级区划编号")
+    private String districtCode;
+
+    @TableField("district_name")
+    @ApiModelProperty("区级名称")
+    private String districtName;
+
+    @TableField("longitude")
+    @ApiModelProperty("经度")
+    private String longitude;
+
+    @TableField("latitude")
+    @ApiModelProperty("纬度")
+    private String latitude;
+
+    @TableField("out_trade_no")
+    @ApiModelProperty("业务单号")
+    private String outTradeNo;
 }

+ 307 - 0
leromro-core/src/main/java/com/leromro/core/domain/vo/WebSecondOrderInfoVO.java

@@ -0,0 +1,307 @@
+package com.leromro.core.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.leromro.common.annotation.Excel;
+import com.leromro.core.domain.SecondOrder;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalTime;
+import java.util.Date;
+
+@Data
+@Getter
+@Setter
+public class WebSecondOrderInfoVO  {
+
+    @ApiModelProperty("主键 小订单表id")
+    private Long secondOrderId;
+
+    @ApiModelProperty("订单状态 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款  ")
+    private String orderStatus;
+
+    @ApiModelProperty("志愿者结算状态: 10 未结算 20已结算")
+    private String volunteerSettlementStatus;
+
+    @ApiModelProperty("服务地址")
+    private String address;
+
+    @ApiModelProperty("被服务人姓名")
+    private String clientName;
+
+    @ApiModelProperty("被服务人姓名")
+    private String clientPhoneNumber;
+
+    @ApiModelProperty("区域公司名字")
+    private String businessTireName;
+
+    @ApiModelProperty("区域公司名字")
+    private String areaDistributionName;
+
+    @ApiModelProperty("服务中心名字")
+    private String serviceCenterName;
+
+    @ApiModelProperty("志愿者文字评价")
+    private String volunteerReview;
+
+    @ApiModelProperty("志愿者图片记录")
+    private String volunteerPicture;
+
+    @ApiModelProperty("大类别")
+    private Long serviceCategory;
+
+    @ApiModelProperty("用户文字评价")
+    private String userReview;
+
+    @ApiModelProperty("用户图片记录")
+    private String userPicture;
+
+    /** 服务开始日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "预计服务开始日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty("预计服务开始日期")
+    private LocalDate workDate;
+
+    /** 工作开始时间 HH:ss */
+    @JsonFormat(pattern = "HH:ss")
+    @Excel(name = "预计工作开始时间 HH:ss", width = 30, dateFormat = "HH:ss")
+    @ApiModelProperty("预计工作开始时间 HH:ss")
+    private LocalTime workStartTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "HH:ss")
+    @Excel(name = "预计结束时间", width = 30, dateFormat = "HH:ss")
+    @ApiModelProperty("预计结束时间")
+    private LocalTime workEndTime;
+
+    @ApiModelProperty("单次服务数量")
+    private Long singleQuantity;
+
+    @ApiModelProperty("服务第几次")
+    private Long workNumber;
+
+    @ApiModelProperty("服务时长(小时)")
+    private Integer serviceDuration;
+
+    /** 评分 */
+    @Excel(name = "评分")
+    @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;
+
+    @TableField("province_code")
+    @ApiModelProperty("省级区划编号")
+    private String provinceCode;
+
+    @TableField("province_name")
+    @ApiModelProperty("省级名称")
+    private String provinceName;
+
+    @TableField("city_code")
+    @ApiModelProperty("市级编号")
+    private String cityCode;
+
+    @TableField("city_name")
+    @ApiModelProperty("市级名称")
+    private String cityName;
+
+    @TableField("district_code")
+    @ApiModelProperty("区级区划编号")
+    private String districtCode;
+
+    @TableField("district_name")
+    @ApiModelProperty("区级名称")
+    private String districtName;
+
+    @TableField("longitude")
+    @ApiModelProperty("经度")
+    private String longitude;
+
+    @TableField("latitude")
+    @ApiModelProperty("纬度")
+    private String latitude;
+
+    @TableField("out_trade_no")
+    @ApiModelProperty("业务单号")
+    private String outTradeNo;
+
+    @TableField("allot_status")
+    @ApiModelProperty("分配状态:10 未分配到服务中心  20 已分配到服务中心")
+    private String allotStatus;
+
+
+    @ApiModelProperty("订单创建时间")
+    private Date secondOrderCreateTime;
+    /**
+     * 区域抽成比例,如0.7
+     */
+    @ApiModelProperty("区域抽成比例")
+    private BigDecimal areaDistributionRatio;
+
+    /**
+     * 区域抽成金额(元)
+     */
+    @ApiModelProperty("区域抽成金额(元)")
+    private BigDecimal areaDistributionAmount;
+
+    /**
+     * 区域结算状态 10未结算 20审核中 30审核未通过 40打款中 50已结算
+     */
+    @ApiModelProperty("区域结算状态 10未结算 20审核中 30审核未通过 40打款中 50已结算")
+    private String areaSettlementStatus;
+
+    /**
+     * 区域结算时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("区域结算时间")
+    private Date areaSettlementTime;
+
+    /**
+     * 区域管理结算操作用户id
+     */
+    @ApiModelProperty("区域管理结算操作用户id")
+    private Long areaSettlementUserId;
+
+    /**
+     * 区域管理费用付款方式 1银行卡
+     */
+    @ApiModelProperty("区域管理费用付款方式 1银行卡")
+    private String areaPayerMethod;
+
+    /**
+     * 区域管理费用付款账户
+     */
+    @ApiModelProperty("区域管理费用付款账户")
+    private String areaPayerAccount;
+
+    /**
+     * 区域管理费用付款银行名称
+     */
+    @ApiModelProperty("区域管理费用付款银行名称")
+    private String areaPayerAccountBankName;
+
+    /**
+     * 区域收款方式 1银行卡
+     */
+    @ApiModelProperty("区域收款方式 1银行卡")
+    private String areaPayeeMethod;
+
+    /**
+     * 区域收款账号
+     */
+    @ApiModelProperty("区域收款账号")
+    private String areaPayeeAccount;
+
+    /**
+     * 区域收款银行名称
+     */
+    @ApiModelProperty("区域收款银行名称")
+    private String areaPayeeBankName;
+
+    /**
+     * 区域收款人姓名
+     */
+    @ApiModelProperty("区域收款人姓名")
+    private String areaPayeeName;
+
+    /**
+     * 服务中心抽成比例
+     */
+    @ApiModelProperty("服务中心抽成比例")
+    private BigDecimal serviceCentreDistributionRatio;
+
+    /**
+     * 服务中心抽成金额(元)
+     */
+    @ApiModelProperty("服务中心抽成金额(元)")
+    private BigDecimal serviceCentreDistributionAmount;
+
+    /**
+     * 服务中心费用结算状态 10未结算 20审核中 30审核未通过 40打款中 50已结算
+     */
+    @ApiModelProperty("服务中心费用结算状态 10未结算 20审核中 30审核未通过 40打款中 50已结算")
+    private String serviceCentreSettlementStatus;
+
+    /**
+     * 服务中心费用结算时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("服务中心费用结算时间")
+    private Date serviceCentreSettlementTime;
+
+    /**
+     * 服务中心结算操作用户id
+     */
+    @ApiModelProperty("服务中心结算操作用户id")
+    private Long serviceCentreSettlementUserId;
+
+    /**
+     * 服务中心费用付款方式 1银行卡
+     */
+    @ApiModelProperty("服务中心费用付款方式 1银行卡")
+    private String serviceCentrePayerMethod;
+
+    /**
+     * 服务中心费用付款账户
+     */
+    @ApiModelProperty("服务中心费用付款账户")
+    private String serviceCentrePayerAccount;
+
+    /**
+     * 服务中心费用付款银行名称
+     */
+    @ApiModelProperty("服务中心费用付款银行名称")
+    private String serviceCentrePayerBankName;
+
+    /**
+     * 服务中心收款方式 1银行卡
+     */
+    @ApiModelProperty("服务中心收款方式 1银行卡")
+    private String serviceCentrePayeeMethod;
+
+    /**
+     * 服务中心收款账号
+     */
+    @ApiModelProperty("服务中心收款账号")
+    private String serviceCentrePayeeAccount;
+
+    /**
+     * 服务中心收款银行名称
+     */
+    @ApiModelProperty("服务中心收款银行名称")
+    private String serviceCentrePayeeBankName;
+
+    /**
+     * 服务中心收款人姓名
+     */
+    @ApiModelProperty("服务中心收款人姓名")
+    private String serviceCentrePayeeName;
+    @ApiModelProperty("备注")
+    private String remark;
+
+}

+ 5 - 1
leromro-core/src/main/java/com/leromro/core/mapper/MainOrdersMapper.java

@@ -2,6 +2,8 @@ package com.leromro.core.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.leromro.core.domain.MainOrders;
+import com.leromro.core.domain.dto.WebMainOrdersDTO;
+import com.leromro.core.domain.vo.MainOrderInfoVO;
 import com.leromro.core.domain.vo.MainOrdersVO;
 import com.leromro.core.domain.vo.WebMainOrdersInfoVO;
 import com.leromro.core.domain.vo.webMainOrderListVO;
@@ -14,9 +16,11 @@ public interface MainOrdersMapper extends BaseMapper<MainOrders> {
 
      List<MainOrdersVO> selectByUserId(@Param("orderStatus") String[] orderStatus, @Param("userId") Long userId);
 
-    List<webMainOrderListVO> webMainOrderList(MainOrdersVO mainOrdersVO);
+    List<webMainOrderListVO> webMainOrderList(WebMainOrdersDTO dto);
 
     void startService(Long secondOrderId);
 
     WebMainOrdersInfoVO selectWebMainOrderInfoVO(Long mainOrderId);
+
+    MainOrderInfoVO selectOrderInfoByUserId(Long mainOrderId);
 }

+ 7 - 3
leromro-core/src/main/java/com/leromro/core/mapper/SecondOrdersMapper.java

@@ -5,9 +5,7 @@ import com.leromro.common.core.domain.ListPermission;
 import com.leromro.core.domain.SecondOrder;
 import com.leromro.core.domain.dto.HomePageDTO;
 import com.leromro.core.domain.dto.AuthSettlementOrderListDTO;
-import com.leromro.core.domain.vo.SettlementOrderDetailVO;
-import com.leromro.core.domain.vo.SettlementOrderListVO;
-import com.leromro.core.domain.vo.VolunteerOrdersVO;
+import com.leromro.core.domain.vo.*;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -26,4 +24,10 @@ public interface SecondOrdersMapper extends BaseMapper<SecondOrder> {
     void updatedeptAmountList(List<SecondOrder> secondOrderList);
 
     SettlementOrderDetailVO getSettlementOrderDetail(Long secondOrderId);
+
+    List<SecondOrderInfoVO> selectSecondOrderInfoVO(Long mainOrderId);
+
+    AppSecoundOrderInfoVO selectAppSecondOrderInfo(Long secondOrderId);
+
+    WebSecondOrderInfoVO selectWebSecondOrderInfo(Long secondOrderId);
 }

+ 5 - 5
leromro-core/src/main/java/com/leromro/core/service/IMainOrderService.java

@@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.leromro.common.core.domain.R;
 import com.leromro.core.domain.MainOrders;
 import com.leromro.core.domain.dto.OrderRequestDTO;
-import com.leromro.core.domain.vo.MainOrdersVO;
-import com.leromro.core.domain.vo.OrderPaymentVO;
-import com.leromro.core.domain.vo.WebMainOrdersInfoVO;
-import com.leromro.core.domain.vo.webMainOrderListVO;
+import com.leromro.core.domain.dto.WebMainOrdersDTO;
+import com.leromro.core.domain.vo.*;
 
 import java.util.List;
 
@@ -17,7 +15,7 @@ public interface IMainOrderService extends IService<MainOrders> {
     R<OrderPaymentVO> createOrders(OrderRequestDTO orderRequest) throws Exception;
 
 
-    List<webMainOrderListVO> webMainOrderList(MainOrdersVO mainOrdersVO);
+    List<webMainOrderListVO> webMainOrderList(WebMainOrdersDTO dto);
 
     void startService(Long secondOrderId);
 
@@ -25,4 +23,6 @@ public interface IMainOrderService extends IService<MainOrders> {
 
     //支付成功后,向平台资金流水中增加数据
     public void changePlatformFinance ( List<Long> seconderIdList,MainOrders orders);
+
+    MainOrderInfoVO selectOrderInfoByUserId(Long mainOrderId);
 }

+ 7 - 3
leromro-core/src/main/java/com/leromro/core/service/ISecondOrderService.java

@@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.leromro.common.core.domain.AjaxResult;
 import com.leromro.core.domain.SecondOrder;
 import com.leromro.core.domain.dto.*;
-import com.leromro.core.domain.vo.SettlementOrderDetailVO;
-import com.leromro.core.domain.vo.SettlementOrderListVO;
-import com.leromro.core.domain.vo.VolunteerOrdersVO;
+import com.leromro.core.domain.vo.*;
 
 import java.util.List;
 
@@ -72,4 +70,10 @@ public interface ISecondOrderService extends IService<SecondOrder> {
      * @return
      */
     SettlementOrderDetailVO getSettlementOrderDetail(Long secondOrderId);
+
+    List<SecondOrderInfoVO> selectSecondOrderInfoVO(Long mainOrderId);
+
+    AppSecoundOrderInfoVO selectAppSecondOrderInfo(Long secondOrderId);
+
+    WebSecondOrderInfoVO selectWebAppSecondOrderInfo(Long secondOrderId);
 }

+ 17 - 6
leromro-core/src/main/java/com/leromro/core/service/impl/MainOrderServiceImpl.java

@@ -14,10 +14,8 @@ import com.leromro.common.utils.GeoUtils;
 import com.leromro.common.utils.SecurityUtils;
 import com.leromro.core.domain.*;
 import com.leromro.core.domain.dto.OrderRequestDTO;
-import com.leromro.core.domain.vo.MainOrdersVO;
-import com.leromro.core.domain.vo.OrderPaymentVO;
-import com.leromro.core.domain.vo.WebMainOrdersInfoVO;
-import com.leromro.core.domain.vo.webMainOrderListVO;
+import com.leromro.core.domain.dto.WebMainOrdersDTO;
+import com.leromro.core.domain.vo.*;
 import com.leromro.core.mapper.*;
 import com.leromro.core.service.IMainOrderService;
 import com.leromro.core.service.IOrderSettlementApplicationService;
@@ -101,6 +99,9 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
         OrderPaymentVO vo = new OrderPaymentVO();
         //订单信息
         MainOrders orders = orderRequest.getOrders();
+        if (SecurityUtils.getUserId().equals(orders.getVolunteerId())){
+            throw new RuntimeException("不可以给自己下单");
+        }
         //由于前端传过来的不是有序的,所以我们要将工作时间进行排序
         List<VolunteerWorkDate> workDateList = orderRequest.getWorkDateList()
                 .stream()
@@ -358,8 +359,8 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
 
 
     @Override
-    public List<webMainOrderListVO> webMainOrderList(MainOrdersVO mainOrdersVO) {
-        List<webMainOrderListVO> vos = baseMapper.webMainOrderList(mainOrdersVO);
+    public List<webMainOrderListVO> webMainOrderList(WebMainOrdersDTO dto) {
+        List<webMainOrderListVO> vos = baseMapper.webMainOrderList(dto);
         return vos;
     }
 
@@ -397,4 +398,14 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
         //新增公司资金流水表N个
         platformFinanceMapper.insertPlatformFinanceList(platformFinanceList);
     }
+
+    /**
+     * @param mainOrderId
+     * @return
+     */
+    @Override
+    public MainOrderInfoVO selectOrderInfoByUserId(Long mainOrderId) {
+        MainOrderInfoVO mainOrderInfoVO = mainOrdersMapper.selectOrderInfoByUserId(mainOrderId);
+        return mainOrderInfoVO;
+    }
 }

+ 34 - 6
leromro-core/src/main/java/com/leromro/core/service/impl/SecondOrdersServiceImpl.java

@@ -17,9 +17,7 @@ import com.leromro.common.utils.PageUtils;
 import com.leromro.common.utils.SecurityUtils;
 import com.leromro.core.domain.*;
 import com.leromro.core.domain.dto.*;
-import com.leromro.core.domain.vo.SettlementOrderDetailVO;
-import com.leromro.core.domain.vo.SettlementOrderListVO;
-import com.leromro.core.domain.vo.VolunteerOrdersVO;
+import com.leromro.core.domain.vo.*;
 import com.leromro.core.mapper.*;
 import com.leromro.core.service.ISecondOrderService;
 import com.leromro.core.utils.DateTimeUtil;
@@ -58,7 +56,7 @@ public class SecondOrdersServiceImpl extends ServiceImpl<SecondOrdersMapper, Sec
      */
     @Override
     public AjaxResult volunteerFinishWork(SecondOrder secondOrder) {
-
+        secondOrder.setVolunteerId(SecurityUtils.getUserId());
         Long secondOrderId = secondOrder.getSecondOrderId();
         QueryWrapper<SecondOrder> SecondOrderWrapper = new QueryWrapper<SecondOrder>().eq("second_order_id", secondOrderId);
         SecondOrder secondOrderInfo = secondOrdersMapper.selectList(SecondOrderWrapper).get(0);
@@ -119,7 +117,8 @@ public class SecondOrdersServiceImpl extends ServiceImpl<SecondOrdersMapper, Sec
         //BigDecimal serviceOnePrice = reviewDTO.getServiceOnePrice();
         //更新后的第二版,钱数要从
         Long volunteerInfoId = reviewDTO.getVolunteerInfoId();
-        BigDecimal serviceOnePrice = volunteerInfoMapper.selectOne(new LambdaQueryWrapper<VolunteerInfo>().eq(VolunteerInfo::getVolunteerInfoId, volunteerInfoId)).getBusinessPrice();
+        VolunteerInfo volunteerInfo = volunteerInfoMapper.selectOne(new LambdaQueryWrapper<VolunteerInfo>().eq(VolunteerInfo::getVolunteerInfoId, volunteerInfoId));
+        BigDecimal serviceOnePrice = volunteerInfo.getBusinessPrice();
         BigDecimal volunteerMoney = serviceOnePrice.multiply(new BigDecimal("0.85"));
         BigDecimal scoreMoney = BigDecimal.valueOf(0);
         BigDecimal platformBrokerage = BigDecimal.valueOf(0);
@@ -155,7 +154,7 @@ public class SecondOrdersServiceImpl extends ServiceImpl<SecondOrdersMapper, Sec
         UpdateWrapper<OrderFrozenFunds> orderFrozenFundsUpdateWrapper = new UpdateWrapper<OrderFrozenFunds>().eq("second_order_id", reviewDTO.getSecondOrderId()).set("platform_brokerage", platformBrokerage).set("score_money", scoreMoney).set("update_time", DateTimeUtil.getNowTime());
         orderFrozenFundsMapper.update(null,orderFrozenFundsUpdateWrapper);
         //修改志愿者账户表,向其中添加内容
-        UpdateWrapper<VolunteerAccount> volunteerAccountUpdateWrapper = new UpdateWrapper<VolunteerAccount>().eq("volunteer_id", reviewDTO.getVolunteerId()).setSql("order_frozen_balance = order_frozen_balance + " + scoreMoney);
+        UpdateWrapper<VolunteerAccount> volunteerAccountUpdateWrapper = new UpdateWrapper<VolunteerAccount>().eq("volunteer_id", volunteerInfo.getVolunteerId()).setSql("order_frozen_balance = order_frozen_balance + " + scoreMoney);
         volunteerAccountMapper.update(null,volunteerAccountUpdateWrapper);
         //更改订单状态:
         UpdateWrapper<SecondOrder> updateWrapper = new UpdateWrapper<SecondOrder>().eq("second_order_id", reviewDTO.getSecondOrderId())
@@ -271,6 +270,35 @@ public class SecondOrdersServiceImpl extends ServiceImpl<SecondOrdersMapper, Sec
                 .eq(SecondOrder::getSecondOrderId, secondOrderIds));
     }
 
+    /**
+     * @param mainOrderId
+     * @return
+     */
+    @Override
+    public List<SecondOrderInfoVO> selectSecondOrderInfoVO(Long mainOrderId) {
+        return secondOrdersMapper.selectSecondOrderInfoVO(mainOrderId);
+    }
+
+    /**
+     * @param secondOrderId
+     * @return
+     */
+    @Override
+    public AppSecoundOrderInfoVO selectAppSecondOrderInfo(Long secondOrderId) {
+       return secondOrdersMapper.selectAppSecondOrderInfo(secondOrderId);
+    }
+
+    /**
+     * @param secondOrderId
+     * @return
+     */
+    @Override
+    public WebSecondOrderInfoVO selectWebAppSecondOrderInfo(Long secondOrderId) {
+
+        WebSecondOrderInfoVO webSecondOrderInfo = secondOrdersMapper.selectWebSecondOrderInfo(secondOrderId);
+        return webSecondOrderInfo;
+    }
+
     @Override
     public SettlementOrderDetailVO getSettlementOrderDetail(Long secondOrderId) {
         return secondOrdersMapper.getSettlementOrderDetail(secondOrderId);

+ 11 - 3
leromro-core/src/main/resources/mapper/core/MainOrdersMapper.xml

@@ -121,8 +121,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         update l_main_orders set order_status = 3 where main_order_id = (select main_order_id from l_second_order where second_order_id = #{secondOrderId});
     </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_info_id = lvi.volunteer_info_id
+        select lmo.main_order_id ,lvi.business_tier_name ,lvi.business_describe , lmo.create_time,lmo.service_total_price,lmo.order_status,lvi.name,lvi.volunteer_picture,lmo.create_time
+        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 IN
@@ -146,7 +146,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <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"
@@ -160,6 +159,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                  left join l_volunteer_info lvi on lmo.volunteer_info_id = lvi.volunteer_info_id
         where lmo.main_order_id = #{mainOrderId};
     </select>
+    <select id="selectOrderInfoByUserId" resultType="com.leromro.core.domain.vo.MainOrderInfoVO"
+            parameterType="java.lang.Long">
+        select
+            lmo.address,lmo.client_name as name,lmo.client_telephone as telephone, lmo.province_name,lmo.city_name ,lmo.district_name,lmo.service_total_price,lmo.payment_method,lmo.order_status,lmo.main_order_id,lmo.out_trade_no,
+            lvi.volunteer_info_id,lvi.volunteer_id,lvi.age,lvi.certification_picture,lvi.name as volunteerName ,lvi.phonenumber,lvi.sex,lvi.skill_describe,lvi.volunteer_picture,
+            lmo.service_category,lmo.service_duration,lmo.service_one_price,lvi.business_unit,lmo.single_quantity,lmo.total_times,lvi.business_describe,
+            lmo.business_management_id,(select lbm.business_tier_name from l_business_management lbm where lmo.business_management_id = lbm.business_management_id) as businessManagementName
+        from l_main_orders lmo left join l_volunteer_info lvi on lmo.volunteer_info_id = lvi.volunteer_info_id where main_order_id = #{mainOrderId} ;
+    </select>
     <!--
         <update id="updateMainOrders" parameterType="MainOrders">
             update l_main_orders

+ 39 - 5
leromro-core/src/main/resources/mapper/core/SecondOrdersMapper.xml

@@ -92,9 +92,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </if>
         </foreach>
     </insert>
-    <update id="updatedeptAmountList"
-            parameterType="java.util.List">
-        <foreach collection="list" item="order" separator=";">
+    <update id="updatedeptAmountList" parameterType="java.util.List">
+        <if test="list != null and !list.isEmpty()">
             UPDATE l_second_order
             SET
             area_distribution_amount = CASE second_order_id
@@ -111,8 +110,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <foreach collection="list" item="order" open="(" separator="," close=")">
                 #{order.secondOrderId}
             </foreach>
-        </foreach>
-
+        </if>
     </update>
 
     <!--  <resultMap type="LVolunteerOrder" id="LVolunteerOrderResult">
@@ -284,6 +282,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
         order by lso.create_time desc
     </select>
+
     <select id="getCurrentOrgSecondOrderList" resultType="com.leromro.core.domain.SecondOrder">
         select * from l_second_order
         <where>
@@ -420,6 +419,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </if>
         </where>
     </select>
+    <select id="selectSecondOrderInfoVO" resultType="com.leromro.core.domain.vo.SecondOrderInfoVO"
+            parameterType="java.lang.Long">
+        select
+            lso.second_order_id,lso.score,lso.service_total_price,lso.order_status,lso.volunteer_settlement_status,lso.address,
+            lso.volunteer_review,lso.volunteer_picture,lso.service_category,lso.user_review,lso.user_picture,
+            lso.ability_score,lso.clothing_score,lso.protocol_score,lso.quality_score,lso.province_code,lso.province_name,lso.city_name,lso.city_code,
+            lso.work_date,lso.work_start_time,lso.single_quantity,lso.work_number,lso.service_duration,
+            (select sd.dept_name from sys_dept sd where lso.area_distribution_id = sd.dept_id) as areaDistributionName,
+            (select sd.dept_name from sys_dept sd where lso.service_center_id = sd.dept_id) as serviceCenterName
+        from l_second_order lso where lso.main_order_id = #{mainOrderId};
+    </select>
 
     <select id="getSettlementOrderDetail" resultType="com.leromro.core.domain.vo.SettlementOrderDetailVO">
         SELECT
@@ -469,5 +479,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             a.second_order_id = #{orderId}
         </where>
     </select>
+    <select id="selectAppSecondOrderInfo" resultType="com.leromro.core.domain.vo.AppSecoundOrderInfoVO"
+            parameterType="java.lang.Long">
+        select
+            lso.second_order_id,lso.order_status,lso.volunteer_settlement_status,lso.volunteer_review,lso.volunteer_picture,lso.user_review
+                ,lso.user_picture,lso.work_date,lso.work_start_time,lso.work_end_time,lso.single_quantity,lso.work_number,lso.service_duration,
+            lso.province_code,lso.province_name,lso.city_code,lso.city_name,lso.district_code,lso.district_name,lso.latitude,lso.longitude,lso.out_trade_no
+                ,lso.clothing_score,lso.ability_score,lso.quality_score,lso.protocol_score,lvi.business_tier_name businessTireName,lmo.client_telephone as clientPhoneNumber,lmo.client_name clientName,lso.remark,lso.score,
+            CONCAT( IFNULL(lso.province_name, ''),IFNULL(lso.city_name, ''), IFNULL(lso.district_name, ''), IFNULL(lso.address, '') ) AS address,
+            (select sd.dept_name from sys_dept sd where sd.dept_id = lso.area_distribution_id) as areaDistributionName,
+            (select sd.dept_name from  sys_dept sd where sd.dept_id = lso.service_center_id) as  serviceCenterName
+        from (l_second_order lso left join l_volunteer_info lvi on lso.volunteer_info_id = lvi.volunteer_info_id )left join l_main_orders lmo on lmo.main_order_id = lso.main_order_id
+        where lso.second_order_id = #{secondOrderId}
+    </select>
+    <select id="selectWebSecondOrderInfo" resultType="com.leromro.core.domain.vo.WebSecondOrderInfoVO"
+            parameterType="java.lang.Long">
+        select
+            lso.*,lvi.business_tier_name businessTireName,lmo.client_telephone as clientPhoneNumber,lmo.client_name clientName,
+            CONCAT( IFNULL(lso.province_name, ''),IFNULL(lso.city_name, ''), IFNULL(lso.district_name, ''), IFNULL(lso.address, '') ) AS address,
+            (select sd.dept_name from sys_dept sd where sd.dept_id = lso.area_distribution_id) as areaDistributionName,
+            (select sd.dept_name from  sys_dept sd where sd.dept_id = lso.service_center_id) as  serviceCenterName
+        from (l_second_order lso left join l_volunteer_info lvi on lso.volunteer_info_id = lvi.volunteer_info_id )left join l_main_orders lmo on lmo.main_order_id = lso.main_order_id
+        where lso.second_order_id = #{secondOrderId}
+
+    </select>
 
 </mapper>

+ 6 - 1
leromro-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -32,12 +32,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="districtCode"       column="district_code"       />
         <result property="districtName"       column="district_name"       />
         <result property="userOpenId"       column="user_open_id"       />
+        <result property="deptId"       column="dept_id"       />
+        <result property="areaType"       column="area_type"       />
         <association property="dept"    javaType="SysDept"         resultMap="deptResult" />
         <collection  property="roles"   javaType="java.util.List"  resultMap="RoleResult" />
     </resultMap>
 	
     <resultMap id="deptResult" type="SysDept">
         <id     property="deptId"    column="dept_id"     />
+		<result property="areaType"  column="area_type"       />
         <result property="parentId"  column="parent_id"   />
         <result property="deptName"  column="dept_name"   />
         <result property="ancestors" column="ancestors"   />
@@ -60,7 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.user_or_worker as user_or_worker,u.user_platform as user_platform,u.user_open_id as user_open_id,
                u.province_code as province_code, u.province_name as province_name, u.city_code as city_code, u.city_name as city_name, u.district_code as district_code, u.district_name as district_name,
         d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,d.area_type as area_type,
-        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
+        r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,d.area_type
         from sys_user u
 		    left join sys_dept d on u.dept_id = d.dept_id
 		    left join sys_user_role ur on u.user_id = ur.user_id
@@ -171,6 +174,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="createBy != null and createBy != ''">create_by,</if>
  			<if test="remark != null and remark != ''">remark,</if>
  			<if test="userPlatform != null">user_platform,</if>
+ 			<if test="areaType != null">area_type,</if>
  			create_time
  		)values(
  			<if test="userId != null and userId != ''">#{userId},</if>
@@ -186,6 +190,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
  			<if test="remark != null and remark != ''">#{remark},</if>
  		    <if test="userPlatform != null">#{userPlatform},</if>
+ 		    <if test="areaType != null">#{areaType},</if>
 		sysdate()
  		)
 	</insert>