Sfoglia il codice sorgente

修改订单状态,大小订单状态除了部分退款外相同

LiRong 3 settimane fa
parent
commit
5116cbe1bf

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

@@ -3,6 +3,9 @@ package com.leromro.core.controller;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+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.leromro.core.domain.vo.BusinessManagementVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -38,7 +41,7 @@ public class BusinessManagementController extends BaseController
     /**
      * 查询业务管理(树形结构)列表
      */
-    @ApiOperation(value = "查询所有业务列表(树形结构)", notes = "获取所有业务列表,则parentId传0")
+    @ApiOperation(value = "查询所有业务列表(树形结构)(web同接口)", notes = "获取所有业务列表,则parentId传0")
     @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "parentId", value = "上级id", required = false)
     })
@@ -48,6 +51,66 @@ public class BusinessManagementController extends BaseController
         return businessManagementService.getTreeList(parentId);
     }
 
+    @ApiOperation(value = "web管理端 修改树形结构", notes = "传入修改的参数")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "businessName", value = "修改后的名字", required = false)
+    })
+    @PutMapping("/web/updateTree")
+    public AjaxResult webUpdateTree(@RequestBody BusinessManagement businessManagement)
+    {
+        if (businessManagement.getBusinessName() == null){
+            return toAjax(businessManagementService.updateBusinessManagement(businessManagement));
+        }else {
+            BusinessManagement oldBusinessManagement = businessManagementService.selectBusinessManagementByBusinessManagementId(businessManagement.getBusinessManagementId());
+            //获取到修改后的 业务名字,然后 再将以前的business_tier_name 分割,然后只修改最后一个在拼接起来
+            String[] split = oldBusinessManagement.getBusinessTierName().split("-");
+            String newBusinessName = businessManagement.getBusinessName();
+            if (split.length > 0){
+                split[split.length-1] = newBusinessName;
+            }
+            //重新组合起来
+            String updatedBusinessTierName = String.join("-", split);
+            businessManagement.setBusinessTierName(updatedBusinessTierName);
+            return toAjax(businessManagementService.updateBusinessManagement(businessManagement));
+        }
+
+
+    }
+
+/*    @ApiOperation(value = "web管理端 新增树形结构", notes = "传入要新增的对象")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "businessManagementId", value = "对象参数", required = false)
+    })
+    @PutMapping("/web/updateTree")
+    public AjaxResult webNewBusinessManagement (@RequestBody BusinessManagement businessManagement){
+        //生成总名称 通过祖籍节点,一段一段查到名称,然后放进数组,然后拼接
+        String[] split = businessManagement.getAncestors().split(",");
+        String businessName = businessManagement.getBusinessName();
+        if (split.length == 1){
+            businessManagement.setBusinessTierName(businessName);
+        }else {
+            String[] newSplit = new String[split.length - 1];
+            System.arraycopy(split, 1, newSplit, 0, split.length - 1);
+
+
+            businessManagementService.list(new LambdaQueryWrapper<BusinessManagement>().in())
+        }
+
+
+        return AjaxResult.success();
+    }*/
+
+    @ApiOperation(value = "web管理端 详情/回显", notes = "传入id (路径参数)")
+    @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));
+        return R.ok(businessManagement);
+    }
+
+
 //    /**
 //     * 导出业务管理(树形结构包含所有服务)列表
 //     */

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

@@ -70,7 +70,7 @@ public class volunteerOrderController extends BaseController {
     @GetMapping("/getTimesByDate/{secondOrderId}")
     public AjaxResult volunteerStartWork(@PathVariable String secondOrderId){
         UpdateWrapper<SecondOrder> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.eq("second_order_id",secondOrderId).set("order_status",1).set("update_time", DateTimeUtil.getNowTime());
+        updateWrapper.eq("second_order_id",secondOrderId).set("order_status","3").set("update_time", DateTimeUtil.getNowTime());
         secondOrderService.update(updateWrapper);
         //订单开始 根据secondOrderId修改主订单状态 修改为3
         mainOrderService.startService(secondOrderId);
@@ -99,10 +99,11 @@ public class volunteerOrderController extends BaseController {
                 .eq(SecondOrder::getVolunteerId, getUserId()));
         VolunteerOrderStatisticsVO vo = VolunteerOrderStatisticsVO.builder()
                 .orderCount(orderList.size())
-                .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())
+                .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())
                 .build();
         return R.ok(vo);
     }

+ 4 - 0
leromro-core/src/main/java/com/leromro/core/domain/BusinessManagement.java

