学习培训订单及明细
This commit is contained in:
parent
3c99d157f6
commit
3e098ff77d
@ -0,0 +1,101 @@
|
||||
package com.xinelu.manage.controller.trainingorder;
|
||||
|
||||
import com.xinelu.common.annotation.Log;
|
||||
import com.xinelu.common.core.controller.BaseController;
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.common.core.page.TableDataInfo;
|
||||
import com.xinelu.common.enums.BusinessType;
|
||||
import com.xinelu.manage.domain.trainingorder.TrainingOrder;
|
||||
import com.xinelu.manage.domain.trainingorderitemdirectory.TrainingOrderItemDirectory;
|
||||
import com.xinelu.manage.service.trainingorder.ITrainingOrderService;
|
||||
import com.xinelu.manage.vo.trainingorder.TrainingOrderVO;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 学习培训订单Controller
|
||||
*
|
||||
* @author xinyilu
|
||||
* @date 2023-04-20
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/trainingOrder")
|
||||
public class TrainingOrderController extends BaseController {
|
||||
@Resource
|
||||
private ITrainingOrderService trainingOrderService;
|
||||
|
||||
/**
|
||||
* 查询学习培训订单列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:trainingOrder:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(TrainingOrderVO trainingOrder) {
|
||||
startPage();
|
||||
List<TrainingOrderVO> list = trainingOrderService.selectTrainingOrderList(trainingOrder);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取学习培训订单详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:trainingOrder:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
||||
return AjaxResult.success(trainingOrderService.selectTrainingOrderById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增学习培训订单
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:trainingOrder:add')")
|
||||
@Log(title = "学习培训订单", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/add")
|
||||
public AjaxResult add(@RequestBody TrainingOrder trainingOrder) {
|
||||
return toAjax(trainingOrderService.insertTrainingOrder(trainingOrder));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改学习培训订单
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:trainingOrder:edit')")
|
||||
@Log(title = "学习培训订单", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/edit")
|
||||
public AjaxResult edit(@RequestBody TrainingOrder trainingOrder) {
|
||||
return toAjax(trainingOrderService.updateTrainingOrder(trainingOrder));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除学习培训订单
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:trainingOrder:remove')")
|
||||
@Log(title = "学习培训订单", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids) {
|
||||
return toAjax(trainingOrderService.deleteTrainingOrderByIds(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 退款信息查询
|
||||
*/
|
||||
@GetMapping("/refundInformation")
|
||||
public AjaxResult selectRefundInformation(Long id) {
|
||||
if (Objects.isNull(id)) {
|
||||
return AjaxResult.error("请选择需要退款的信息!");
|
||||
}
|
||||
return trainingOrderService.selectRefundInformation(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询学习培训订单明细章节,记录视频学习和直播课程的章节信息列表
|
||||
*/
|
||||
@GetMapping("/orderItemDirectory")
|
||||
public TableDataInfo selectTrainingOrderItemDirectoryList(TrainingOrderItemDirectory trainingOrderItemDirectory) {
|
||||
startPage();
|
||||
List<TrainingOrderItemDirectory> list = trainingOrderService.selectTrainingOrderItemDirectoryList(trainingOrderItemDirectory);
|
||||
return getDataTable(list);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,134 @@
|
||||
package com.xinelu.manage.domain.trainingorder;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xinelu.common.annotation.Excel;
|
||||
import com.xinelu.common.core.domain.BaseDomain;
|
||||
import com.xinelu.common.custominterface.Insert;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 学习培训订单主对象 training_order
|
||||
*
|
||||
* @author xinyilu
|
||||
* @date 2023-04-20
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel(value = "学习培训订单主对象", description = "training_order")
|
||||
public class TrainingOrder extends BaseDomain implements Serializable {
|
||||
private static final long serialVersionUID = -3426704831943215090L;
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 护理站id
|
||||
*/
|
||||
@ApiModelProperty(value = "护理站id")
|
||||
@Excel(name = "护理站id")
|
||||
@NotNull(message = "护理站id不能为空", groups = {Insert.class})
|
||||
private Long nurseStationId;
|
||||
|
||||
/**
|
||||
* 护理员表id
|
||||
*/
|
||||
@ApiModelProperty(value = "护理员表id")
|
||||
@Excel(name = "护理员表id")
|
||||
@NotNull(message = "护理员表id不能为空", groups = {Insert.class})
|
||||
private Long nurseStationPersonId;
|
||||
|
||||
/**
|
||||
* 护理员姓名
|
||||
*/
|
||||
@ApiModelProperty(value = "护理员姓名")
|
||||
@Excel(name = "护理员姓名")
|
||||
private String nursePersonName;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
@ApiModelProperty(value = "订单编号")
|
||||
@Excel(name = "订单编号")
|
||||
private String trainingOrderNo;
|
||||
|
||||
/**
|
||||
* 订单状态,待付款:WAIT_PAY,已付款:PAY,退款中:WAIT_REFUND,已退款:REFUNDED,已取消:CANCEL
|
||||
*/
|
||||
@ApiModelProperty(value = "订单状态,待付款:WAIT_PAY,已付款:PAY,退款中:WAIT_REFUND,已退款:REFUNDED,已取消:CANCEL")
|
||||
@Excel(name = "订单状态,待付款:WAIT_PAY,已付款:PAY,退款中:WAIT_REFUND,已退款:REFUNDED,已取消:CANCEL")
|
||||
private String trainingOrderStatus;
|
||||
|
||||
/**
|
||||
* 订单金额
|
||||
*/
|
||||
@ApiModelProperty(value = "订单金额")
|
||||
@Excel(name = "订单金额")
|
||||
@NotNull(message = "订单金额不能为空", groups = {Insert.class})
|
||||
private BigDecimal trainingOrderAmount;
|
||||
|
||||
/**
|
||||
* 下单方式,手机App:MOBILE_APP,微信小程序:WECHAT_APPLET,支付宝小程序:ALI_PAY_APPLET
|
||||
*/
|
||||
@ApiModelProperty(value = "下单方式,手机App:MOBILE_APP,微信小程序:WECHAT_APPLET,支付宝小程序:ALI_PAY_APPLET")
|
||||
@Excel(name = "下单方式,手机App:MOBILE_APP,微信小程序:WECHAT_APPLET,支付宝小程序:ALI_PAY_APPLET")
|
||||
@NotBlank(message = "下单方式不能为空", groups = {Insert.class})
|
||||
private String trainingOrderChannel;
|
||||
|
||||
/**
|
||||
* 下单时间,yyyy-MM-dd HH:mm:ss
|
||||
*/
|
||||
@ApiModelProperty(value = "下单时间,yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Excel(name = "下单时间,yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private LocalDateTime trainingOrderTime;
|
||||
|
||||
/**
|
||||
* 是否删除标识,0:否,1:是
|
||||
*/
|
||||
private Integer delFlag;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("nurseStationId", getNurseStationId())
|
||||
.append("nurseStationPersonId", getNurseStationPersonId())
|
||||
.append("nursePersonName", getNursePersonName())
|
||||
.append("trainingOrderNo", getTrainingOrderNo())
|
||||
.append("trainingOrderStatus", getTrainingOrderStatus())
|
||||
.append("trainingOrderAmount", getTrainingOrderAmount())
|
||||
.append("trainingOrderChannel", getTrainingOrderChannel())
|
||||
.append("trainingOrderTime", getTrainingOrderTime())
|
||||
.append("remark", getRemark())
|
||||
.append("delFlag", getDelFlag())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,207 @@
|
||||
package com.xinelu.manage.domain.trainingorderdetails;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xinelu.common.annotation.Excel;
|
||||
import com.xinelu.common.core.domain.BaseDomain;
|
||||
import com.xinelu.common.custominterface.Insert;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
|
||||
/**
|
||||
* 学习培训订单明细对象 training_order_details
|
||||
*
|
||||
* @author xinyilu
|
||||
* @date 2023-04-20
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel(value = "学习培训订单明细对象", description = "training_order_details")
|
||||
public class TrainingOrderDetails extends BaseDomain implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -6948216195579112151L;
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 培训订单主表id
|
||||
*/
|
||||
@ApiModelProperty(value = "培训订单主表id")
|
||||
@Excel(name = "培训订单主表id")
|
||||
private Long trainingOrderId;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
@ApiModelProperty(value = "订单编号")
|
||||
@Excel(name = "订单编号")
|
||||
private String trainingOrderNo;
|
||||
|
||||
/**
|
||||
* 培训项目表id
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目表id")
|
||||
@Excel(name = "培训项目表id")
|
||||
@NotNull(message = "培训项目表id不能为空", groups = {Insert.class})
|
||||
private Long trainingItemId;
|
||||
|
||||
/**
|
||||
* 培训项目父级id
|
||||
*/
|
||||
private Long trainingParentId;
|
||||
|
||||
/**
|
||||
* 培训项目标题
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目标题")
|
||||
@Excel(name = "培训项目标题")
|
||||
@NotBlank(message = "培训项目标题不能为空", groups = {Insert.class})
|
||||
private String trainingItemTitle;
|
||||
|
||||
/**
|
||||
* 培训项目编号
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目编号")
|
||||
@Excel(name = "培训项目编号")
|
||||
@NotBlank(message = "培训项目编号不能为空", groups = {Insert.class})
|
||||
private String trainingItemCode;
|
||||
|
||||
/**
|
||||
* 培训项目价格
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目价格")
|
||||
@Excel(name = "培训项目价格")
|
||||
@NotNull(message = "培训项目价格不能为空", groups = {Insert.class})
|
||||
private BigDecimal trainingItemPrice;
|
||||
|
||||
/**
|
||||
* 培训项目logo图片路径
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目logo图片路径")
|
||||
@Excel(name = "培训项目logo图片路径")
|
||||
@NotBlank(message = "培训项目logo图片路径不能为空", groups = {Insert.class})
|
||||
private String trainingItemCoverUrl;
|
||||
|
||||
/**
|
||||
* 培训项目海报图片路径
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目海报图片路径")
|
||||
@Excel(name = "培训项目海报图片路径")
|
||||
@NotBlank(message = "培训项目海报图片路径不能为空", groups = {Insert.class})
|
||||
private String trainingItemPosterUrl;
|
||||
|
||||
/**
|
||||
* 培训项目类型,视频学习:VIDEO_LEARNING,图文学习:GRAPHIC_LEARNING,直播课程:LIVE_COURSES,线下培训:OFFLINE_TRAINING,学习培训项目组:LEARNING_ITEM_GROUP
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目类型,视频学习:VIDEO_LEARNING,图文学习:GRAPHIC_LEARNING,直播课程:LIVE_COURSES,线下培训:OFFLINE_TRAINING,学习培训项目组:LEARNING_ITEM_GROUP")
|
||||
@Excel(name = "培训项目类型,视频学习:VIDEO_LEARNING,图文学习:GRAPHIC_LEARNING,直播课程:LIVE_COURSES,线下培训:OFFLINE_TRAINING,学习培训项目组:LEARNING_ITEM_GROUP")
|
||||
@NotBlank(message = "培训项目类型不能为空", groups = {Insert.class})
|
||||
private String trainingItemType;
|
||||
|
||||
/**
|
||||
* 培训项目详情,视频学习和直播课程培训类型使用
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目详情,视频学习和直播课程培训类型使用")
|
||||
@Excel(name = "培训项目详情,视频学习和直播课程培训类型使用")
|
||||
private String trainingItemDetails;
|
||||
|
||||
/**
|
||||
* 培训项目内容,图文学习类型使用,主要存放图文学习类型的内容
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目内容,图文学习类型使用,主要存放图文学习类型的内容")
|
||||
@Excel(name = "培训项目内容,图文学习类型使用,主要存放图文学习类型的内容")
|
||||
private String trainingItemContent;
|
||||
|
||||
/**
|
||||
* 培训项目日期,格式:yyyy-MM-dd,直播课程和线下培训类型使用
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目日期,格式:yyyy-MM-dd,直播课程和线下培训类型使用")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "培训项目日期,格式:yyyy-MM-dd,直播课程和线下培训类型使用", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private LocalDate trainingItemDate;
|
||||
|
||||
/**
|
||||
* 培训项目开始时间,格式:HH:mm:ss,直播课程和线下培训类型使用
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目开始时间,格式:HH:mm:ss,直播课程和线下培训类型使用")
|
||||
@JsonFormat(pattern = "HH:mm:ss")
|
||||
@Excel(name = "培训项目开始时间,格式:HH:mm:ss,直播课程和线下培训类型使用", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private LocalTime trainingItemStartTime;
|
||||
|
||||
/**
|
||||
* 培训项目结束时间,格式:HH:mm:ss,直播课程和线下培训类型使用
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目结束时间,格式:HH:mm:ss,直播课程和线下培训类型使用")
|
||||
@JsonFormat(pattern = "HH:mm:ss")
|
||||
@Excel(name = "培训项目结束时间,格式:HH:mm:ss,直播课程和线下培训类型使用", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private LocalTime trainingItemEndTime;
|
||||
|
||||
/**
|
||||
* 培训项目地址,线下培训类型使用,存放线下培训的地址
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目地址,线下培训类型使用,存放线下培训的地址")
|
||||
@Excel(name = "培训项目地址,线下培训类型使用,存放线下培训的地址")
|
||||
private String trainingItemAddress;
|
||||
|
||||
/**
|
||||
* 报名须知,线下培训使用,存放线下报名须知信息
|
||||
*/
|
||||
@ApiModelProperty(value = "报名须知,线下培训使用,存放线下报名须知信息")
|
||||
@Excel(name = "报名须知,线下培训使用,存放线下报名须知信息")
|
||||
private String trainingItemNotes;
|
||||
|
||||
/**
|
||||
* 培训项目排序
|
||||
*/
|
||||
private Integer trainingItemSort;
|
||||
|
||||
/**
|
||||
* 删除标识,0:否,1:是
|
||||
*/
|
||||
private Integer delFlag;
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("trainingOrderId", getTrainingOrderId())
|
||||
.append("trainingOrderNo", getTrainingOrderNo())
|
||||
.append("trainingItemId", getTrainingItemId())
|
||||
.append("trainingItemTitle", getTrainingItemTitle())
|
||||
.append("trainingItemCode", getTrainingItemCode())
|
||||
.append("trainingItemPrice", getTrainingItemPrice())
|
||||
.append("trainingItemCoverUrl", getTrainingItemCoverUrl())
|
||||
.append("trainingItemPosterUrl", getTrainingItemPosterUrl())
|
||||
.append("trainingItemType", getTrainingItemType())
|
||||
.append("trainingItemDetails", getTrainingItemDetails())
|
||||
.append("trainingItemContent", getTrainingItemContent())
|
||||
.append("trainingItemDate", getTrainingItemDate())
|
||||
.append("trainingItemStartTime", getTrainingItemStartTime())
|
||||
.append("trainingItemEndTime", getTrainingItemEndTime())
|
||||
.append("trainingItemAddress", getTrainingItemAddress())
|
||||
.append("trainingItemNotes", getTrainingItemNotes())
|
||||
.append("delFlag", getDelFlag())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,121 @@
|
||||
package com.xinelu.manage.domain.trainingorderitemdirectory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xinelu.common.annotation.Excel;
|
||||
import com.xinelu.common.core.domain.BaseDomain;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalTime;
|
||||
|
||||
/**
|
||||
* 学习培训订单明细章节,记录视频学习和直播课程的章节信息对象 training_order_item_directory
|
||||
*
|
||||
* @author xinyilu
|
||||
* @date 2023-04-20
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel(value = "学习培训订单明细章节,记录视频学习和直播课程的章节信息对象", description = "training_order_item_directory")
|
||||
public class TrainingOrderItemDirectory extends BaseDomain implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -8514498637237874587L;
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 培训订单明细表id
|
||||
*/
|
||||
@ApiModelProperty(value = "培训订单明细表id")
|
||||
@Excel(name = "培训订单明细表id")
|
||||
private Long trainingOrderDetailsId;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
@ApiModelProperty(value = "订单编号")
|
||||
@Excel(name = "订单编号")
|
||||
private String trainingOrderNo;
|
||||
|
||||
/**
|
||||
* 培训项目章节表id
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目章节表id")
|
||||
@Excel(name = "培训项目章节表id")
|
||||
private Long trainingItemDirectoryId;
|
||||
|
||||
/**
|
||||
* 培训项目章节录名称
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目章节录名称")
|
||||
@Excel(name = "培训项目章节录名称")
|
||||
private String itemDirectoryName;
|
||||
|
||||
/**
|
||||
* 培训项目章节编码
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目章节编码")
|
||||
@Excel(name = "培训项目章节编码")
|
||||
private String itemDirectoryCode;
|
||||
|
||||
/**
|
||||
* 培训项目章节标题
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目章节标题")
|
||||
@Excel(name = "培训项目章节标题")
|
||||
private String itemDirectoryTitle;
|
||||
|
||||
/**
|
||||
* 培训项目章节视频存放地址
|
||||
*/
|
||||
private String itemDirectoryUrl;
|
||||
|
||||
/**
|
||||
* 培训章节视频时长
|
||||
*/
|
||||
@JsonFormat(pattern = "HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "HH:mm:ss")
|
||||
private LocalTime itemDirectoryVideoDuration;
|
||||
|
||||
/**
|
||||
* 培训项目章节内容简介
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目章节内容简介")
|
||||
@Excel(name = "培训项目章节内容简介")
|
||||
private String itemDirectoryIntroduce;
|
||||
|
||||
/**
|
||||
* 未观看:NOT_WATCHED,已观看:WATCHED,已看完:FINISHED_READING
|
||||
*/
|
||||
private String itemDirectoryWatchStatus;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("trainingOrderDetailsId", getTrainingOrderDetailsId())
|
||||
.append("trainingOrderNo", getTrainingOrderNo())
|
||||
.append("trainingItemDirectoryId", getTrainingItemDirectoryId())
|
||||
.append("itemDirectoryName", getItemDirectoryName())
|
||||
.append("itemDirectoryCode", getItemDirectoryCode())
|
||||
.append("itemDirectoryTitle", getItemDirectoryTitle())
|
||||
.append("itemDirectoryIntroduce", getItemDirectoryIntroduce())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,162 @@
|
||||
package com.xinelu.manage.mapper.trainingorder;
|
||||
|
||||
import com.xinelu.manage.domain.trainingorder.TrainingOrder;
|
||||
import com.xinelu.manage.dto.trainingitem.NurseAppletPersonTrainingItemDTO;
|
||||
import com.xinelu.manage.vo.TrainingRefundOrderVO;
|
||||
import com.xinelu.manage.vo.trainingorder.NurseAppletPersonTrainingOrderItemVO;
|
||||
import com.xinelu.manage.vo.trainingorder.TrainingOrderVO;
|
||||
import com.xinelu.manage.vo.trainingorderdetails.NurseAppletPersonTrainingOrderDetailsVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 学习培训订单Mapper接口
|
||||
*
|
||||
* @author xinyilu
|
||||
* @date 2023-04-20
|
||||
*/
|
||||
public interface TrainingOrderMapper {
|
||||
/**
|
||||
* 查询学习培训订单
|
||||
*
|
||||
* @param id 学习培训订单主键
|
||||
* @return 学习培训订单
|
||||
*/
|
||||
TrainingOrder selectTrainingOrderById(Long id);
|
||||
|
||||
/**
|
||||
* 查询学习培训订单列表
|
||||
*
|
||||
* @param trainingOrder 学习培训订单
|
||||
* @return 学习培训订单集合
|
||||
*/
|
||||
List<TrainingOrder> selectTrainingOrderList(TrainingOrder trainingOrder);
|
||||
|
||||
/**
|
||||
* 新增学习培训订单
|
||||
*
|
||||
* @param trainingOrder 学习培训订单
|
||||
* @return 结果
|
||||
*/
|
||||
int insertTrainingOrder(TrainingOrder trainingOrder);
|
||||
|
||||
/**
|
||||
* 修改学习培训订单
|
||||
*
|
||||
* @param trainingOrder 学习培训订单
|
||||
* @return 结果
|
||||
*/
|
||||
int updateTrainingOrder(TrainingOrder trainingOrder);
|
||||
|
||||
/**
|
||||
* 删除学习培训订单
|
||||
*
|
||||
* @param id 学习培训订单主键
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteTrainingOrderById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除学习培训订单
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteTrainingOrderByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 查询已购买的学习培训集合
|
||||
*
|
||||
* @param trainingOrder 已购买的学习培训
|
||||
* @return java.util.List<com.xinyilu.base.vo.trainingitem.NurseAppletPersonTrainingItemVO>
|
||||
**/
|
||||
List<NurseAppletPersonTrainingOrderDetailsVO> selectTrainingOrderVideoList(NurseAppletPersonTrainingItemDTO trainingOrder);
|
||||
|
||||
/**
|
||||
* 查询已购买的学习培训详情
|
||||
*
|
||||
* @param trainingOrder 已购买的学习培训
|
||||
* @return java.util.List<com.xinyilu.base.vo.trainingitem.NurseAppletPersonTrainingItemVO>
|
||||
**/
|
||||
NurseAppletPersonTrainingOrderItemVO selectTrainingOrderVideoDetailsList(NurseAppletPersonTrainingItemDTO trainingOrder);
|
||||
|
||||
/**
|
||||
* 查询学习培训订单列表
|
||||
*
|
||||
* @param trainingOrder 学习培训订单
|
||||
* @return 学习培训订单集合
|
||||
*/
|
||||
List<TrainingOrderVO> selectTrainingOrderVOList(TrainingOrderVO trainingOrder);
|
||||
|
||||
/**
|
||||
* 查询学习培训订单
|
||||
*
|
||||
* @param id 学习培训订单主键
|
||||
* @return 学习培训订单
|
||||
*/
|
||||
TrainingOrderVO selectTrainingOrderVoById(Long id);
|
||||
|
||||
/**
|
||||
* 根据订单编号查询学习培训订单信息
|
||||
*
|
||||
* @param trainingOrderNo 订单编号
|
||||
* @return 学习培训订单信息
|
||||
*/
|
||||
TrainingOrder getTrainingOrderInfoByOrderNo(String trainingOrderNo);
|
||||
|
||||
/**
|
||||
* 修改学习培训订单状态
|
||||
*
|
||||
* @param trainingOrderStatus 订单状态
|
||||
* @param trainingOrderNo 订单编号
|
||||
* @return 数量
|
||||
*/
|
||||
int updateTrainingOrderStatus(@Param("trainingOrderStatus") String trainingOrderStatus, @Param("trainingOrderNo") String trainingOrderNo);
|
||||
|
||||
/**
|
||||
* 根据订单状态查未支付的学习订单集合
|
||||
*
|
||||
* @param trainingOrderStatus 订单状态
|
||||
* @param trainingOrderList 订单集合
|
||||
* @return 未支付的订单信息集合
|
||||
*/
|
||||
List<TrainingOrder> getWaitPayTrainingOrderList(@Param("trainingOrderStatus") String trainingOrderStatus, @Param("trainingOrderList") List<String> trainingOrderList);
|
||||
|
||||
/**
|
||||
* 查询超过两小时未支付的学习培训订单信息
|
||||
*
|
||||
* @param time 超时时间
|
||||
* @param trainingOrderStatus 订单状态
|
||||
* @return 学习培训订单信息集合
|
||||
*/
|
||||
List<TrainingOrder> getWaitPayTrainingOrderListByTime(@Param("time") LocalDateTime time, @Param("trainingOrderStatus") String trainingOrderStatus);
|
||||
|
||||
/**
|
||||
* 批量更新学习培训订单状态
|
||||
*
|
||||
* @param orderNoList 学习培训订单列表信息
|
||||
* @param trainingOrderStatus 订单状态
|
||||
* @return 更新数量
|
||||
*/
|
||||
int updateBatchTrainingOrderStatus(@Param("orderNoList") List<String> orderNoList, @Param("trainingOrderStatus") String trainingOrderStatus);
|
||||
|
||||
/**
|
||||
* 查询已退款成功,但是本地系统未修改退款状态的学习培训订单
|
||||
*
|
||||
* @param trainingOrderStatus 学习培训订单状态
|
||||
* @param refundStatus 退款状态
|
||||
* @return 学习培训订单集合
|
||||
*/
|
||||
List<TrainingRefundOrderVO> getTrainingRefundOrderList(@Param("trainingOrderStatus") String trainingOrderStatus, @Param("refundStatus") String refundStatus);
|
||||
|
||||
/**
|
||||
* 退款信息查询
|
||||
*
|
||||
* @param id 学习培训订单主键
|
||||
* @param trainingItemType 学习培训订单类型
|
||||
* @return 结果
|
||||
*/
|
||||
TrainingOrderVO selectRefundInformation(@Param("id") Long id, @Param("trainingItemType") String trainingItemType);
|
||||
}
|
||||
@ -0,0 +1,95 @@
|
||||
package com.xinelu.manage.mapper.trainingorderitemdirectory;
|
||||
|
||||
import com.xinelu.manage.domain.trainingorderitemdirectory.TrainingOrderItemDirectory;
|
||||
import com.xinelu.manage.vo.trainingorderitemdirectory.TrainingOrderItemDirectoryInfoVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 学习培训订单明细章节,记录视频学习和直播课程的章节信息Mapper接口
|
||||
*
|
||||
* @author xinyilu
|
||||
* @date 2023-04-20
|
||||
*/
|
||||
public interface TrainingOrderItemDirectoryMapper {
|
||||
/**
|
||||
* 查询学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
*
|
||||
* @param id 学习培训订单明细章节,记录视频学习和直播课程的章节信息主键
|
||||
* @return 学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
*/
|
||||
TrainingOrderItemDirectory selectTrainingOrderItemDirectoryById(Long id);
|
||||
|
||||
/**
|
||||
* 查询学习培训订单明细章节,记录视频学习和直播课程的章节信息列表
|
||||
*
|
||||
* @param trainingOrderItemDirectory 学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
* @return 学习培训订单明细章节,记录视频学习和直播课程的章节信息集合
|
||||
*/
|
||||
List<TrainingOrderItemDirectory> selectTrainingOrderItemDirectoryList(TrainingOrderItemDirectory trainingOrderItemDirectory);
|
||||
|
||||
/**
|
||||
* 新增学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
*
|
||||
* @param trainingOrderItemDirectory 学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
* @return 结果
|
||||
*/
|
||||
int insertTrainingOrderItemDirectory(TrainingOrderItemDirectory trainingOrderItemDirectory);
|
||||
|
||||
/**
|
||||
* 修改学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
*
|
||||
* @param trainingOrderItemDirectory 学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
* @return 结果
|
||||
*/
|
||||
int updateTrainingOrderItemDirectory(TrainingOrderItemDirectory trainingOrderItemDirectory);
|
||||
|
||||
/**
|
||||
* 删除学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
*
|
||||
* @param id 学习培训订单明细章节,记录视频学习和直播课程的章节信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteTrainingOrderItemDirectoryById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteTrainingOrderItemDirectoryByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 批量新增学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
*
|
||||
* @param trainingOrderItemDirectoryList 学习培训订单明细章节信息集合,记录视频学习和直播课程的章节信息
|
||||
* @return int
|
||||
**/
|
||||
int insertTrainingOrderItemDirectoryList(List<TrainingOrderItemDirectory> trainingOrderItemDirectoryList);
|
||||
|
||||
/**
|
||||
* 修改学习培训订单明细章节,记录视频学习和直播课程的章节信息
|
||||
*
|
||||
* @param trainingItemDirectoryId 培训项目章节表id
|
||||
* @param trainingOrderNo 订单编号
|
||||
* @param itemDirectoryWatchStatus 视频状态
|
||||
* @return int
|
||||
**/
|
||||
int updatePersonTrainingOrderItemDirectory(@Param("trainingItemDirectoryId") Long trainingItemDirectoryId, @Param("trainingOrderNo") String trainingOrderNo, @Param("itemDirectoryWatchStatus") String itemDirectoryWatchStatus);
|
||||
|
||||
/**
|
||||
* 查询订单表章节是否购买过
|
||||
*
|
||||
* @param nurseStationPersonId 护理站人员id
|
||||
* @param trainingItemId 培训项目表id
|
||||
* @param trainingItemDirectoryIdList 培训项目章节表id集合
|
||||
* @param trainingOrderStatus 订单状态,待付款:WAIT_PAY,已付款:PAY,退款中:WAIT_REFUND,已退款:REFUNDED,已取消:CANCEL',
|
||||
* @return com.xinyilu.base.vo.trainingorderitemdirectory.TrainingOrderItemDirectoryInfoVO
|
||||
**/
|
||||
List<TrainingOrderItemDirectoryInfoVO> getTrainingOrderItemDirectoryList(@Param("nurseStationPersonId") Long nurseStationPersonId,
|
||||
@Param("trainingItemId") Long trainingItemId,
|
||||
@Param("trainingItemDirectoryIdList") List<Long> trainingItemDirectoryIdList,
|
||||
@Param("trainingOrderStatus") String trainingOrderStatus);
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
package com.xinelu.manage.service.trainingorder;
|
||||
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.manage.domain.trainingorder.TrainingOrder;
|
||||
import com.xinelu.manage.domain.trainingorderitemdirectory.TrainingOrderItemDirectory;
|
||||
import com.xinelu.manage.vo.trainingorder.TrainingOrderVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 学习培训订单Service接口
|
||||
*
|
||||
* @author xinyilu
|
||||
* @date 2023-04-20
|
||||
*/
|
||||
public interface ITrainingOrderService {
|
||||
/**
|
||||
* 查询学习培训订单
|
||||
*
|
||||
* @param id 学习培训订单主键
|
||||
* @return 学习培训订单
|
||||
*/
|
||||
TrainingOrderVO selectTrainingOrderById(Long id);
|
||||
|
||||
/**
|
||||
* 查询学习培训订单列表
|
||||
*
|
||||
* @param trainingOrder 学习培训订单
|
||||
* @return 学习培训订单集合
|
||||
*/
|
||||
List<TrainingOrderVO> selectTrainingOrderList(TrainingOrderVO trainingOrder);
|
||||
|
||||
/**
|
||||
* 新增学习培训订单
|
||||
*
|
||||
* @param trainingOrder 学习培训订单
|
||||
* @return 结果
|
||||
*/
|
||||
int insertTrainingOrder(TrainingOrder trainingOrder);
|
||||
|
||||
/**
|
||||
* 修改学习培训订单
|
||||
*
|
||||
* @param trainingOrder 学习培训订单
|
||||
* @return 结果
|
||||
*/
|
||||
int updateTrainingOrder(TrainingOrder trainingOrder);
|
||||
|
||||
/**
|
||||
* 批量删除学习培训订单
|
||||
*
|
||||
* @param ids 需要删除的学习培训订单主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteTrainingOrderByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 退款信息查询
|
||||
*
|
||||
* @param id 学习培训订单主键
|
||||
* @return 结果
|
||||
*/
|
||||
AjaxResult selectRefundInformation(Long id);
|
||||
|
||||
/**
|
||||
* 查询订单明细章节信息
|
||||
*
|
||||
* @param trainingOrderItemDirectory 查询学习培训订单明细章节
|
||||
* @return List<TrainingOrderItemDirectory>
|
||||
*/
|
||||
List<TrainingOrderItemDirectory> selectTrainingOrderItemDirectoryList(TrainingOrderItemDirectory trainingOrderItemDirectory);
|
||||
}
|
||||
@ -0,0 +1,113 @@
|
||||
package com.xinelu.manage.service.trainingorder.impl;
|
||||
|
||||
import com.xinelu.manage.domain.trainingorder.TrainingOrder;
|
||||
import com.xinelu.manage.domain.trainingorderitemdirectory.TrainingOrderItemDirectory;
|
||||
import com.xinelu.manage.mapper.trainingorder.TrainingOrderMapper;
|
||||
import com.xinelu.manage.mapper.trainingorderitemdirectory.TrainingOrderItemDirectoryMapper;
|
||||
import com.xinelu.manage.service.trainingorder.ITrainingOrderService;
|
||||
import com.xinelu.manage.vo.trainingorder.TrainingOrderVO;
|
||||
import com.xinelu.common.constant.Constants;
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.common.enums.TrainingItemTypeEnum;
|
||||
import com.xinelu.common.utils.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 学习培训订单Service业务层处理
|
||||
*
|
||||
* @author xinyilu
|
||||
* @date 2023-04-20
|
||||
*/
|
||||
@Service
|
||||
public class TrainingOrderServiceImpl implements ITrainingOrderService {
|
||||
@Resource
|
||||
private TrainingOrderMapper trainingOrderMapper;
|
||||
@Resource
|
||||
private TrainingOrderItemDirectoryMapper trainingOrderItemDirectoryMapper;
|
||||
|
||||
/**
|
||||
* 查询学习培训订单
|
||||
*
|
||||
* @param id 学习培训订单主键
|
||||
* @return 学习培训订单
|
||||
*/
|
||||
@Override
|
||||
public TrainingOrderVO selectTrainingOrderById(Long id) {
|
||||
return trainingOrderMapper.selectTrainingOrderVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询学习培训订单列表
|
||||
*
|
||||
* @param trainingOrder 学习培训订单
|
||||
* @return 学习培训订单
|
||||
*/
|
||||
@Override
|
||||
public List<TrainingOrderVO> selectTrainingOrderList(TrainingOrderVO trainingOrder) {
|
||||
trainingOrder.setTrainingParentId(Constants.TRAINING_PARENT_ID);
|
||||
return trainingOrderMapper.selectTrainingOrderVOList(trainingOrder);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增学习培训订单
|
||||
*
|
||||
* @param trainingOrder 学习培训订单
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertTrainingOrder(TrainingOrder trainingOrder) {
|
||||
trainingOrder.setCreateTime(LocalDateTime.now());
|
||||
trainingOrder.setCreateBy(SecurityUtils.getUsername());
|
||||
return trainingOrderMapper.insertTrainingOrder(trainingOrder);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改学习培训订单
|
||||
*
|
||||
* @param trainingOrder 学习培训订单
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateTrainingOrder(TrainingOrder trainingOrder) {
|
||||
trainingOrder.setUpdateTime(LocalDateTime.now());
|
||||
trainingOrder.setUpdateBy(SecurityUtils.getUsername());
|
||||
return trainingOrderMapper.updateTrainingOrder(trainingOrder);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除学习培训订单
|
||||
*
|
||||
* @param ids 需要删除的学习培训订单主主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteTrainingOrderByIds(Long[] ids) {
|
||||
return trainingOrderMapper.deleteTrainingOrderByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 退款信息查询
|
||||
*
|
||||
* @param id 学习培训订单主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult selectRefundInformation(Long id) {
|
||||
return AjaxResult.success(trainingOrderMapper.selectRefundInformation(id, TrainingItemTypeEnum.LEARNING_ITEM_GROUP.getInfo()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询订单明细章节信息
|
||||
*
|
||||
* @param trainingOrderItemDirectory 查询学习培训订单明细章节
|
||||
* @return List<TrainingOrderItemDirectory>
|
||||
*/
|
||||
@Override
|
||||
public List<TrainingOrderItemDirectory> selectTrainingOrderItemDirectoryList(TrainingOrderItemDirectory trainingOrderItemDirectory) {
|
||||
return trainingOrderItemDirectoryMapper.selectTrainingOrderItemDirectoryList(trainingOrderItemDirectory);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package com.xinelu.manage.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Description 学习培训订单退款返回值实体类
|
||||
* @Author 纪寒
|
||||
* @Date 2023-04-24 14:30:16
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class TrainingRefundOrderVO implements Serializable {
|
||||
private static final long serialVersionUID = 8293128390665523720L;
|
||||
/**
|
||||
* 学习培训订单编号
|
||||
*/
|
||||
private String trainingOrderNo;
|
||||
|
||||
/**
|
||||
* 学习培训订单状态
|
||||
*/
|
||||
private String trainingOrderStatus;
|
||||
|
||||
/**
|
||||
* 学习培训退款单号
|
||||
*/
|
||||
private String outRefundNo;
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package com.xinelu.manage.vo.trainingorder;
|
||||
|
||||
import com.xinelu.manage.domain.trainingorderdetails.TrainingOrderDetails;
|
||||
import com.xinelu.manage.vo.trainingorderitemdirectory.TrainingOrderItemDirectoryVO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ljh
|
||||
* @version 1.0
|
||||
* Create by 2023/4/25 9:18
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class NurseAppletPersonTrainingOrderItemVO extends TrainingOrderDetails implements Serializable {
|
||||
private static final long serialVersionUID = 4974378984559961673L;
|
||||
|
||||
/**
|
||||
* 学习培训订单明细章节,记录视频学习和直播课程的章节信息对象 training_order_item_directory
|
||||
*/
|
||||
List<TrainingOrderItemDirectoryVO> trainingOrderItemDirectoryVOList;
|
||||
|
||||
/**
|
||||
* 学习培训项目信息对象主键id
|
||||
*/
|
||||
private Long trainingItemId;
|
||||
|
||||
/**
|
||||
* 学习培训项目章节对象主键id
|
||||
*/
|
||||
private Long trainingItemDirectoryId;
|
||||
|
||||
/**
|
||||
* 订单状态,待付款:WAIT_PAY,已付款:PAY,退款中:WAIT_REFUND,已退款:REFUNDED,已取消:CANCEL
|
||||
*/
|
||||
private String trainingOrderStatus;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
private String trainingOrderNo;
|
||||
|
||||
/**
|
||||
* 订单主表id
|
||||
*/
|
||||
private Long trainingOrderId;
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
package com.xinelu.manage.vo.trainingorder;
|
||||
|
||||
import com.xinelu.manage.domain.trainingorder.TrainingOrder;
|
||||
import com.xinelu.manage.vo.trainingorderdetails.TrainingOrderDetailsVO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 学习培训订单主对象 training_order
|
||||
*
|
||||
* @author zh
|
||||
* @date 2023-04-23
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class TrainingOrderVO extends TrainingOrder {
|
||||
private static final long serialVersionUID = 8026313682395475801L;
|
||||
|
||||
/**
|
||||
* 订单id
|
||||
*/
|
||||
private Long trainingOrderId;
|
||||
|
||||
/**
|
||||
* 护理站名称
|
||||
*/
|
||||
private String nurseStationName;
|
||||
|
||||
/**
|
||||
* 培训项目标题
|
||||
*/
|
||||
private String trainingItemTitle;
|
||||
|
||||
/**
|
||||
* 订单明细
|
||||
*/
|
||||
private List<TrainingOrderDetailsVO> trainingOrderDetailsList;
|
||||
|
||||
/**
|
||||
* 学习培训课程父id
|
||||
*/
|
||||
private Long trainingParentId;
|
||||
}
|
||||
@ -0,0 +1,74 @@
|
||||
package com.xinelu.manage.vo.trainingorderdetails;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xinelu.manage.domain.trainingorderdetails.TrainingOrderDetails;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author ljh
|
||||
* @version 1.0
|
||||
* Create by 2023/4/25 9:46
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class NurseAppletPersonTrainingOrderDetailsVO extends TrainingOrderDetails implements Serializable {
|
||||
private static final long serialVersionUID = 4344236010800105022L;
|
||||
|
||||
/**
|
||||
* 订单明细主键id
|
||||
*/
|
||||
private Long trainingOrderDetailsId;
|
||||
|
||||
/**
|
||||
* 订单主键id
|
||||
*/
|
||||
private Long trainingOrderId;
|
||||
|
||||
/**
|
||||
* 护理站id
|
||||
*/
|
||||
private Long nurseStationId;
|
||||
|
||||
/**
|
||||
* 护理员表id
|
||||
*/
|
||||
private Long nurseStationPersonId;
|
||||
|
||||
/**
|
||||
* 护理员姓名
|
||||
*/
|
||||
private String nursePersonName;
|
||||
|
||||
/**
|
||||
* 订单状态,待付款:WAIT_PAY,已付款:PAY,退款中:WAIT_REFUND,已退款:REFUNDED,已取消:CANCEL
|
||||
*/
|
||||
private String trainingOrderStatus;
|
||||
|
||||
/**
|
||||
* 订单金额
|
||||
*/
|
||||
private BigDecimal trainingOrderAmount;
|
||||
|
||||
/**
|
||||
* 下单方式,手机App:MOBILE_APP,微信小程序:WECHAT_APPLET,支付宝小程序:ALI_PAY_APPLET
|
||||
*/
|
||||
private String trainingOrderChannel;
|
||||
|
||||
/**
|
||||
* 下单时间,yyyy-MM-dd HH:mm:ss
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime trainingOrderTime;
|
||||
|
||||
/**
|
||||
* 是否删除标识,0:否,1:是
|
||||
*/
|
||||
private Integer delFlag;
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
package com.xinelu.manage.vo.trainingorderdetails;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author ljh
|
||||
* @version 1.0
|
||||
* Create by 2023/4/26 9:38
|
||||
*/
|
||||
@Data
|
||||
public class TrainingDetailsByOrderVO implements Serializable {
|
||||
private static final long serialVersionUID = -3764420224976771260L;
|
||||
|
||||
/**
|
||||
* 培训订单主表id
|
||||
*/
|
||||
private Long trainingOrderId;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
private String trainingOrderNo;
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package com.xinelu.manage.vo.trainingorderdetails;
|
||||
|
||||
import com.xinelu.manage.domain.trainingorderdetails.TrainingOrderDetails;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 学习培训订单明细对象 training_order_details
|
||||
*
|
||||
* @author xinyilu
|
||||
* @date 2023-04-24
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class TrainingOrderDetailsVO extends TrainingOrderDetails {
|
||||
private static final long serialVersionUID = 8581670163836081338L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long trainingOrderDetailsId;
|
||||
}
|
||||
@ -0,0 +1,61 @@
|
||||
package com.xinelu.manage.vo.trainingorderdetails;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @Description 待支付的学习培训订单详情信息实体类
|
||||
* @Author 纪寒
|
||||
* @Date 2023-04-27 09:43:43
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class WaitPayTrainingOrderDetailsVO implements Serializable {
|
||||
private static final long serialVersionUID = -8690776626721258896L;
|
||||
/**
|
||||
* 学习培训课程包名称
|
||||
*/
|
||||
private String trainingItemTitle;
|
||||
|
||||
/**
|
||||
* 学习培训课程包名称
|
||||
*/
|
||||
private String trainingItemCoverUrl;
|
||||
|
||||
/**
|
||||
* 学习培训课程包价格
|
||||
*/
|
||||
private BigDecimal trainingOrderAmount;
|
||||
|
||||
/**
|
||||
* 学习培训订单编号
|
||||
*/
|
||||
private String trainingOrderNo;
|
||||
|
||||
/**
|
||||
* 护理员姓名
|
||||
*/
|
||||
private String nursePersonName;
|
||||
|
||||
/**
|
||||
* 护理员id
|
||||
*/
|
||||
private Long nurseStationPersonId;
|
||||
|
||||
/**
|
||||
* 培训学习订单
|
||||
*/
|
||||
private String trainingOrderStatus;
|
||||
|
||||
/**
|
||||
* 下单时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime trainingOrderTime;
|
||||
}
|
||||
@ -0,0 +1,80 @@
|
||||
package com.xinelu.manage.vo.trainingorderitemdirectory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
|
||||
/**
|
||||
* @author ljh
|
||||
* @version 1.0
|
||||
* Create by 2023/4/26 10:36
|
||||
*/
|
||||
@Data
|
||||
public class TrainingOrderItemDirectoryInfoVO implements Serializable {
|
||||
private static final long serialVersionUID = -1196792067821850227L;
|
||||
|
||||
/**
|
||||
* 培训项目表id
|
||||
**/
|
||||
private Long trainingItemId;
|
||||
|
||||
/**
|
||||
* 培训订单主表id
|
||||
**/
|
||||
private Long trainingOrderId;
|
||||
|
||||
/**
|
||||
* 培训项目类型,视频学习:VIDEO_LEARNING,图文学习:GRAPHIC_LEARNING,直播课程:LIVE_COURSES,线下培训:OFFLINE_TRAINING,学习培训项目组:LEARNING_ITEM_GROUP',
|
||||
**/
|
||||
private String trainingItemType;
|
||||
|
||||
/**
|
||||
* 培训项目章节表id
|
||||
**/
|
||||
private Long trainingItemDirectoryId;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
**/
|
||||
private String trainingOrderNo;
|
||||
|
||||
/**
|
||||
* 未观看:NOT_WATCHED,已观看:WATCHED,已看完:FINISHED_READING
|
||||
**/
|
||||
private String itemDirectoryWatchStatus;
|
||||
|
||||
/**
|
||||
* 护理站id
|
||||
*/
|
||||
private Long nurseStationId;
|
||||
|
||||
/**
|
||||
* 护理站人员id
|
||||
*/
|
||||
private Long nurseStationPersonId;
|
||||
|
||||
/**
|
||||
* 护理站人员名称
|
||||
*/
|
||||
private String nursePersonName;
|
||||
|
||||
/**
|
||||
* 订单状态,待付款:WAIT_PAY,已付款:PAY,退款中:WAIT_REFUND,已退款:REFUNDED,已取消:CANCEL
|
||||
*/
|
||||
private String trainingOrderStatus;
|
||||
|
||||
/**
|
||||
* 观看日期,格式:yyyy-MM-dd
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate watchDate;
|
||||
|
||||
/**
|
||||
* 培训项目观看时间点,格式:HH:mm:ss,视频学习类型使用
|
||||
*/
|
||||
@JsonFormat(pattern = "HH:mm:ss")
|
||||
private LocalTime watchTime;
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package com.xinelu.manage.vo.trainingorderitemdirectory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xinelu.common.annotation.Excel;
|
||||
import com.xinelu.manage.domain.trainingorderitemdirectory.TrainingOrderItemDirectory;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
|
||||
/**
|
||||
* @author ljh
|
||||
* @version 1.0
|
||||
* Create by 2023/4/21 22:59
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class TrainingOrderItemDirectoryVO extends TrainingOrderItemDirectory implements Serializable {
|
||||
private static final long serialVersionUID = -8067388610816174007L;
|
||||
|
||||
/**
|
||||
* 观看日期,格式:yyyy-MM-dd
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate watchDate;
|
||||
|
||||
/**
|
||||
* 培训项目观看时间点,格式:HH:mm:ss,视频学习类型使用
|
||||
*/
|
||||
@JsonFormat(pattern = "HH:mm:ss")
|
||||
private LocalTime watchTime;
|
||||
|
||||
/**
|
||||
* 培训项目表id
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目表id")
|
||||
@Excel(name = "培训项目表id")
|
||||
private Long trainingItemId;
|
||||
|
||||
/**
|
||||
* 培训项目章节标题
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目章节标题")
|
||||
@Excel(name = "培训项目章节标题")
|
||||
private String itemDirectoryTitle;
|
||||
|
||||
/**
|
||||
* 培训项目章节视频存放地址
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目章节视频存放地址")
|
||||
@Excel(name = "培训项目章节视频存放地址")
|
||||
private String itemDirectoryUrl;
|
||||
|
||||
/**
|
||||
* 培训章节视频时长
|
||||
*/
|
||||
@JsonFormat(pattern = "HH:mm:ss")
|
||||
private LocalTime itemDirectoryVideoDuration;
|
||||
|
||||
|
||||
/**
|
||||
* 培训项目章节排序
|
||||
*/
|
||||
@ApiModelProperty(value = "培训项目章节排序")
|
||||
@Excel(name = "培训项目章节排序")
|
||||
private Integer itemDirectorySort;
|
||||
}
|
||||
@ -0,0 +1,561 @@
|
||||
<?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.xinelu.manage.mapper.trainingorder.TrainingOrderMapper">
|
||||
|
||||
<resultMap type="TrainingOrder" id="TrainingOrderResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="nurseStationId" column="nurse_station_id"/>
|
||||
<result property="nurseStationPersonId" column="nurse_station_person_id"/>
|
||||
<result property="nursePersonName" column="nurse_person_name"/>
|
||||
<result property="trainingOrderNo" column="training_order_no"/>
|
||||
<result property="trainingOrderStatus" column="training_order_status"/>
|
||||
<result property="trainingOrderAmount" column="training_order_amount"/>
|
||||
<result property="trainingOrderChannel" column="training_order_channel"/>
|
||||
<result property="trainingOrderTime" column="training_order_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.xinelu.manage.vo.trainingorder.NurseAppletPersonTrainingOrderItemVO"
|
||||
id="NurseAppletPersonTrainingOrderItemVOResult">
|
||||
<result property="trainingOrderId" column="training_order_id"/>
|
||||
<result property="trainingOrderNo" column="training_order_no"/>
|
||||
<result property="trainingItemId" column="training_item_id"/>
|
||||
<result property="trainingParentId" column="training_parent_id"/>
|
||||
<result property="trainingItemTitle" column="training_item_title"/>
|
||||
<result property="trainingItemCode" column="training_item_code"/>
|
||||
<result property="trainingItemPrice" column="training_item_price"/>
|
||||
<result property="trainingItemCoverUrl" column="training_item_cover_url"/>
|
||||
<result property="trainingItemPosterUrl" column="training_item_poster_url"/>
|
||||
<result property="trainingItemType" column="training_item_type"/>
|
||||
<result property="trainingItemDetails" column="training_item_details"/>
|
||||
<result property="trainingItemContent" column="training_item_content"/>
|
||||
<result property="trainingItemDate" column="training_item_date"/>
|
||||
<result property="trainingItemStartTime" column="training_item_start_time"/>
|
||||
<result property="trainingItemEndTime" column="training_item_end_time"/>
|
||||
<result property="trainingItemAddress" column="training_item_address"/>
|
||||
<result property="trainingItemNotes" column="training_item_notes"/>
|
||||
<result property="trainingItemSort" column="training_item_sort"/>
|
||||
<result property="trainingOrderStatus" column="training_order_status"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<collection property="trainingOrderItemDirectoryVOList" javaType="java.util.List"
|
||||
resultMap="TrainingItemDirectoryResult"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.xinelu.manage.vo.trainingorderitemdirectory.TrainingOrderItemDirectoryVO"
|
||||
id="TrainingItemDirectoryResult">
|
||||
<result property="id" column="trainingItemDirectoryId"/>
|
||||
<result property="trainingItemDirectoryId" column="training_item_directory_id"/>
|
||||
<result property="trainingOrderNo" column="training_order_no"/>
|
||||
<result property="trainingItemId" column="training_item_id"/>
|
||||
<result property="itemDirectoryName" column="item_directory_name"/>
|
||||
<result property="itemDirectoryCode" column="item_directory_code"/>
|
||||
<result property="itemDirectoryTitle" column="item_directory_title"/>
|
||||
<result property="itemDirectoryUrl" column="item_directory_url"/>
|
||||
<result property="itemDirectoryVideoDuration" column="item_directory_video_duration"/>
|
||||
<result property="itemDirectoryIntroduce" column="item_directory_introduce"/>
|
||||
<result property="trainingItemDirectoryId" column="training_item_directory_id"/>
|
||||
<result property="trainingOrderNo" column="training_order_no"/>
|
||||
<result property="itemDirectoryWatchStatus" column="item_directory_watch_status"/>
|
||||
<result property="itemDirectorySort" column="item_directory_sort"/>
|
||||
<result property="watchDate" column="watch_date"/>
|
||||
<result property="watchTime" column="watch_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.xinelu.manage.vo.trainingorder.TrainingOrderVO" id="TrainingOrderVOResult">
|
||||
<result property="trainingOrderId" column="trainingOrderId"/>
|
||||
<result property="nurseStationId" column="nurse_station_id"/>
|
||||
<result property="nurseStationPersonId" column="nurse_station_person_id"/>
|
||||
<result property="nursePersonName" column="nurse_person_name"/>
|
||||
<result property="trainingOrderNo" column="training_order_no"/>
|
||||
<result property="trainingOrderStatus" column="training_order_status"/>
|
||||
<result property="trainingOrderAmount" column="training_order_amount"/>
|
||||
<result property="trainingOrderChannel" column="training_order_channel"/>
|
||||
<result property="trainingOrderTime" column="training_order_time"/>
|
||||
<result property="nurseStationName" column="nurse_station_name"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<collection property="trainingOrderDetailsList" javaType="java.util.List"
|
||||
resultMap="trainingOrderDetailsResult"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.xinelu.manage.vo.trainingorderdetails.TrainingOrderDetailsVO" id="trainingOrderDetailsResult">
|
||||
<result property="trainingOrderDetailsId" column="trainingOrderDetailsId"/>
|
||||
<result property="trainingOrderId" column="training_order_id"/>
|
||||
<result property="trainingOrderNo" column="training_order_no"/>
|
||||
<result property="trainingItemId" column="training_item_id"/>
|
||||
<result property="trainingParentId" column="training_parent_id"/>
|
||||
<result property="trainingItemTitle" column="training_item_title"/>
|
||||
<result property="trainingItemCode" column="training_item_code"/>
|
||||
<result property="trainingItemPrice" column="training_item_price"/>
|
||||
<result property="trainingItemCoverUrl" column="training_item_cover_url"/>
|
||||
<result property="trainingItemPosterUrl" column="training_item_poster_url"/>
|
||||
<result property="trainingItemType" column="training_item_type"/>
|
||||
<result property="trainingItemDetails" column="training_item_details"/>
|
||||
<result property="trainingItemContent" column="training_item_content"/>
|
||||
<result property="trainingItemDate" column="training_item_date"/>
|
||||
<result property="trainingItemStartTime" column="training_item_start_time"/>
|
||||
<result property="trainingItemEndTime" column="training_item_end_time"/>
|
||||
<result property="trainingItemAddress" column="training_item_address"/>
|
||||
<result property="trainingItemNotes" column="training_item_notes"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectTrainingOrderVo">
|
||||
select id,
|
||||
nurse_station_id,
|
||||
nurse_station_person_id,
|
||||
nurse_person_name,
|
||||
training_order_no,
|
||||
training_order_status,
|
||||
training_order_amount,
|
||||
training_order_channel,
|
||||
training_order_time,
|
||||
remark,
|
||||
del_flag,
|
||||
create_by,
|
||||
create_time,
|
||||
update_by,
|
||||
update_time
|
||||
from training_order
|
||||
</sql>
|
||||
|
||||
<select id="selectTrainingOrderList" parameterType="TrainingOrder" resultMap="TrainingOrderResult">
|
||||
<include refid="selectTrainingOrderVo"/>
|
||||
<where>
|
||||
<if test="nurseStationId != null ">
|
||||
and nurse_station_id = #{nurseStationId}
|
||||
</if>
|
||||
<if test="nurseStationPersonId != null ">
|
||||
and nurse_station_person_id = #{nurseStationPersonId}
|
||||
</if>
|
||||
<if test="nursePersonName != null and nursePersonName != ''">
|
||||
and nurse_person_name like concat('%', #{nursePersonName}, '%')
|
||||
</if>
|
||||
<if test="trainingOrderNo != null and trainingOrderNo != ''">
|
||||
and training_order_no = #{trainingOrderNo}
|
||||
</if>
|
||||
<if test="trainingOrderStatus != null and trainingOrderStatus != ''">
|
||||
and training_order_status = #{trainingOrderStatus}
|
||||
</if>
|
||||
<if test="trainingOrderAmount != null ">
|
||||
and training_order_amount = #{trainingOrderAmount}
|
||||
</if>
|
||||
<if test="trainingOrderChannel != null and trainingOrderChannel != ''">
|
||||
and training_order_channel = #{trainingOrderChannel}
|
||||
</if>
|
||||
<if test="trainingOrderTime != null ">
|
||||
and training_order_time = #{trainingOrderTime}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectTrainingOrderById" parameterType="Long"
|
||||
resultMap="TrainingOrderResult">
|
||||
<include refid="selectTrainingOrderVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertTrainingOrder" parameterType="TrainingOrder" useGeneratedKeys="true"
|
||||
keyProperty="id">
|
||||
insert into training_order
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="nurseStationId != null">nurse_station_id,
|
||||
</if>
|
||||
<if test="nurseStationPersonId != null">nurse_station_person_id,
|
||||
</if>
|
||||
<if test="nursePersonName != null">nurse_person_name,
|
||||
</if>
|
||||
<if test="trainingOrderNo != null">training_order_no,
|
||||
</if>
|
||||
<if test="trainingOrderStatus != null">training_order_status,
|
||||
</if>
|
||||
<if test="trainingOrderAmount != null">training_order_amount,
|
||||
</if>
|
||||
<if test="trainingOrderChannel != null">training_order_channel,
|
||||
</if>
|
||||
<if test="trainingOrderTime != null">training_order_time,
|
||||
</if>
|
||||
<if test="remark != null">remark,
|
||||
</if>
|
||||
<if test="delFlag != null">del_flag,
|
||||
</if>
|
||||
<if test="createBy != null">create_by,
|
||||
</if>
|
||||
<if test="createTime != null">create_time,
|
||||
</if>
|
||||
<if test="updateBy != null">update_by,
|
||||
</if>
|
||||
<if test="updateTime != null">update_time,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="nurseStationId != null">#{nurseStationId},
|
||||
</if>
|
||||
<if test="nurseStationPersonId != null">#{nurseStationPersonId},
|
||||
</if>
|
||||
<if test="nursePersonName != null">#{nursePersonName},
|
||||
</if>
|
||||
<if test="trainingOrderNo != null">#{trainingOrderNo},
|
||||
</if>
|
||||
<if test="trainingOrderStatus != null">#{trainingOrderStatus},
|
||||
</if>
|
||||
<if test="trainingOrderAmount != null">#{trainingOrderAmount},
|
||||
</if>
|
||||
<if test="trainingOrderChannel != null">#{trainingOrderChannel},
|
||||
</if>
|
||||
<if test="trainingOrderTime != null">#{trainingOrderTime},
|
||||
</if>
|
||||
<if test="remark != null">#{remark},
|
||||
</if>
|
||||
<if test="delFlag != null">#{delFlag},
|
||||
</if>
|
||||
<if test="createBy != null">#{createBy},
|
||||
</if>
|
||||
<if test="createTime != null">#{createTime},
|
||||
</if>
|
||||
<if test="updateBy != null">#{updateBy},
|
||||
</if>
|
||||
<if test="updateTime != null">#{updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateTrainingOrder" parameterType="TrainingOrder">
|
||||
update training_order
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="nurseStationId != null">nurse_station_id =
|
||||
#{nurseStationId},
|
||||
</if>
|
||||
<if test="nurseStationPersonId != null">nurse_station_person_id =
|
||||
#{nurseStationPersonId},
|
||||
</if>
|
||||
<if test="nursePersonName != null">nurse_person_name =
|
||||
#{nursePersonName},
|
||||
</if>
|
||||
<if test="trainingOrderNo != null">training_order_no =
|
||||
#{trainingOrderNo},
|
||||
</if>
|
||||
<if test="trainingOrderStatus != null">training_order_status =
|
||||
#{trainingOrderStatus},
|
||||
</if>
|
||||
<if test="trainingOrderAmount != null">training_order_amount =
|
||||
#{trainingOrderAmount},
|
||||
</if>
|
||||
<if test="trainingOrderChannel != null">training_order_channel =
|
||||
#{trainingOrderChannel},
|
||||
</if>
|
||||
<if test="trainingOrderTime != null">training_order_time =
|
||||
#{trainingOrderTime},
|
||||
</if>
|
||||
<if test="remark != null">remark =
|
||||
#{remark},
|
||||
</if>
|
||||
<if test="delFlag != null">del_flag =
|
||||
#{delFlag},
|
||||
</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>
|
||||
<if test="updateTime != null">update_time =
|
||||
#{updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteTrainingOrderById" parameterType="Long">
|
||||
delete
|
||||
from training_order
|
||||
where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteTrainingOrderByIds" parameterType="String">
|
||||
delete from training_order where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectTrainingOrderVideoList"
|
||||
parameterType="com.xinelu.manage.dto.trainingitem.NurseAppletPersonTrainingItemDTO"
|
||||
resultType="com.xinelu.manage.vo.trainingorderdetails.NurseAppletPersonTrainingOrderDetailsVO">
|
||||
SELECT
|
||||
t.id trainingOrderId,
|
||||
t.nurse_station_id,
|
||||
t.nurse_station_person_id,
|
||||
t.nurse_person_name,
|
||||
t.training_order_status,
|
||||
t.training_order_time,
|
||||
tod.id trainingOrderDetailsId,
|
||||
tod.training_order_no,
|
||||
tod.training_item_id,
|
||||
tod.training_parent_id,
|
||||
tod.training_item_title,
|
||||
tod.training_item_code,
|
||||
tod.training_item_price,
|
||||
tod.training_item_cover_url,
|
||||
tod.training_item_poster_url,
|
||||
tod.training_item_type,
|
||||
tod.training_item_details,
|
||||
tod.training_item_content,
|
||||
tod.del_flag
|
||||
FROM
|
||||
training_order t
|
||||
LEFT JOIN training_order_details tod ON t.training_order_no = tod.training_order_no
|
||||
<where>
|
||||
<if test="trainingOrderDetailsId != null ">
|
||||
and tod.id = #{trainingOrderDetailsId}
|
||||
</if>
|
||||
<if test="trainingItemId != null ">
|
||||
and tod.training_item_id = #{trainingItemId}
|
||||
</if>
|
||||
<if test="trainingParentId != null ">
|
||||
and tod.training_parent_id = #{trainingParentId}
|
||||
</if>
|
||||
<if test="trainingItemType != null and trainingItemType != ''">
|
||||
and tod.training_item_type <> #{trainingItemType}
|
||||
</if>
|
||||
<if test="trainingOrderStatus != null and trainingOrderStatus != ''">
|
||||
and t.training_order_status = #{trainingOrderStatus}
|
||||
</if>
|
||||
<if test="nurseStationPersonId != null ">
|
||||
and t.nurse_station_person_id = #{nurseStationPersonId}
|
||||
</if>
|
||||
<if test="trainingOrderNo != null and trainingOrderNo != ''">
|
||||
and t.training_order_no = #{trainingOrderNo}
|
||||
</if>
|
||||
AND t.del_flag = 0
|
||||
AND tod.del_flag = 0
|
||||
</where>
|
||||
ORDER BY
|
||||
t.training_order_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectTrainingOrderVideoDetailsList"
|
||||
parameterType="com.xinelu.manage.dto.trainingitem.NurseAppletPersonTrainingItemDTO"
|
||||
resultMap="NurseAppletPersonTrainingOrderItemVOResult">
|
||||
SELECT
|
||||
tod.training_order_id,
|
||||
tod.training_order_no,
|
||||
tod.training_item_id,
|
||||
tod.training_parent_id,
|
||||
tod.training_item_title,
|
||||
tod.training_item_code,
|
||||
tod.training_item_price,
|
||||
tod.training_item_cover_url,
|
||||
tod.training_item_poster_url,
|
||||
tod.training_item_type,
|
||||
tod.training_item_details,
|
||||
tod.training_item_content,
|
||||
toid.training_item_directory_id,
|
||||
toid.item_directory_code,
|
||||
toid.training_order_no,
|
||||
toid.item_directory_name,
|
||||
toid.item_directory_title,
|
||||
toid.item_directory_video_duration,
|
||||
toid.item_directory_url,
|
||||
toid.item_directory_introduce,
|
||||
toid.item_directory_watch_status,
|
||||
( SELECT watch_time FROM training_item_watch_record WHERE training_item_directory_id =
|
||||
toid.training_item_directory_id AND training_order_id = tod.training_order_id) watch_time,
|
||||
(select training_order_status from training_order where training_order_no = tod.training_order_no)
|
||||
training_order_status
|
||||
FROM
|
||||
training_order_details tod
|
||||
LEFT JOIN training_order_item_directory toid ON tod.training_order_no = toid.training_order_no
|
||||
<where>
|
||||
<if test="trainingItemId != null ">
|
||||
and tod.training_item_id = #{trainingItemId}
|
||||
</if>
|
||||
<if test="trainingOrderDetailsId != null ">
|
||||
and toid.training_order_details_id = #{trainingOrderDetailsId}
|
||||
</if>
|
||||
<if test="trainingItemType != null and trainingItemType != ''">
|
||||
and tod.training_item_type = #{trainingItemType}
|
||||
</if>
|
||||
<if test="trainingOrderNo != null and trainingOrderNo != ''">
|
||||
and tod.training_order_no = #{trainingOrderNo}
|
||||
</if>
|
||||
AND tod.del_flag = 0
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectTrainingOrderVOList" parameterType="com.xinelu.manage.vo.trainingorder.TrainingOrderVO"
|
||||
resultType="com.xinelu.manage.vo.trainingorder.TrainingOrderVO">
|
||||
select tor.id,
|
||||
tor.nurse_station_id,
|
||||
tor.nurse_station_person_id,
|
||||
tor.nurse_person_name,
|
||||
tor.training_order_no,
|
||||
tor.training_order_status,
|
||||
tor.training_order_amount,
|
||||
tor.training_order_channel,
|
||||
tor.training_order_time,
|
||||
tor.remark,
|
||||
( select training_item_title from training_order_details
|
||||
where training_order_no = tor.training_order_no
|
||||
and training_parent_id = #{trainingParentId} ) trainingItemTitle,
|
||||
ns.nurse_station_name
|
||||
from training_order tor
|
||||
left join nurse_station ns on tor.nurse_station_id = ns.id
|
||||
<where>
|
||||
<if test="nurseStationId != null ">
|
||||
and tor.nurse_station_id = #{nurseStationId}
|
||||
</if>
|
||||
<if test="nurseStationPersonId != null ">
|
||||
and tor.nurse_station_person_id = #{nurseStationPersonId}
|
||||
</if>
|
||||
<if test="nursePersonName != null and nursePersonName != ''">
|
||||
and tor.nurse_person_name like concat('%', #{nursePersonName}, '%')
|
||||
</if>
|
||||
<if test="trainingOrderNo != null and trainingOrderNo != ''">
|
||||
and tor.training_order_no = #{trainingOrderNo}
|
||||
</if>
|
||||
<if test="trainingOrderStatus != null and trainingOrderStatus != ''">
|
||||
and tor.training_order_status = #{trainingOrderStatus}
|
||||
</if>
|
||||
<if test="trainingOrderTime != null ">
|
||||
and tor.training_order_time = #{trainingOrderTime}
|
||||
</if>
|
||||
AND tor.del_flag = 0
|
||||
</where>
|
||||
order by tor.training_order_time desc
|
||||
</select>
|
||||
|
||||
<select id="getTrainingOrderInfoByOrderNo" parameterType="string" resultType="trainingOrder">
|
||||
<include refid="selectTrainingOrderVo"/>
|
||||
where training_order_no = #{trainingOrderNo}
|
||||
</select>
|
||||
|
||||
<update id="updateTrainingOrderStatus" parameterType="string">
|
||||
update training_order
|
||||
set training_order_status = #{trainingOrderStatus},
|
||||
update_time = now()
|
||||
where del_flag = 0
|
||||
and training_order_no = #{trainingOrderNo}
|
||||
and training_order_status <> #{trainingOrderStatus}
|
||||
</update>
|
||||
|
||||
<select id="getWaitPayTrainingOrderList" parameterType="string" resultType="trainingOrder">
|
||||
select
|
||||
id,
|
||||
nurse_station_person_id,
|
||||
training_order_no,
|
||||
training_order_status,
|
||||
training_order_amount,
|
||||
training_order_channel,
|
||||
training_order_time
|
||||
from
|
||||
training_order
|
||||
<where>
|
||||
del_flag = 0 and training_order_status = #{trainingOrderStatus}
|
||||
<if test="trainingOrderList != null and trainingOrderList.size() > 0">
|
||||
and training_order_no in
|
||||
<foreach collection="trainingOrderList" item="trainingOrderNo" open="(" separator="," close=")">
|
||||
#{trainingOrderNo}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getWaitPayTrainingOrderListByTime" resultType="trainingOrder">
|
||||
select id,
|
||||
nurse_station_person_id,
|
||||
training_order_no,
|
||||
training_order_status,
|
||||
training_order_amount,
|
||||
training_order_channel,
|
||||
training_order_time
|
||||
from training_order
|
||||
where del_flag = 0
|
||||
and training_order_time <= #{time}
|
||||
and training_order_status = #{trainingOrderStatus}
|
||||
</select>
|
||||
|
||||
<update id="updateBatchTrainingOrderStatus">
|
||||
update training_order set training_order_status = #{trainingOrderStatus}, update_time = now()
|
||||
where
|
||||
del_flag = 0
|
||||
and training_order_status <> #{trainingOrderStatus}
|
||||
and training_order_no in
|
||||
<foreach collection="orderNoList" item="trainingOrderNo" open="(" separator="," close=")">
|
||||
#{trainingOrderNo}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="getTrainingRefundOrderList" resultType="com.xinelu.manage.vo.TrainingRefundOrderVO">
|
||||
SELECT tr.training_order_no,
|
||||
tr.training_order_status,
|
||||
rf.out_refund_no
|
||||
FROM training_order tr
|
||||
INNER JOIN refund_info rf ON tr.training_order_no = rf.order_no
|
||||
WHERE tr.training_order_status = #{trainingOrderStatus}
|
||||
AND rf.wechat_refund_status = #{refundStatus}
|
||||
AND tr.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="selectTrainingOrderVoById" resultType="com.xinelu.manage.vo.trainingorder.TrainingOrderVO"
|
||||
resultMap="TrainingOrderVOResult">
|
||||
select tod.id trainingOrderDetailsId,
|
||||
tod.training_parent_id,
|
||||
tod.training_item_title,
|
||||
tod.training_item_code,
|
||||
tod.training_item_price,
|
||||
tod.training_item_cover_url,
|
||||
tod.training_item_poster_url,
|
||||
tod.training_item_type,
|
||||
tod.training_item_details,
|
||||
tod.training_item_content,
|
||||
tor.id trainingOrderId,
|
||||
tor.nurse_station_id,
|
||||
tor.nurse_station_person_id,
|
||||
tor.nurse_person_name,
|
||||
tor.training_order_no,
|
||||
tor.training_order_status,
|
||||
tor.training_order_amount,
|
||||
tor.training_order_channel,
|
||||
tor.training_order_time,
|
||||
tor.remark,
|
||||
ns.nurse_station_name
|
||||
from training_order tor
|
||||
left join training_order_details tod ON tor.training_order_no = tod.training_order_no
|
||||
left join nurse_station ns on tor.nurse_station_id = ns.id
|
||||
where tor.id = #{id}
|
||||
AND tor.del_flag = 0
|
||||
AND tod.del_flag = 0
|
||||
</select>
|
||||
|
||||
<select id="selectRefundInformation" resultType="com.xinelu.manage.vo.trainingorder.TrainingOrderVO">
|
||||
select tor.nurse_person_name,
|
||||
tor.training_order_no,
|
||||
tor.training_order_status,
|
||||
tor.training_order_amount,
|
||||
(select training_item_title
|
||||
from training_order_details
|
||||
where training_order_no = tor.training_order_no
|
||||
and training_item_type = #{trainingItemType}) trainingItemTitle,
|
||||
ns.nurse_station_name
|
||||
from training_order tor
|
||||
left join nurse_station ns on tor.nurse_station_id = ns.id
|
||||
where tor.id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -0,0 +1,295 @@
|
||||
<?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.xinelu.manage.mapper.trainingorderitemdirectory.TrainingOrderItemDirectoryMapper">
|
||||
|
||||
<resultMap type="TrainingOrderItemDirectory" id="TrainingOrderItemDirectoryResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="trainingOrderDetailsId" column="training_order_details_id"/>
|
||||
<result property="trainingOrderNo" column="training_order_no"/>
|
||||
<result property="trainingItemDirectoryId" column="training_item_directory_id"/>
|
||||
<result property="itemDirectoryName" column="item_directory_name"/>
|
||||
<result property="itemDirectoryCode" column="item_directory_code"/>
|
||||
<result property="itemDirectoryTitle" column="item_directory_title"/>
|
||||
<result property="itemDirectoryVideoDuration" column="item_directory_video_duration"/>
|
||||
<result property="itemDirectoryIntroduce" column="item_directory_introduce"/>
|
||||
<result property="itemDirectoryWatchStatus" column="item_directory_watch_status"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectTrainingOrderItemDirectoryVo">
|
||||
select id,
|
||||
training_order_details_id,
|
||||
training_order_no,
|
||||
training_item_directory_id,
|
||||
item_directory_name,
|
||||
item_directory_code,
|
||||
item_directory_title,
|
||||
item_directory_url,
|
||||
item_directory_video_duration,
|
||||
item_directory_introduce,
|
||||
item_directory_watch_status,
|
||||
create_by,
|
||||
create_time,
|
||||
update_by,
|
||||
update_time
|
||||
from training_order_item_directory
|
||||
</sql>
|
||||
|
||||
<select id="selectTrainingOrderItemDirectoryList" parameterType="TrainingOrderItemDirectory"
|
||||
resultMap="TrainingOrderItemDirectoryResult">
|
||||
<include refid="selectTrainingOrderItemDirectoryVo"/>
|
||||
<where>
|
||||
<if test="trainingOrderDetailsId != null ">
|
||||
and training_order_details_id = #{trainingOrderDetailsId}
|
||||
</if>
|
||||
<if test="trainingOrderNo != null and trainingOrderNo != ''">
|
||||
and training_order_no = #{trainingOrderNo}
|
||||
</if>
|
||||
<if test="trainingItemDirectoryId != null ">
|
||||
and training_item_directory_id = #{trainingItemDirectoryId}
|
||||
</if>
|
||||
<if test="itemDirectoryName != null and itemDirectoryName != ''">
|
||||
and item_directory_name like concat('%', #{itemDirectoryName}, '%')
|
||||
</if>
|
||||
<if test="itemDirectoryCode != null and itemDirectoryCode != ''">
|
||||
and item_directory_code = #{itemDirectoryCode}
|
||||
</if>
|
||||
<if test="itemDirectoryTitle != null and itemDirectoryTitle != ''">
|
||||
and item_directory_title = #{itemDirectoryTitle}
|
||||
</if>
|
||||
<if test="itemDirectoryIntroduce != null and itemDirectoryIntroduce != ''">
|
||||
and item_directory_introduce = #{itemDirectoryIntroduce}
|
||||
</if>
|
||||
<if test="itemDirectoryWatchStatus != null and itemDirectoryWatchStatus != ''">
|
||||
and item_directory_watch_status = #{itemDirectoryWatchStatus}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectTrainingOrderItemDirectoryById" parameterType="Long"
|
||||
resultMap="TrainingOrderItemDirectoryResult">
|
||||
<include refid="selectTrainingOrderItemDirectoryVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertTrainingOrderItemDirectory" parameterType="TrainingOrderItemDirectory" useGeneratedKeys="true"
|
||||
keyProperty="id">
|
||||
insert into training_order_item_directory
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="trainingOrderDetailsId != null">training_order_details_id,
|
||||
</if>
|
||||
<if test="trainingOrderNo != null">training_order_no,
|
||||
</if>
|
||||
<if test="trainingItemDirectoryId != null">training_item_directory_id,
|
||||
</if>
|
||||
<if test="itemDirectoryName != null">item_directory_name,
|
||||
</if>
|
||||
<if test="itemDirectoryCode != null">item_directory_code,
|
||||
</if>
|
||||
<if test="itemDirectoryTitle != null">item_directory_title,
|
||||
</if>
|
||||
<if test="itemDirectoryUrl != null">item_directory_url,
|
||||
</if>
|
||||
<if test="itemDirectoryVideoDuration != null">item_directory_video_duration,
|
||||
</if>
|
||||
<if test="itemDirectoryIntroduce != null">item_directory_introduce,
|
||||
</if>
|
||||
<if test="itemDirectoryWatchStatus != null">item_directory_watch_status,
|
||||
</if>
|
||||
<if test="createBy != null">create_by,
|
||||
</if>
|
||||
<if test="createTime != null">create_time,
|
||||
</if>
|
||||
<if test="updateBy != null">update_by,
|
||||
</if>
|
||||
<if test="updateTime != null">update_time,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="trainingOrderDetailsId != null">#{trainingOrderDetailsId},
|
||||
</if>
|
||||
<if test="trainingOrderNo != null">#{trainingOrderNo},
|
||||
</if>
|
||||
<if test="trainingItemDirectoryId != null">#{trainingItemDirectoryId},
|
||||
</if>
|
||||
<if test="itemDirectoryName != null">#{itemDirectoryName},
|
||||
</if>
|
||||
<if test="itemDirectoryCode != null">#{itemDirectoryCode},
|
||||
</if>
|
||||
<if test="itemDirectoryTitle != null">#{itemDirectoryTitle},
|
||||
</if>
|
||||
<if test="itemDirectoryUrl != null">#{itemDirectoryUrl},
|
||||
</if>
|
||||
<if test="itemDirectoryVideoDuration != null">#{itemDirectoryVideoDuration},
|
||||
</if>
|
||||
<if test="itemDirectoryIntroduce != null">#{itemDirectoryIntroduce},
|
||||
</if>
|
||||
<if test="itemDirectoryWatchStatus != null">#{itemDirectoryWatchStatus},
|
||||
</if>
|
||||
<if test="createBy != null">#{createBy},
|
||||
</if>
|
||||
<if test="createTime != null">#{createTime},
|
||||
</if>
|
||||
<if test="updateBy != null">#{updateBy},
|
||||
</if>
|
||||
<if test="updateTime != null">#{updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateTrainingOrderItemDirectory" parameterType="TrainingOrderItemDirectory">
|
||||
update training_order_item_directory
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="trainingOrderDetailsId != null">training_order_details_id =
|
||||
#{trainingOrderDetailsId},
|
||||
</if>
|
||||
<if test="trainingOrderNo != null">training_order_no =
|
||||
#{trainingOrderNo},
|
||||
</if>
|
||||
<if test="trainingItemDirectoryId != null">training_item_directory_id =
|
||||
#{trainingItemDirectoryId},
|
||||
</if>
|
||||
<if test="itemDirectoryName != null">item_directory_name =
|
||||
#{itemDirectoryName},
|
||||
</if>
|
||||
<if test="itemDirectoryCode != null">item_directory_code =
|
||||
#{itemDirectoryCode},
|
||||
</if>
|
||||
<if test="itemDirectoryTitle != null">item_directory_title =
|
||||
#{itemDirectoryTitle},
|
||||
</if>
|
||||
<if test="itemDirectoryUrl != null">item_directory_url =
|
||||
#{itemDirectoryUrl},
|
||||
</if>
|
||||
<if test="itemDirectoryVideoDuration != null">item_directory_video_duration =
|
||||
#{itemDirectoryVideoDuration},
|
||||
</if>
|
||||
<if test="itemDirectoryIntroduce != null">item_directory_introduce =
|
||||
#{itemDirectoryIntroduce},
|
||||
</if>
|
||||
<if test="itemDirectoryWatchStatus != null">item_directory_watch_status =
|
||||
#{itemDirectoryWatchStatus},
|
||||
</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>
|
||||
<if test="updateTime != null">update_time =
|
||||
#{updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteTrainingOrderItemDirectoryById" parameterType="Long">
|
||||
delete
|
||||
from training_order_item_directory
|
||||
where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteTrainingOrderItemDirectoryByIds" parameterType="String">
|
||||
delete from training_order_item_directory where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
<insert id="insertTrainingOrderItemDirectoryList" parameterType="java.util.List">
|
||||
insert into training_order_item_directory(
|
||||
training_order_details_id,
|
||||
training_order_no,
|
||||
training_item_directory_id,
|
||||
item_directory_name,
|
||||
item_directory_code,
|
||||
item_directory_title,
|
||||
item_directory_url,
|
||||
item_directory_video_duration,
|
||||
item_directory_introduce,
|
||||
item_directory_watch_status,
|
||||
create_by,
|
||||
create_time,
|
||||
update_by,
|
||||
update_time
|
||||
) values
|
||||
<foreach item="trainingOrderItemDirectory" index="index" collection="list" separator=",">
|
||||
(
|
||||
#{trainingOrderItemDirectory.trainingOrderDetailsId},
|
||||
#{trainingOrderItemDirectory.trainingOrderNo},
|
||||
#{trainingOrderItemDirectory.trainingItemDirectoryId},
|
||||
#{trainingOrderItemDirectory.itemDirectoryName},
|
||||
#{trainingOrderItemDirectory.itemDirectoryCode},
|
||||
#{trainingOrderItemDirectory.itemDirectoryTitle},
|
||||
#{trainingOrderItemDirectory.itemDirectoryUrl},
|
||||
#{trainingOrderItemDirectory.itemDirectoryVideoDuration},
|
||||
#{trainingOrderItemDirectory.itemDirectoryIntroduce},
|
||||
#{trainingOrderItemDirectory.itemDirectoryWatchStatus},
|
||||
#{trainingOrderItemDirectory.createBy},
|
||||
#{trainingOrderItemDirectory.createTime},
|
||||
#{trainingOrderItemDirectory.updateBy},
|
||||
#{trainingOrderItemDirectory.updateTime}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="updatePersonTrainingOrderItemDirectory" parameterType="TrainingOrderItemDirectory">
|
||||
UPDATE training_order_item_directory
|
||||
SET item_directory_watch_status = #{itemDirectoryWatchStatus},
|
||||
update_time = now()
|
||||
WHERE training_order_no = #{trainingOrderNo}
|
||||
AND training_item_directory_id = #{trainingItemDirectoryId}
|
||||
</update>
|
||||
|
||||
<select id="getTrainingOrderItemDirectoryList"
|
||||
resultType="com.xinelu.manage.vo.trainingorderitemdirectory.TrainingOrderItemDirectoryInfoVO">
|
||||
SELECT
|
||||
t.nurse_station_id,
|
||||
t.nurse_station_person_id,
|
||||
t.nurse_person_name,
|
||||
t.training_order_status,
|
||||
tod.training_item_id,
|
||||
tod.training_item_type,
|
||||
tod.training_order_id,
|
||||
toid.training_item_directory_id,
|
||||
toid.training_order_no,
|
||||
toid.item_directory_watch_status,
|
||||
(SELECT watch_time FROM training_item_watch_record WHERE training_item_directory_id =
|
||||
toid.training_item_directory_id AND training_order_id = tod.training_order_id) watch_time
|
||||
FROM
|
||||
training_order_item_directory toid
|
||||
LEFT JOIN training_order_details tod ON toid.training_order_no = tod.training_order_no
|
||||
LEFT JOIN training_order t ON tod.training_order_no = t.training_order_no
|
||||
<where>
|
||||
<if test="nurseStationPersonId != null ">
|
||||
and t.nurse_station_person_id = #{nurseStationPersonId}
|
||||
</if>
|
||||
<if test="trainingOrderStatus != null and trainingOrderStatus != ''">
|
||||
and t.training_order_status = #{trainingOrderStatus}
|
||||
</if>
|
||||
<if test="trainingItemId != null ">
|
||||
and tod.training_item_id = #{trainingItemId}
|
||||
</if>
|
||||
<if test="trainingItemDirectoryIdList != null and trainingItemDirectoryIdList.size() > 0">
|
||||
and toid.training_item_directory_id in
|
||||
<foreach item="trainingItemDirectoryId" collection="trainingItemDirectoryIdList" open="(" separator=","
|
||||
close=")">
|
||||
#{trainingItemDirectoryId}
|
||||
</foreach>
|
||||
</if>
|
||||
AND t.del_flag = 0
|
||||
AND tod.del_flag = 0
|
||||
</where>
|
||||
GROUP BY
|
||||
toid.training_item_directory_id
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user