主单/子单流程轨迹

This commit is contained in:
kuang.yife 2024-02-17 13:50:22 +08:00
parent cc5f528bf7
commit 8c805e710a
17 changed files with 632 additions and 39 deletions

View File

@ -17,6 +17,13 @@
<dependencies>
<dependency>
<groupId>com.tencentcloudapi.cls</groupId>
<artifactId>tencentcloud-cls-logback-appender</artifactId>
<version>1.0.3</version>
</dependency>
<!-- SpringBoot集成thymeleaf模板 -->
<dependency>
<groupId>org.springframework.boot</groupId>

View File

@ -369,7 +369,7 @@ public class OrderDetailController extends BaseController {
orderStandard.setWaitServerNum(orderStandard.getStandardNum() - orderStandard.getServerNum());
standardList.add(orderStandard);
}
if (this.checkIsOnlyServer(orderMaster.getId(), detail.getWorkerId())) {
if (this.checkIsOnlyServer(orderMaster.getId(), orderMaster.getWorkerId())) {
BigDecimal workerFee = financialMaster.getPayMoney();
List<FinancialDetail> financialDetailList = financialDetailService.selectByFinancialMasterId(financialMaster.getId());
for (FinancialDetail param : financialDetailList) {

View File

@ -215,9 +215,14 @@ public class OrderMasterController extends BaseController {
{
ExcelUtil<SysOrderRequest> util = new ExcelUtil<SysOrderRequest>(SysOrderRequest.class);
List<SysOrderRequest> jsonObjects = util.importExcel(file.getInputStream());
boolean flag = false;
for (SysOrderRequest model : jsonObjects) {
if(NumberUtil.isNumber(model.getSeq())){
this.sysOrder(format(model));
if("序号".equals(model.getSeq())){
flag = true;
continue;
}
if(flag){
sysOrder(format(model));
}
}
return AjaxResult.success(jsonObjects);
@ -231,6 +236,25 @@ public class OrderMasterController extends BaseController {
if(StringUtils.isEmpty(orderRequest.getName())){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",姓名不能为空!");
}
if(StringUtils.isEmpty(orderRequest.getPrice())){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",I列发布价格填写不能为空");
}
try {
Integer.parseInt(orderRequest.getPrice());
}catch (Exception e){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",I列发布价格不能有小数点");
}
if(StringUtils.isEmpty(orderRequest.getNum())){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",H列数量填写不能为空");
}
try {
Integer.parseInt(orderRequest.getNum());
}catch (Exception e){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",H列数量不能含小数点。");
}
if(StringUtils.isEmpty(orderRequest.getLastCategory())){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",C列四级类目不能为空");
}
request.setCustomerName(orderRequest.getName());
if(StringUtils.isEmpty(orderRequest.getPhone())){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",导入手机号不能为空!");
@ -241,7 +265,7 @@ public class OrderMasterController extends BaseController {
request.setGoodsBrand(orderRequest.getBrand());
request.setRemark(orderRequest.getRemark());
if(StringUtils.isEmpty(orderRequest.getMode())){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",下单模式不能为空!");
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",G列下单模式名称有误/或带有其它字符!");
}else {
if(orderRequest.getMode().contains("-")){
String orderModel = orderRequest.getMode().split("-")[0];
@ -251,12 +275,12 @@ public class OrderMasterController extends BaseController {
}else if("一票价".equals(orderModel)){
request.setOrderMode("01");
}else {
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",下单模式填写错误!");
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",G列下单模式名称有误/或带有其它字符!");
}
if("到付".equals(payType)){
request.setPayMode("02");
}else {
request.setPayMode("01");
}else {
request.setPayMode("02");
}
}else {
if("带价下单".equals(orderRequest.getMode())){
@ -266,14 +290,14 @@ public class OrderMasterController extends BaseController {
request.setOrderMode("01");
request.setPayMode("02");
}else {
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",下单模式填写错误!");
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",G列下单模式名称有误/或带有其它字符!");
}
}
}
if(StringUtils.isEmpty(orderRequest.getPrice())){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",价格不能为空!");
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",I列发布价格填写不能为空\n");
}
request.setPrice(new BigDecimal(orderRequest.getPrice()));
request.setVideoUrl(orderRequest.getUrl());
@ -281,10 +305,10 @@ public class OrderMasterController extends BaseController {
List<SysOrderGoodsStandards> goodsStandards = new ArrayList<>();
String [] categoryNames = orderRequest.getCategory().split("-");
if(categoryNames.length != 3){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",三级类目数据格式错误");
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",B列三级类目名称有误/或格式有误!");
}else {
if(StringUtils.isEmpty(categoryNames[0])||StringUtils.isEmpty(categoryNames[1])||StringUtils.isEmpty(orderRequest.getLastCategory())){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",前三级类目不能为空,请参照系统填写");
if(StringUtils.isEmpty(categoryNames[0])||StringUtils.isEmpty(categoryNames[1])||StringUtils.isEmpty(categoryNames[2])){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",B列三级类目名称有误/或格式有误!");
}
try {
// 第一层
@ -323,7 +347,7 @@ public class OrderMasterController extends BaseController {
standards.setGoodsStandardName(orderRequest.getLastCategory());
goodsStandards.add(standards);
}catch (Exception e){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",前三级类目有错误,请参照系统填写");
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",B列三级类目名称有误/或格式有误!");
}
}
@ -338,7 +362,7 @@ public class OrderMasterController extends BaseController {
}
}
if(addressName.length < 4){
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",地址数据格式错误");
throw new Exception("导入表格序号" + orderRequest.getSeq() + ",L列服务地址不能为空或分隔符不能少于3个");
}else {
//
SysArea param1 = new SysArea();
@ -371,7 +395,7 @@ public class OrderMasterController extends BaseController {
return request;
}
public void sysOrder(@RequestBody SysOrderAssignRequest request) throws Exception {
public synchronized void sysOrder(@RequestBody SysOrderAssignRequest request) throws Exception {
// 判断传递价格是否有小数
if (new BigDecimal(request.getPrice().intValue()).compareTo(request.getPrice())!=0){
@ -394,10 +418,8 @@ public class OrderMasterController extends BaseController {
if (request.getProvinceId() == null || request.getCityId() == null || request.getDistrictId() == null || org.apache.commons.lang3.StringUtils.isBlank(request.getFullAddress())) {
throw new Exception("请填写地址");
}
CustomerAddress customerAddress = customerAddressService.selectByCustomerAndAddress(customer.getCustomerId(),
request.getProvinceId(), request.getCityId(), request.getDistrictId(), request.getFullAddress());
if (customerAddress == null) {
customerAddress = new CustomerAddress();
CustomerAddress customerAddress = new CustomerAddress();
customerAddress.setCustomerId(customer.getCustomerId());
customerAddress.setProvinceId(request.getProvinceId());
customerAddress.setCityId(request.getCityId());
@ -407,7 +429,6 @@ public class OrderMasterController extends BaseController {
customerAddress.setPhone(request.getCustomerPhone());
customerAddress.setName(request.getCustomerName());
customerAddressService.insertCustomerAddress(customerAddress);
}
// 订单总价 不能小于0
BigDecimal orderPrice = request.getPrice().max(BigDecimal.ZERO);

View File

@ -0,0 +1,152 @@
package com.ghy.web.controller.order;
import java.util.List;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import com.ghy.common.annotation.Log;
import com.ghy.common.enums.BusinessType;
import com.ghy.order.domain.OrderOperationRecord;
import com.ghy.order.service.IOrderOperationRecordService;
import com.ghy.common.core.controller.BaseController;
import com.ghy.common.core.domain.AjaxResult;
import com.ghy.common.utils.poi.ExcelUtil;
import com.ghy.common.core.page.TableDataInfo;
/**
* 订单操作记录Controller
*
* @author clunt
* @date 2024-02-17
*/
@Api
@Controller
@RequestMapping("/order/operate")
public class OrderOperationRecordController extends BaseController
{
private String prefix = "order/operate";
@Autowired
private IOrderOperationRecordService orderOperationRecordService;
@RequiresPermissions("order:operate:view")
@GetMapping()
public String record()
{
return prefix + "/operate";
}
/**
* 查询订单操作记录列表
*/
@RequiresPermissions("order:operate:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(OrderOperationRecord orderOperationRecord)
{
startPage();
List<OrderOperationRecord> list = orderOperationRecordService.selectOrderOperationRecordList(orderOperationRecord);
return getDataTable(list);
}
/**
* App查询订单操作记录列表
*/
@ApiOperation("订单操作记录列表")
@PostMapping("/app/list")
@ResponseBody
public TableDataInfo appList(@RequestBody OrderOperationRecord orderOperationRecord)
{
startPage();
List<OrderOperationRecord> list = orderOperationRecordService.selectOrderOperationRecordList(orderOperationRecord);
return getDataTable(list);
}
/**
* 新增保存订单操作记录
*/
@ApiOperation("新增订单操作记录")
@PostMapping("/app/add")
@ResponseBody
public AjaxResult appAdd(OrderOperationRecord orderOperationRecord)
{
return toAjax(orderOperationRecordService.insertOrderOperationRecord(orderOperationRecord));
}
/**
* 导出订单操作记录列表
*/
@RequiresPermissions("order:operate:export")
@Log(title = "订单操作记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(OrderOperationRecord orderOperationRecord)
{
List<OrderOperationRecord> list = orderOperationRecordService.selectOrderOperationRecordList(orderOperationRecord);
ExcelUtil<OrderOperationRecord> util = new ExcelUtil<OrderOperationRecord>(OrderOperationRecord.class);
return util.exportExcel(list, "订单操作记录数据");
}
/**
* 新增订单操作记录
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存订单操作记录
*/
@RequiresPermissions("order:operate:add")
@Log(title = "订单操作记录", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(OrderOperationRecord orderOperationRecord)
{
return toAjax(orderOperationRecordService.insertOrderOperationRecord(orderOperationRecord));
}
/**
* 修改订单操作记录
*/
@RequiresPermissions("order:operate:edit")
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
OrderOperationRecord orderOperationRecord = orderOperationRecordService.selectOrderOperationRecordById(id);
mmap.put("orderOperationRecord", orderOperationRecord);
return prefix + "/edit";
}
/**
* 修改保存订单操作记录
*/
@RequiresPermissions("order:operate:edit")
@Log(title = "订单操作记录", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(OrderOperationRecord orderOperationRecord)
{
return toAjax(orderOperationRecordService.updateOrderOperationRecord(orderOperationRecord));
}
/**
* 删除订单操作记录
*/
@RequiresPermissions("order:operate:remove")
@Log(title = "订单操作记录", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(orderOperationRecordService.deleteOrderOperationRecordByIds(ids));
}
}

View File

@ -41,7 +41,7 @@ public class SwaggerConfig
// 扫描所有有注解的api用这种方式更灵活
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// 扫描指定包中的swagger注解
.apis(RequestHandlerSelectors.basePackage("com.ghy.web.controller.tool"))
.apis(RequestHandlerSelectors.basePackage("com.ghy.web.controller.order"))
// 扫描所有 .apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();

View File

@ -16,7 +16,7 @@ ruoyi:
# 开发环境配置
server:
# 服务器的HTTP端口默认为80
port: 80
port: 19001
servlet:
# 应用的访问路径
context-path: /
@ -121,7 +121,7 @@ qiniu:
adapay:
debug: true
prod-mode: true
notifyUrl: 'https://www.opsoul.com:8881/adapay/callback'
notifyUrl: 'https://gmhl.opsoul.com/adapay/callback'
jim:
appKey: '110e8830290152d76e2f1d97'

View File

@ -249,7 +249,7 @@
</div>
<div class="flex-board-no-wrap m-t">
<label class="form-control-label">订单查询:</label>
<input id="keyWords" type="text" class="form-control long-input m-r" placeholder="请输入订单号、姓名、电话或地址、品牌、规格">
<input id="keywords" type="text" class="form-control long-input m-r" placeholder="请输入订单号、姓名、电话">
</div>
<div class="m-t">
<a class="btn btn-primary btn-rounded btn-sm" onclick="searchByForm()"><i
@ -921,7 +921,7 @@
storePhone: $('#storePhone').val(),
workerName: $('#workerName').val(),
workerPhone: $('#workerPhone').val(),
keyWords: $('#keyWords').val()
keywords: $('#keywords').val()
}
customParams = Object.assign(customParams, params);

View File

@ -290,6 +290,7 @@ public class ShiroConfig
filterChainDefinitionMap.put("/system/dept/list", "anon");
filterChainDefinitionMap.put("/customer/address/**", "anon");
filterChainDefinitionMap.put("/customer/place/app/**", "anon");
filterChainDefinitionMap.put("/order/operate/app/**", "anon");
filterChainDefinitionMap.put("/customer/selection/app/**", "anon");
filterChainDefinitionMap.put("/jim/**", "anon");
filterChainDefinitionMap.put("/MP_verify_bRFuvYpyQ4WLr0on.txt", "anon");

View File

@ -43,6 +43,19 @@
<artifactId>ghy-payment</artifactId>
</dependency>
<!-- swagger3-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
</dependency>
<!-- 防止进入swagger页面报类型转换错误排除3.0.0中的引用手动增加1.6.2版本 -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
</project>

View File

@ -197,4 +197,19 @@ public class OrderMaster extends BaseEntity {
// 商品规格 -- 后台发单才有
private String goodsSpecification;
/**
* 后台关键字搜索
* */
private String keywords;
private String workerPhone;
private String workerName;
private String province;
private String city;
private String district;
}

View File

@ -0,0 +1,54 @@
package com.ghy.order.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ghy.common.annotation.Excel;
import com.ghy.common.core.domain.BaseEntity;
/**
* 订单操作记录对象 order_operation_record
*
* @author clunt
* @date 2024-02-17
*/
@Data
@ApiModel(value = "订单操作记录")
public class OrderOperationRecord extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 订单id */
@Excel(name = "订单id")
@ApiModelProperty(value = "订单id")
private Long orderId;
/** 订单类型 01.主单 02.子单 */
@Excel(name = "订单类型 01.主单 02.子单")
@ApiModelProperty(value = "订单类型 01.主单 02.子单")
private String orderType;
/** 操作内容 */
@Excel(name = "操作内容")
@ApiModelProperty(value = "操作内容")
private String content;
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("orderId", getOrderId())
.append("orderType", getOrderType())
.append("content", getContent())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("createBy", getCreateBy())
.append("updateBy", getUpdateBy())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,62 @@
package com.ghy.order.mapper;
import com.ghy.order.domain.OrderOperationRecord;
import java.util.List;
/**
* 订单操作记录Mapper接口
*
* @author clunt
* @date 2024-02-17
*/
public interface OrderOperationRecordMapper
{
/**
* 查询订单操作记录
*
* @param id 订单操作记录主键
* @return 订单操作记录
*/
public OrderOperationRecord selectOrderOperationRecordById(Long id);
/**
* 查询订单操作记录列表
*
* @param orderOperationRecord 订单操作记录
* @return 订单操作记录集合
*/
public List<OrderOperationRecord> selectOrderOperationRecordList(OrderOperationRecord orderOperationRecord);
/**
* 新增订单操作记录
*
* @param orderOperationRecord 订单操作记录
* @return 结果
*/
public int insertOrderOperationRecord(OrderOperationRecord orderOperationRecord);
/**
* 修改订单操作记录
*
* @param orderOperationRecord 订单操作记录
* @return 结果
*/
public int updateOrderOperationRecord(OrderOperationRecord orderOperationRecord);
/**
* 删除订单操作记录
*
* @param id 订单操作记录主键
* @return 结果
*/
public int deleteOrderOperationRecordById(Long id);
/**
* 批量删除订单操作记录
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteOrderOperationRecordByIds(String[] ids);
}

View File

@ -0,0 +1,60 @@
package com.ghy.order.service;
import java.util.List;
import com.ghy.order.domain.OrderOperationRecord;
/**
* 订单操作记录Service接口
*
* @author clunt
* @date 2024-02-17
*/
public interface IOrderOperationRecordService
{
/**
* 查询订单操作记录
*
* @param id 订单操作记录主键
* @return 订单操作记录
*/
public OrderOperationRecord selectOrderOperationRecordById(Long id);
/**
* 查询订单操作记录列表
*
* @param orderOperationRecord 订单操作记录
* @return 订单操作记录集合
*/
public List<OrderOperationRecord> selectOrderOperationRecordList(OrderOperationRecord orderOperationRecord);
/**
* 新增订单操作记录
*
* @param orderOperationRecord 订单操作记录
* @return 结果
*/
public int insertOrderOperationRecord(OrderOperationRecord orderOperationRecord);
/**
* 修改订单操作记录
*
* @param orderOperationRecord 订单操作记录
* @return 结果
*/
public int updateOrderOperationRecord(OrderOperationRecord orderOperationRecord);
/**
* 批量删除订单操作记录
*
* @param ids 需要删除的订单操作记录主键集合
* @return 结果
*/
public int deleteOrderOperationRecordByIds(String ids);
/**
* 删除订单操作记录信息
*
* @param id 订单操作记录主键
* @return 结果
*/
public int deleteOrderOperationRecordById(Long id);
}

View File

@ -0,0 +1,97 @@
package com.ghy.order.service.impl;
import java.util.List;
import com.ghy.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ghy.order.mapper.OrderOperationRecordMapper;
import com.ghy.order.domain.OrderOperationRecord;
import com.ghy.order.service.IOrderOperationRecordService;
import com.ghy.common.core.text.Convert;
/**
* 订单操作记录Service业务层处理
*
* @author clunt
* @date 2024-02-17
*/
@Service
public class OrderOperationRecordServiceImpl implements IOrderOperationRecordService
{
@Autowired
private OrderOperationRecordMapper orderOperationRecordMapper;
/**
* 查询订单操作记录
*
* @param id 订单操作记录主键
* @return 订单操作记录
*/
@Override
public OrderOperationRecord selectOrderOperationRecordById(Long id)
{
return orderOperationRecordMapper.selectOrderOperationRecordById(id);
}
/**
* 查询订单操作记录列表
*
* @param orderOperationRecord 订单操作记录
* @return 订单操作记录
*/
@Override
public List<OrderOperationRecord> selectOrderOperationRecordList(OrderOperationRecord orderOperationRecord)
{
return orderOperationRecordMapper.selectOrderOperationRecordList(orderOperationRecord);
}
/**
* 新增订单操作记录
*
* @param orderOperationRecord 订单操作记录
* @return 结果
*/
@Override
public int insertOrderOperationRecord(OrderOperationRecord orderOperationRecord)
{
orderOperationRecord.setCreateTime(DateUtils.getNowDate());
return orderOperationRecordMapper.insertOrderOperationRecord(orderOperationRecord);
}
/**
* 修改订单操作记录
*
* @param orderOperationRecord 订单操作记录
* @return 结果
*/
@Override
public int updateOrderOperationRecord(OrderOperationRecord orderOperationRecord)
{
orderOperationRecord.setUpdateTime(DateUtils.getNowDate());
return orderOperationRecordMapper.updateOrderOperationRecord(orderOperationRecord);
}
/**
* 批量删除订单操作记录
*
* @param ids 需要删除的订单操作记录主键
* @return 结果
*/
@Override
public int deleteOrderOperationRecordByIds(String ids)
{
return orderOperationRecordMapper.deleteOrderOperationRecordByIds(Convert.toStrArray(ids));
}
/**
* 删除订单操作记录信息
*
* @param id 订单操作记录主键
* @return 结果
*/
@Override
public int deleteOrderOperationRecordById(Long id)
{
return orderOperationRecordMapper.deleteOrderOperationRecordById(id);
}
}

View File

@ -107,11 +107,35 @@
LEFT JOIN customer_address ca ON ca.customer_address_id = om.address_id
LEFT JOIN goods g ON g.goods_id = om.goods_id
LEFT JOIN financial_master fm ON om.id = fm.order_master_id
left join worker w on om.worker_id = w.worker_id
</sql>
<select id="selectOrderMasterList" parameterType="com.ghy.order.domain.OrderMaster" resultMap="OrderMasterResult">
<include refid="selectOrderMasterMoreInfo"></include>
<where>
<if test="keywords != null and keywords != ''">
AND
(
om.code LIKE concat('%', #{keywords}, '%')
or ca.name LIKE concat('%', #{keywords}, '%')
or ca.phone LIKE concat('%', #{keywords}, '%')
)
</if>
<if test="workerName != null and workerName != ''">
AND w.name LIKE concat('%', #{workerName}, '%')
</if>
<if test="workerPhone != null and workerPhone != ''">
AND w.phone LIKE concat('%', #{workerPhone}, '%')
</if>
<if test="province != null and province != ''">
AND ca.province_id = #{province}
</if>
<if test="city != null and city != ''">
AND ca.city_id = #{city}
</if>
<if test="district != null and district != ''">
AND ca.country_id = #{district}
</if>
<if test="isMonitoredOrder">
AND (om.all_self_assigned = 0 or om.all_self_assigned is null) AND om.order_status in (1,2,3,4)
</if>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ghy.order.mapper.OrderOperationRecordMapper">
<resultMap type="OrderOperationRecord" id="OrderOperationRecordResult">
<result property="id" column="id" />
<result property="orderId" column="order_id" />
<result property="orderType" column="order_type" />
<result property="content" column="content" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="createBy" column="create_by" />
<result property="updateBy" column="update_by" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectOrderOperationRecordVo">
select id, order_id, order_type, content, create_time, update_time, create_by, update_by, remark from order_operation_record
</sql>
<select id="selectOrderOperationRecordList" parameterType="OrderOperationRecord" resultMap="OrderOperationRecordResult">
<include refid="selectOrderOperationRecordVo"/>
<where>
<if test="orderId != null "> and order_id = #{orderId}</if>
<if test="orderType != null and orderType != ''"> and order_type = #{orderType}</if>
<if test="content != null and content != ''"> and content = #{content}</if>
</where>
</select>
<select id="selectOrderOperationRecordById" parameterType="Long" resultMap="OrderOperationRecordResult">
<include refid="selectOrderOperationRecordVo"/>
where id = #{id}
</select>
<insert id="insertOrderOperationRecord" parameterType="OrderOperationRecord" useGeneratedKeys="true" keyProperty="id">
insert into order_operation_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="orderId != null">order_id,</if>
<if test="orderType != null">order_type,</if>
<if test="content != null">content,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateBy != null">update_by,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="orderId != null">#{orderId},</if>
<if test="orderType != null">#{orderType},</if>
<if test="content != null">#{content},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateOrderOperationRecord" parameterType="OrderOperationRecord">
update order_operation_record
<trim prefix="SET" suffixOverrides=",">
<if test="orderId != null">order_id = #{orderId},</if>
<if test="orderType != null">order_type = #{orderType},</if>
<if test="content != null">content = #{content},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteOrderOperationRecordById" parameterType="Long">
delete from order_operation_record where id = #{id}
</delete>
<delete id="deleteOrderOperationRecordByIds" parameterType="String">
delete from order_operation_record where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -76,11 +76,11 @@ public class OrderServiceImpl implements OrderService {
}
// 查询符合超时的子单
List<OrderDetail> orders = orderDetailService.selectByStatus(timeoutOrderStatus);
log.info("扫描到{}条未完成的子订单", orders.size());
for (OrderDetail order : orders) {
executor.execute(() -> checkTimeout(order));
}
// List<OrderDetail> orders = orderDetailService.selectByStatus(timeoutOrderStatus);
// log.info("扫描到{}条未完成的子订单", orders.size());
// for (OrderDetail order : orders) {
// executor.execute(() -> checkTimeout(order));
// }
}
@Transactional(rollbackFor = Exception.class)