@@ -56,5 +56,9 @@ public class BusinessManagement extends BaseEntity
     @ApiModelProperty("排序")
     private Long sort;
 
+    /** 排序 */
+    @TableField("business_icon")
+    @ApiModelProperty("分类小图标")
+    private String businessIcon;
 
 }

+ 0 - 8
leromro-core/src/main/java/com/leromro/core/domain/VolunteerInfo.java

@@ -86,14 +86,6 @@ public class VolunteerInfo extends BaseEntity {
     @ApiModelProperty(value = "志愿者照片")
     private String volunteerPicture;
 
-    @ApiModelProperty(value = "之前工作过的单位")
-    private String workedCompany;
-
-    @ApiModelProperty(value = "职称")
-    private String level;
-
-    @ApiModelProperty(value = "是否在职 0 否 1是")
-    private Integer isOnJob;
 
     @ApiModelProperty(value = "地区")
     private String city;

+ 4 - 0
leromro-core/src/main/java/com/leromro/core/domain/vo/BusinessManagementVO.java

@@ -51,4 +51,8 @@ public class BusinessManagementVO implements INode<BusinessManagementVO> {
 
     @ApiModelProperty("排序")
     private Long sort;
+
+    @ApiModelProperty("图片")
+    private String businessIcon;
+
 }

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

@@ -69,14 +69,7 @@ public class VolunteerInfoDetailVO {
     @ApiModelProperty(value = "志愿者照片")
     private String volunteerPicture;
 
-    @ApiModelProperty(value = "之前工作过的单位")
-    private String workedCompany;
 
-    @ApiModelProperty(value = "职称")
-    private String level;
-
-    @ApiModelProperty(value = "是否在职 0 否 1是")
-    private Integer isOnJob;
 
     @ApiModelProperty(value = "地区")
     private String city;

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

@@ -1,6 +1,7 @@
 package com.leromro.core.domain.vo;
 
 import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
 import lombok.Builder;
 import lombok.Data;
 
@@ -13,6 +14,9 @@ public class VolunteerOrderStatisticsVO {
     @ApiModelProperty("订单总数")
     private Integer orderCount; ;
 
+    @ApiModelProperty("未支付总数")
+    private Integer haventPayCount ;
+
     @ApiModelProperty("预约单总数")
     private Integer reservationCount ;
 

+ 1 - 0
leromro-core/src/main/java/com/leromro/core/service/IBusinessManagementService.java

@@ -63,4 +63,5 @@ public interface IBusinessManagementService extends IService<BusinessManagement>
     public int deleteBusinessManagementByBusinessManagementId(Long businessManagementId);
 
     R<List<BusinessManagementVO>> getTreeList(Long parentId);
+
 }

+ 2 - 0
leromro-core/src/main/java/com/leromro/core/service/impl/BusinessManagementServiceImpl.java

@@ -111,4 +111,6 @@ public class BusinessManagementServiceImpl extends ServiceImpl<BusinessManagemen
         list = ForestNodeMerger.merge(list);
         return R.ok(list);
     }
+
+
 }

+ 15 - 12
leromro-core/src/main/java/com/leromro/core/service/impl/MainOrderServiceImpl.java

@@ -68,6 +68,14 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
         MainOrders orders = orderRequest.getOrders();
         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>()
@@ -90,13 +98,14 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
             }
             // 余额足够 直接支付 订单状态为已支付
             orders.setOrderStatus("1");
+            secondOrder.setOrderStatus("1");
         }else if (orders.getPaymentMethod().equals("2")){
             //待完成 微信支付
             System.out.println("微信支付");
 
             //设置订单支付状态
             orders.setOrderStatus("0");
-
+            secondOrder.setOrderStatus("0");
         }else {
             throw new RuntimeException("支付方式错误");
         }
@@ -117,9 +126,9 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
         orders.setProvinceCode(address.getProvinceCode());
         orders.setCityCode(address.getCityCode());
         orders.setDistrictCode(address.getDistrictCode());
-        long orderId = snowflake.nextId();
-        orders.setMainOrderId(String.valueOf(orderId));
 
+        orders.setMainOrderId(String.valueOf(orderId));
+        orders.setServiceDuration(info.getBusinessDuration());
         orders.setFinishTimes(0L);
         orders.setUserId(userId);
         orders.setCreateTime(DateTimeUtil.getNowTime());
