更新代码
This commit is contained in:
parent
d720dfdf2a
commit
f718c728c6
@ -14,6 +14,8 @@ import cn.iocoder.yudao.module.order.vo.RepairOrderInfoMapper;
|
|||||||
import cn.iocoder.yudao.module.order.vo.RepairOrderInfoPageReqVO;
|
import cn.iocoder.yudao.module.order.vo.RepairOrderInfoPageReqVO;
|
||||||
import cn.iocoder.yudao.module.order.vo.RepairOrderInfoRespVO;
|
import cn.iocoder.yudao.module.order.vo.RepairOrderInfoRespVO;
|
||||||
import cn.iocoder.yudao.module.order.vo.RepairOrderInfoSaveReqVO;
|
import cn.iocoder.yudao.module.order.vo.RepairOrderInfoSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.tickets.entity.Tickets;
|
||||||
|
import cn.iocoder.yudao.module.tickets.service.TicketsService;
|
||||||
import cn.iocoder.yudao.util.WechatPayConfig;
|
import cn.iocoder.yudao.util.WechatPayConfig;
|
||||||
import cn.iocoder.yudao.util.WechatPayRequest;
|
import cn.iocoder.yudao.util.WechatPayRequest;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
@ -30,10 +32,7 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.common.BaseConstants.*;
|
import static cn.iocoder.yudao.common.BaseConstants.*;
|
||||||
@ -59,6 +58,9 @@ public class RepairOrderInfoServiceImpl extends ServiceImpl<RepairOrderInfoMappe
|
|||||||
private WechatPayConfig wechatPayConfig;
|
private WechatPayConfig wechatPayConfig;
|
||||||
@Resource
|
@Resource
|
||||||
private WechatPayRequest wechatPayRequest;
|
private WechatPayRequest wechatPayRequest;
|
||||||
|
@Resource
|
||||||
|
private TicketsService ticketsService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存订单信息
|
* 保存订单信息
|
||||||
@ -89,6 +91,11 @@ public class RepairOrderInfoServiceImpl extends ServiceImpl<RepairOrderInfoMappe
|
|||||||
balanceService.balanceCallback(orderInfo);
|
balanceService.balanceCallback(orderInfo);
|
||||||
} else if (ORDER_KKYL.equals(orderInfo.getGoodsType())){
|
} else if (ORDER_KKYL.equals(orderInfo.getGoodsType())){
|
||||||
couponService.couponCallBack(orderInfo);
|
couponService.couponCallBack(orderInfo);
|
||||||
|
} else if (ORDER_WXFW.equals(orderInfo.getGoodsType())){
|
||||||
|
// 如果是维修订单,那订单的GoodsId就一定是工单的id
|
||||||
|
// 这需要需要调用维修模块的工单的service通过工单id将对应工单的ticketsStatus置为“02”即可完成工单的更新
|
||||||
|
List<String> ids = Collections.singletonList(orderInfo.getGoodsId());
|
||||||
|
ticketsService.updateTickets(ids);
|
||||||
}
|
}
|
||||||
orderInfo.setOrderStatus(GENERAL_YES);
|
orderInfo.setOrderStatus(GENERAL_YES);
|
||||||
orderInfo.setPayTime(LocalDateTime.now());
|
orderInfo.setPayTime(LocalDateTime.now());
|
||||||
|
@ -0,0 +1,180 @@
|
|||||||
|
package cn.iocoder.yudao.module.tickets.entity;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 维修工单表
|
||||||
|
*
|
||||||
|
* @author 小李
|
||||||
|
* @date 9:32 2024/9/25
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
@TableName("dl_repair_tickets")
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class Tickets extends TenantBaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键标识
|
||||||
|
*/
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工单号;自动生成
|
||||||
|
*/
|
||||||
|
private String ticketNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 业务类型(repair_type)
|
||||||
|
*/
|
||||||
|
private String repairType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户ID(system_users表的ID)
|
||||||
|
*/
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户名(base_customer_main表的cus_name)
|
||||||
|
*/
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户手机号(base_customer_main表的phone_number)
|
||||||
|
*/
|
||||||
|
private String userMobile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车辆ID(base_car_main表的ID);选择用户之后选择车辆,有直接选,没有就添加
|
||||||
|
*/
|
||||||
|
private String carId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车牌号(base_car_main表的license_number)
|
||||||
|
*/
|
||||||
|
private String carNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车架号(base_car_main的vin)
|
||||||
|
*/
|
||||||
|
private String carVin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车辆品牌ID(base_car_brand表的ID);车辆存在就会有品牌,没有就需要新增
|
||||||
|
*/
|
||||||
|
private String carBrandId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车辆品牌名称(base_car_brand表的brand_name)
|
||||||
|
*/
|
||||||
|
private String carBrandName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车辆品牌类型(base_car_brand表的brand_type)
|
||||||
|
*/
|
||||||
|
private String carBrandType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务顾问ID(system_users表的ID)
|
||||||
|
*/
|
||||||
|
private String adviserId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务顾问名字(system_user表的nickname)
|
||||||
|
*/
|
||||||
|
private String adviserName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结算方法(字典repair_pay_type);可能是组合结算(微信+现金等),所以多选
|
||||||
|
*/
|
||||||
|
private String payType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 维修建议
|
||||||
|
*/
|
||||||
|
private String repairAdvice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 质保说明(公里)
|
||||||
|
*/
|
||||||
|
private String qualityMileage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 质保说明(天数)
|
||||||
|
*/
|
||||||
|
private String qualityDay;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否终检(字典yes_no);已存在于系统中(是:0,否:1)
|
||||||
|
*/
|
||||||
|
private String endCheck;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 维修旧件处理方式(字典repair_part_disposal)
|
||||||
|
*/
|
||||||
|
private String partDisposal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工单类型(字典repair_tickets_type)
|
||||||
|
*/
|
||||||
|
private String ticketType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 门店ID(base_company表的ID)
|
||||||
|
*/
|
||||||
|
private String corpId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门ID
|
||||||
|
*/
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
/** 工单子项的总数(每一个子项的数量) */
|
||||||
|
private Integer count;
|
||||||
|
|
||||||
|
/** 工单项目总价 */
|
||||||
|
private BigDecimal projectPrice;
|
||||||
|
|
||||||
|
/** 工单配件总价 */
|
||||||
|
private BigDecimal partPrice;
|
||||||
|
|
||||||
|
/** 工单其他总价 */
|
||||||
|
private BigDecimal otherPrice;
|
||||||
|
|
||||||
|
/** 工单总价 */
|
||||||
|
private BigDecimal totalPrice;
|
||||||
|
|
||||||
|
/** 是否已结算 */
|
||||||
|
private String ticketsStatus;
|
||||||
|
|
||||||
|
/** 进厂时间 */
|
||||||
|
private Date inTime;
|
||||||
|
|
||||||
|
/** 预计完工时间 */
|
||||||
|
private Date outTime;
|
||||||
|
|
||||||
|
/** 参考成本 */
|
||||||
|
private BigDecimal cost;
|
||||||
|
|
||||||
|
/** 参考毛利 */
|
||||||
|
private BigDecimal profit;
|
||||||
|
|
||||||
|
/** 领料状态 */
|
||||||
|
private String partStatus;
|
||||||
|
|
||||||
|
/** 工单进行状态 */
|
||||||
|
private String ticketsWorkStatus;
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package cn.iocoder.yudao.module.tickets.mapper;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import cn.iocoder.yudao.module.tickets.entity.Tickets;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 维修工单表 mapper
|
||||||
|
*
|
||||||
|
* @author 小李
|
||||||
|
* @date 9:33 2024/9/25
|
||||||
|
**/
|
||||||
|
@Mapper
|
||||||
|
public interface TicketsMapper extends BaseMapperX<Tickets> {
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
package cn.iocoder.yudao.module.tickets.service;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.tickets.entity.Tickets;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 维修工单表 service
|
||||||
|
*
|
||||||
|
* @author 小李
|
||||||
|
* @date 9:34 2024/9/25
|
||||||
|
**/
|
||||||
|
public interface TicketsService extends IService<Tickets> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新工单状态
|
||||||
|
* 考虑可能有批量操作的情况,采用批量更新的方式
|
||||||
|
*
|
||||||
|
* @author 小李
|
||||||
|
* @date 9:36 2024/9/25
|
||||||
|
* @param ticketIds 工单ids
|
||||||
|
**/
|
||||||
|
void updateTickets(List<String> ticketIds);
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
package cn.iocoder.yudao.module.tickets.service.impl;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.tickets.entity.Tickets;
|
||||||
|
import cn.iocoder.yudao.module.tickets.mapper.TicketsMapper;
|
||||||
|
import cn.iocoder.yudao.module.tickets.service.TicketsService;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 小李
|
||||||
|
* @date 9:35 2024/9/25
|
||||||
|
**/
|
||||||
|
@Service
|
||||||
|
public class TicketsServiceImpl extends ServiceImpl<TicketsMapper, Tickets> implements TicketsService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新工单状态为已结账
|
||||||
|
* 考虑可能有批量操作的情况,采用批量更新的方式
|
||||||
|
*
|
||||||
|
* @author 小李
|
||||||
|
* @date 9:36 2024/9/25
|
||||||
|
* @param ticketIds 工单ids
|
||||||
|
**/
|
||||||
|
@Override
|
||||||
|
public void updateTickets(List<String> ticketIds){
|
||||||
|
baseMapper.update(new LambdaUpdateWrapper<Tickets>().in(Tickets::getId, ticketIds).set(Tickets::getTicketsStatus, "02"));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user