@@ -132,14 +141,8 @@ 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())
-                .orderStatus("0").volunteerInfoId(orders.getVolunteerInfoId()).build();
-        secondOrder.setRemark(orders.getRemark());
-        List<SecondOrder> secondOrderList = new ArrayList<>();
+
+
         //添加平台
         //创建平台流水模板
         PlatformFinance platformFinance =  PlatformFinance.builder().changeMoney(orders.getServiceOnePrice()).changeType(1).moneyType(1)
@@ -192,7 +195,7 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
         }
         //新增公司资金流水表N个
         platformFinanceMapper.insertPlatformFinanceList(platformFinanceList);
-        //新增志愿者订单小表N个
+        //新增志愿者订单小表N个  得修改这种
         secondOrdersMapper.insertList(secondOrderList);
         //新增志愿者预约时间表
         volunteerReservationTimeService.insertVolunteerReservationTimeList(reservationTimes);

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

@@ -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", 3);
+            UpdateWrapper<SecondOrder> secondOrderUpdateWrapper = new UpdateWrapper<SecondOrder>().eq("main_order_id", mainOrderId).set("order_status", 6);
             secondOrdersMapper.update(null,secondOrderUpdateWrapper);
             //志愿者预约时间表 还有 修改志愿者工作日的预约状态。
             //先把志愿者预约状态全部设置为0
@@ -131,6 +131,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             this.save(orderRefund);
             return AjaxResult.success("钱款将在三个工作日内返回到您的钱包中");
         } else if (mainOrders.getOrderStatus().equals("3")) {
+            //订单一开始或者订单已完成
             orderRefund.setStatus(0);
             orderRefund.setRefundAmount(mainOrders.getServiceOnePrice().multiply(new BigDecimal(mainOrders.getTotalTimes() - mainOrders.getFinishTimes())));
             this.save(orderRefund);
@@ -217,10 +218,10 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         QueryWrapper<MainOrders> mainOrdersQueryWrapper = new QueryWrapper<MainOrders>().eq("main_order_id", mainOrderId);
         MainOrders mainOrders = mainOrdersMapper.selectOne(mainOrdersQueryWrapper);
         //小订单修改状态,并且
-        QueryWrapper<SecondOrder> secondOrderQueryWrapper = new QueryWrapper<SecondOrder>().eq("main_order_id", mainOrderId).eq("order_status", 0);
+        QueryWrapper<SecondOrder> secondOrderQueryWrapper = new QueryWrapper<SecondOrder>().eq("main_order_id", mainOrderId).eq("order_status", 1);
         List<SecondOrder> secondOrderList = secondOrdersMapper.selectList(secondOrderQueryWrapper);
         List<String> secondOrderIdList = secondOrderList.stream().map(SecondOrder::getSecondOrderId).collect(Collectors.toList());
-        UpdateWrapper<SecondOrder> secondOrderUpdateWrapper = new UpdateWrapper<SecondOrder>().in("second_order_id", secondOrderIdList).eq("order_status", 0).set("order_status", 3);
+        UpdateWrapper<SecondOrder> secondOrderUpdateWrapper = new UpdateWrapper<SecondOrder>().in("second_order_id", secondOrderIdList).eq("order_status", 1).set("order_status", 6);
         secondOrdersMapper.update(null, secondOrderUpdateWrapper);
         //根据小订单,删除志愿者预约时间表
         List<VolunteerReservationTime> volunteerReservationTimeList = secondOrderList.stream().map(secondOrder -> {

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

@@ -72,7 +72,7 @@ public class SecondOrdersServiceImpl extends ServiceImpl<SecondOrdersMapper, Sec
             throw new RuntimeException("订单已完成,请勿重复完成");
         }
         UpdateWrapper<SecondOrder> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.eq("second_order_id",secondOrder.getSecondOrderId()).set("order_status",2)
+        updateWrapper.eq("second_order_id",secondOrder.getSecondOrderId()).set("order_status",4)
                 .set("volunteer_review",secondOrder.getVolunteerReview()).set("volunteer_picture",secondOrder.getVolunteerPicture()).set("update_time",DateTimeUtil.getNowTime());
         secondOrdersMapper.update(null,updateWrapper);
         //更新志愿者账户中的冻结资金 =  之前的余额 + 志愿者 (先按照默认的比例,把默认的钱数,放入冻结资金表中)

+ 6 - 2
leromro-core/src/main/resources/mapper/core/BusinessManagementMapper.xml

@@ -10,6 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="ancestors"    column="ancestors"    />
         <result property="businessName"    column="business_name"    />
         <result property="businessTierName"    column="business_tier_name"    />
+        <result property="businessIcon"    column="business-_con"    />
         <result property="createBy"    column="create_by"    />
         <result property="createTime"    column="create_time"    />
         <result property="updateBy"    column="update_by"    />
@@ -19,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectBusinessManagementVo">
-        select business_management_id, parent_id, ancestors, business_name, business_tier_name, create_by, create_time, update_by, update_time, remark, sort from l_business_management
+        select business_management_id, parent_id, ancestors, business_name, business_tier_name,business_icon, create_by, create_time, update_by, update_time, remark, sort from l_business_management
     </sql>
 
     <select id="selectBusinessManagementList" parameterType="BusinessManagement" resultMap="BusinessManagementResult">
@@ -38,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where business_management_id = #{businessManagementId}
     </select>
     <select id="getTreeList" resultType="com.leromro.core.domain.vo.BusinessManagementVO">
-        select business_management_id as id,parent_id,business_name,business_tier_name
+        select business_management_id as id,parent_id,business_name,business_tier_name,business_icon
         from l_business_management
         <where>
             find_in_set(#{parentId},ancestors)
@@ -53,6 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="ancestors != null">ancestors,</if>
             <if test="businessName != null">business_name,</if>
             <if test="businessTierName != null">business_tier_name,</if>
+            <if test="businessIcon != null">business_icon,</if>
             <if test="createBy != null">create_by,</if>
             <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
@@ -65,6 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="ancestors != null">#{ancestors},</if>
             <if test="businessName != null">#{businessName},</if>
             <if test="businessTierName != null">#{businessTierName},</if>
+            <if test="businessIcon != null">#{businessIcon},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
@@ -81,6 +84,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="ancestors != null">ancestors = #{ancestors},</if>
             <if test="businessName != null">business_name = #{businessName},</if>
             <if test="businessTierName != null">business_tier_name = #{businessTierName},</if>
+            <if test="businessIcon != null">business_icon = #{businessIcon},</if>
             <if test="createBy != null">create_by = #{createBy},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>

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

@@ -18,9 +18,6 @@
         <result property="idCardPicture"    column="id_card_picture"    />
         <result property="certificationPicture"    column="certification_picture"    />
         <result property="volunteerPicture"    column="volunteer_picture"    />
-        <result property="workedCompany"    column="worked_company"    />
-        <result property="level"    column="level"    />
-        <result property="isOnJob"    column="is_on_job"    />
         <result property="city"    column="city"    />
         <result property="address"    column="address"    />
         <result property="createTime"    column="create_time"    />
@@ -48,9 +45,6 @@
             <if test="status != null">status,</if>
             <if test="certificationPicture != null">certification_picture,</if>
             <if test="volunteerPicture != null">volunteer_picture,</if>
-            <if test="workedCompany != null">worked_company,</if>
-            <if test="level != null">level,</if>
-            <if test="isOnJob != null">is_on_job,</if>
             <if test="city != null">city,</if>
             <if test="address != null">address,</if>
             <if test="createTime != null">create_time,</if>
@@ -73,9 +67,6 @@
             <if test="status != null">#{status},</if>
             <if test="certificationPicture != null">#{certificationPicture},</if>
             <if test="volunteerPicture != null">#{volunteerPicture},</if>
-            <if test="workedCompany != null">#{workedCompany},</if>
-            <if test="level != null">#{level},</if>
-            <if test="isOnJob != null">#{isOnJob},</if>
             <if test="city != null">#{city},</if>
             <if test="address != null">#{address},</if>
             <if test="createTime != null">#{createTime},</if>
@@ -94,7 +85,6 @@
             <if test="score != null "> and lvi.score = #{score}</if>
             <if test="serviceCategory != null "> and lvi.service_category = #{serviceCategory}</if>
             <if test="skillDescribe != null  and skillDescribe != ''"> and lvi.skill_describe = #{skillDescribe}</if>
-            <if test="level != null  and level != ''"> and lvi.level = #{level}</if>
             <if test="city != null  and city != ''"> and lvi.city = #{city}</if>
             <if test="appStatus != null  and appStatus != '' and appStatus == 1"> and app_status in (1,3)</if>
             <if test="appStatus != null  and appStatus != '' and appStatus == 2"> and app_status = 2</if>
@@ -112,7 +102,6 @@
             <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="level != null  and level != ''"> and lvi.level = #{level}</if>
             <if test="city != null  and city != ''"> and lvi.city = #{city}</if>
             <if test="address != null  and address != ''"> and lvi.address = #{address}</if>