子单加价,缺少确定付款时生成细单。

This commit is contained in:
clunt 2022-09-25 21:47:16 +08:00
parent 8ee2a3ef15
commit 220605efea
11 changed files with 1081 additions and 0 deletions

View File

@ -0,0 +1,135 @@
package com.ghy.web.controller.order;
import java.util.List;
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.AfterServiceRecord;
import com.ghy.order.service.IAfterServiceRecordService;
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 2022-09-25
*/
@Controller
@RequestMapping("/worker/record")
public class AfterServiceRecordController extends BaseController
{
private String prefix = "worker/record";
@Autowired
private IAfterServiceRecordService afterServiceRecordService;
@RequiresPermissions("worker:record:view")
@GetMapping()
public String record()
{
return prefix + "/record";
}
/**
* 查询售后记录列表
*/
@RequiresPermissions("worker:record:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(AfterServiceRecord afterServiceRecord)
{
startPage();
List<AfterServiceRecord> list = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
return getDataTable(list);
}
/**
* App查询售后记录列表
*/
@PostMapping("/app/list")
@ResponseBody
public TableDataInfo appList(@RequestBody AfterServiceRecord afterServiceRecord)
{
startPage();
List<AfterServiceRecord> list = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
return getDataTable(list);
}
/**
* 导出售后记录列表
*/
@RequiresPermissions("worker:record:export")
@Log(title = "售后记录", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(AfterServiceRecord afterServiceRecord)
{
List<AfterServiceRecord> list = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
ExcelUtil<AfterServiceRecord> util = new ExcelUtil<AfterServiceRecord>(AfterServiceRecord.class);
return util.exportExcel(list, "售后记录数据");
}
/**
* 新增售后记录
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存售后记录
*/
@Log(title = "售后记录", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(@RequestBody AfterServiceRecord afterServiceRecord)
{
return toAjax(afterServiceRecordService.insertAfterServiceRecord(afterServiceRecord));
}
/**
* 修改售后记录
*/
@RequiresPermissions("worker:record:edit")
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") String id, ModelMap mmap)
{
AfterServiceRecord afterServiceRecord = afterServiceRecordService.selectAfterServiceRecordById(id);
mmap.put("afterServiceRecord", afterServiceRecord);
return prefix + "/edit";
}
/**
* 修改保存售后记录
*/
@RequiresPermissions("worker:record:edit")
@Log(title = "售后记录", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(AfterServiceRecord afterServiceRecord)
{
return toAjax(afterServiceRecordService.updateAfterServiceRecord(afterServiceRecord));
}
/**
* 删除售后记录
*/
@RequiresPermissions("worker:record:remove")
@Log(title = "售后记录", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(afterServiceRecordService.deleteAfterServiceRecordByIds(ids));
}
}

View File

@ -0,0 +1,84 @@
package com.ghy.order.domain;
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;
/**
* 售后记录图片对象 after_service_imgs
*
* @author clunt
* @date 2022-09-25
*/
public class AfterServiceImgs extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
private String id;
/** 售后记录id */
@Excel(name = "售后记录id")
private Long afterServiceRecordId;
/** 图片url */
@Excel(name = "图片url")
private String imgUrl;
/** 1.客户上传的 2师傅上传的 */
@Excel(name = "1.客户上传的 2师傅上传的")
private Long imgUploadBy;
public void setId(String id)
{
this.id = id;
}
public String getId()
{
return id;
}
public void setAfterServiceRecordId(Long afterServiceRecordId)
{
this.afterServiceRecordId = afterServiceRecordId;
}
public Long getAfterServiceRecordId()
{
return afterServiceRecordId;
}
public void setImgUrl(String imgUrl)
{
this.imgUrl = imgUrl;
}
public String getImgUrl()
{
return imgUrl;
}
public void setImgUploadBy(Long imgUploadBy)
{
this.imgUploadBy = imgUploadBy;
}
public Long getImgUploadBy()
{
return imgUploadBy;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("afterServiceRecordId", getAfterServiceRecordId())
.append("imgUrl", getImgUrl())
.append("imgUploadBy", getImgUploadBy())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,196 @@
package com.ghy.order.domain;
import java.math.BigDecimal;
import java.util.List;
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;
/**
* 售后记录对象 after_service_record
*
* @author clunt
* @date 2022-09-25
*/
public class AfterServiceRecord extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private String id;
/** 客户原因类型 */
@Excel(name = "客户原因类型")
private Long customerReasonType;
/** 客户具体原因 */
@Excel(name = "客户具体原因")
private String customerReason;
/** 子单id */
@Excel(name = "子单id")
private Long orderDetailId;
/** 操作原因1为申请退款2为发起售后 */
@Excel(name = "操作原因1为申请退款2为发起售后")
private Long operType;
/** 师傅反馈结果0为拒绝1为同意 */
@Excel(name = "师傅反馈结果0为拒绝1为同意")
private Long workerFeedbackResult;
/** 师傅反馈原因类型1为客户原因2为师傅原因3为其他 */
@Excel(name = "师傅反馈原因类型1为客户原因2为师傅原因3为其他")
private Long workerFeedbackReasonType;
/** 师傅反馈原因描述 */
@Excel(name = "师傅反馈原因描述")
private String workerFeedbackReason;
/** 本单退款金额 */
@Excel(name = "本单退款金额")
private BigDecimal refund;
/** 协商后的退款金额 */
@Excel(name = "协商后的退款金额")
private BigDecimal agreedRefund;
/** 客户最终确认0为不同意1为同意 */
@Excel(name = "客户最终确认0为不同意1为同意")
private Long customerFinalCheck;
private List<AfterServiceImgs> imgsList;
public List<AfterServiceImgs> getImgsList() {
return imgsList;
}
public void setImgsList(List<AfterServiceImgs> imgsList) {
this.imgsList = imgsList;
}
public void setId(String id)
{
this.id = id;
}
public String getId()
{
return id;
}
public void setCustomerReasonType(Long customerReasonType)
{
this.customerReasonType = customerReasonType;
}
public Long getCustomerReasonType()
{
return customerReasonType;
}
public void setCustomerReason(String customerReason)
{
this.customerReason = customerReason;
}
public String getCustomerReason()
{
return customerReason;
}
public void setOrderDetailId(Long orderDetailId)
{
this.orderDetailId = orderDetailId;
}
public Long getOrderDetailId()
{
return orderDetailId;
}
public void setOperType(Long operType)
{
this.operType = operType;
}
public Long getOperType()
{
return operType;
}
public void setWorkerFeedbackResult(Long workerFeedbackResult)
{
this.workerFeedbackResult = workerFeedbackResult;
}
public Long getWorkerFeedbackResult()
{
return workerFeedbackResult;
}
public void setWorkerFeedbackReasonType(Long workerFeedbackReasonType)
{
this.workerFeedbackReasonType = workerFeedbackReasonType;
}
public Long getWorkerFeedbackReasonType()
{
return workerFeedbackReasonType;
}
public void setWorkerFeedbackReason(String workerFeedbackReason)
{
this.workerFeedbackReason = workerFeedbackReason;
}
public String getWorkerFeedbackReason()
{
return workerFeedbackReason;
}
public void setRefund(BigDecimal refund)
{
this.refund = refund;
}
public BigDecimal getRefund()
{
return refund;
}
public void setAgreedRefund(BigDecimal agreedRefund)
{
this.agreedRefund = agreedRefund;
}
public BigDecimal getAgreedRefund()
{
return agreedRefund;
}
public void setCustomerFinalCheck(Long customerFinalCheck)
{
this.customerFinalCheck = customerFinalCheck;
}
public Long getCustomerFinalCheck()
{
return customerFinalCheck;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("customerReasonType", getCustomerReasonType())
.append("customerReason", getCustomerReason())
.append("orderDetailId", getOrderDetailId())
.append("operType", getOperType())
.append("workerFeedbackResult", getWorkerFeedbackResult())
.append("workerFeedbackReasonType", getWorkerFeedbackReasonType())
.append("workerFeedbackReason", getWorkerFeedbackReason())
.append("refund", getRefund())
.append("agreedRefund", getAgreedRefund())
.append("customerFinalCheck", getCustomerFinalCheck())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,61 @@
package com.ghy.order.mapper;
import java.util.List;
import com.ghy.order.domain.AfterServiceImgs;
/**
* 售后记录图片Mapper接口
*
* @author clunt
* @date 2022-09-25
*/
public interface AfterServiceImgsMapper
{
/**
* 查询售后记录图片
*
* @param id 售后记录图片主键
* @return 售后记录图片
*/
public AfterServiceImgs selectAfterServiceImgsById(String id);
/**
* 查询售后记录图片列表
*
* @param afterServiceImgs 售后记录图片
* @return 售后记录图片集合
*/
public List<AfterServiceImgs> selectAfterServiceImgsList(AfterServiceImgs afterServiceImgs);
/**
* 新增售后记录图片
*
* @param afterServiceImgs 售后记录图片
* @return 结果
*/
public int insertAfterServiceImgs(AfterServiceImgs afterServiceImgs);
/**
* 修改售后记录图片
*
* @param afterServiceImgs 售后记录图片
* @return 结果
*/
public int updateAfterServiceImgs(AfterServiceImgs afterServiceImgs);
/**
* 删除售后记录图片
*
* @param id 售后记录图片主键
* @return 结果
*/
public int deleteAfterServiceImgsById(String id);
/**
* 批量删除售后记录图片
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteAfterServiceImgsByIds(String[] ids);
}

View File

@ -0,0 +1,61 @@
package com.ghy.order.mapper;
import java.util.List;
import com.ghy.order.domain.AfterServiceRecord;
/**
* 售后记录Mapper接口
*
* @author clunt
* @date 2022-09-25
*/
public interface AfterServiceRecordMapper
{
/**
* 查询售后记录
*
* @param id 售后记录主键
* @return 售后记录
*/
public AfterServiceRecord selectAfterServiceRecordById(String id);
/**
* 查询售后记录列表
*
* @param afterServiceRecord 售后记录
* @return 售后记录集合
*/
public List<AfterServiceRecord> selectAfterServiceRecordList(AfterServiceRecord afterServiceRecord);
/**
* 新增售后记录
*
* @param afterServiceRecord 售后记录
* @return 结果
*/
public int insertAfterServiceRecord(AfterServiceRecord afterServiceRecord);
/**
* 修改售后记录
*
* @param afterServiceRecord 售后记录
* @return 结果
*/
public int updateAfterServiceRecord(AfterServiceRecord afterServiceRecord);
/**
* 删除售后记录
*
* @param id 售后记录主键
* @return 结果
*/
public int deleteAfterServiceRecordById(String id);
/**
* 批量删除售后记录
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteAfterServiceRecordByIds(String[] ids);
}

View File

@ -0,0 +1,61 @@
package com.ghy.order.service;
import java.util.List;
import com.ghy.order.domain.AfterServiceImgs;
/**
* 售后记录图片Service接口
*
* @author clunt
* @date 2022-09-25
*/
public interface IAfterServiceImgsService
{
/**
* 查询售后记录图片
*
* @param id 售后记录图片主键
* @return 售后记录图片
*/
public AfterServiceImgs selectAfterServiceImgsById(String id);
/**
* 查询售后记录图片列表
*
* @param afterServiceImgs 售后记录图片
* @return 售后记录图片集合
*/
public List<AfterServiceImgs> selectAfterServiceImgsList(AfterServiceImgs afterServiceImgs);
/**
* 新增售后记录图片
*
* @param afterServiceImgs 售后记录图片
* @return 结果
*/
public int insertAfterServiceImgs(AfterServiceImgs afterServiceImgs);
/**
* 修改售后记录图片
*
* @param afterServiceImgs 售后记录图片
* @return 结果
*/
public int updateAfterServiceImgs(AfterServiceImgs afterServiceImgs);
/**
* 批量删除售后记录图片
*
* @param ids 需要删除的售后记录图片主键集合
* @return 结果
*/
public int deleteAfterServiceImgsByIds(String ids);
/**
* 删除售后记录图片信息
*
* @param id 售后记录图片主键
* @return 结果
*/
public int deleteAfterServiceImgsById(String id);
}

View File

@ -0,0 +1,61 @@
package com.ghy.order.service;
import java.util.List;
import com.ghy.order.domain.AfterServiceRecord;
/**
* 售后记录Service接口
*
* @author clunt
* @date 2022-09-25
*/
public interface IAfterServiceRecordService
{
/**
* 查询售后记录
*
* @param id 售后记录主键
* @return 售后记录
*/
public AfterServiceRecord selectAfterServiceRecordById(String id);
/**
* 查询售后记录列表
*
* @param afterServiceRecord 售后记录
* @return 售后记录集合
*/
public List<AfterServiceRecord> selectAfterServiceRecordList(AfterServiceRecord afterServiceRecord);
/**
* 新增售后记录
*
* @param afterServiceRecord 售后记录
* @return 结果
*/
public int insertAfterServiceRecord(AfterServiceRecord afterServiceRecord);
/**
* 修改售后记录
*
* @param afterServiceRecord 售后记录
* @return 结果
*/
public int updateAfterServiceRecord(AfterServiceRecord afterServiceRecord);
/**
* 批量删除售后记录
*
* @param ids 需要删除的售后记录主键集合
* @return 结果
*/
public int deleteAfterServiceRecordByIds(String ids);
/**
* 删除售后记录信息
*
* @param id 售后记录主键
* @return 结果
*/
public int deleteAfterServiceRecordById(String 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.AfterServiceImgsMapper;
import com.ghy.order.domain.AfterServiceImgs;
import com.ghy.order.service.IAfterServiceImgsService;
import com.ghy.common.core.text.Convert;
/**
* 售后记录图片Service业务层处理
*
* @author clunt
* @date 2022-09-25
*/
@Service
public class AfterServiceImgsServiceImpl implements IAfterServiceImgsService
{
@Autowired
private AfterServiceImgsMapper afterServiceImgsMapper;
/**
* 查询售后记录图片
*
* @param id 售后记录图片主键
* @return 售后记录图片
*/
@Override
public AfterServiceImgs selectAfterServiceImgsById(String id)
{
return afterServiceImgsMapper.selectAfterServiceImgsById(id);
}
/**
* 查询售后记录图片列表
*
* @param afterServiceImgs 售后记录图片
* @return 售后记录图片
*/
@Override
public List<AfterServiceImgs> selectAfterServiceImgsList(AfterServiceImgs afterServiceImgs)
{
return afterServiceImgsMapper.selectAfterServiceImgsList(afterServiceImgs);
}
/**
* 新增售后记录图片
*
* @param afterServiceImgs 售后记录图片
* @return 结果
*/
@Override
public int insertAfterServiceImgs(AfterServiceImgs afterServiceImgs)
{
afterServiceImgs.setCreateTime(DateUtils.getNowDate());
return afterServiceImgsMapper.insertAfterServiceImgs(afterServiceImgs);
}
/**
* 修改售后记录图片
*
* @param afterServiceImgs 售后记录图片
* @return 结果
*/
@Override
public int updateAfterServiceImgs(AfterServiceImgs afterServiceImgs)
{
afterServiceImgs.setUpdateTime(DateUtils.getNowDate());
return afterServiceImgsMapper.updateAfterServiceImgs(afterServiceImgs);
}
/**
* 批量删除售后记录图片
*
* @param ids 需要删除的售后记录图片主键
* @return 结果
*/
@Override
public int deleteAfterServiceImgsByIds(String ids)
{
return afterServiceImgsMapper.deleteAfterServiceImgsByIds(Convert.toStrArray(ids));
}
/**
* 删除售后记录图片信息
*
* @param id 售后记录图片主键
* @return 结果
*/
@Override
public int deleteAfterServiceImgsById(String id)
{
return afterServiceImgsMapper.deleteAfterServiceImgsById(id);
}
}

View File

@ -0,0 +1,116 @@
package com.ghy.order.service.impl;
import java.util.List;
import com.ghy.common.utils.DateUtils;
import com.ghy.order.domain.AfterServiceImgs;
import com.ghy.order.service.IAfterServiceImgsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ghy.order.mapper.AfterServiceRecordMapper;
import com.ghy.order.domain.AfterServiceRecord;
import com.ghy.order.service.IAfterServiceRecordService;
import com.ghy.common.core.text.Convert;
/**
* 售后记录Service业务层处理
*
* @author clunt
* @date 2022-09-25
*/
@Service
public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
{
@Autowired
private AfterServiceRecordMapper afterServiceRecordMapper;
@Autowired
private IAfterServiceImgsService afterServiceImgsService;
/**
* 查询售后记录
*
* @param id 售后记录主键
* @return 售后记录
*/
@Override
public AfterServiceRecord selectAfterServiceRecordById(String id)
{
return afterServiceRecordMapper.selectAfterServiceRecordById(id);
}
/**
* 查询售后记录列表
*
* @param afterServiceRecord 售后记录
* @return 售后记录
*/
@Override
public List<AfterServiceRecord> selectAfterServiceRecordList(AfterServiceRecord afterServiceRecord)
{
List<AfterServiceRecord> list = afterServiceRecordMapper.selectAfterServiceRecordList(afterServiceRecord);
list.forEach(record -> {
AfterServiceImgs param = new AfterServiceImgs();
param.setAfterServiceRecordId(Long.valueOf(record.getId()));
record.setImgsList(afterServiceImgsService.selectAfterServiceImgsList(param));
});
return list;
}
/**
* 新增售后记录
*
* @param afterServiceRecord 售后记录
* @return 结果
*/
@Override
public int insertAfterServiceRecord(AfterServiceRecord afterServiceRecord)
{
afterServiceRecord.setCreateTime(DateUtils.getNowDate());
int result = afterServiceRecordMapper.insertAfterServiceRecord(afterServiceRecord);
if(afterServiceRecord.getImgsList() != null && afterServiceRecord.getImgsList().size() > 0){
afterServiceRecord.getImgsList().forEach(imgUrl->{
imgUrl.setAfterServiceRecordId(Long.valueOf(afterServiceRecord.getId()));
afterServiceImgsService.insertAfterServiceImgs(imgUrl);
});
}
return result;
}
/**
* 修改售后记录
*
* @param afterServiceRecord 售后记录
* @return 结果
*/
@Override
public int updateAfterServiceRecord(AfterServiceRecord afterServiceRecord)
{
afterServiceRecord.setUpdateTime(DateUtils.getNowDate());
return afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord);
}
/**
* 批量删除售后记录
*
* @param ids 需要删除的售后记录主键
* @return 结果
*/
@Override
public int deleteAfterServiceRecordByIds(String ids)
{
return afterServiceRecordMapper.deleteAfterServiceRecordByIds(Convert.toStrArray(ids));
}
/**
* 删除售后记录信息
*
* @param id 售后记录主键
* @return 结果
*/
@Override
public int deleteAfterServiceRecordById(String id)
{
return afterServiceRecordMapper.deleteAfterServiceRecordById(id);
}
}

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.AfterServiceImgsMapper">
<resultMap type="AfterServiceImgs" id="AfterServiceImgsResult">
<result property="id" column="id" />
<result property="afterServiceRecordId" column="after_service_record_id" />
<result property="imgUrl" column="img_url" />
<result property="imgUploadBy" column="img_upload_by" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectAfterServiceImgsVo">
select id, after_service_record_id, img_url, img_upload_by, create_by, create_time, update_by, update_time, remark from after_service_imgs
</sql>
<select id="selectAfterServiceImgsList" parameterType="AfterServiceImgs" resultMap="AfterServiceImgsResult">
<include refid="selectAfterServiceImgsVo"/>
<where>
<if test="afterServiceRecordId != null "> and after_service_record_id = #{afterServiceRecordId}</if>
<if test="imgUrl != null and imgUrl != ''"> and img_url = #{imgUrl}</if>
<if test="imgUploadBy != null "> and img_upload_by = #{imgUploadBy}</if>
</where>
</select>
<select id="selectAfterServiceImgsById" parameterType="String" resultMap="AfterServiceImgsResult">
<include refid="selectAfterServiceImgsVo"/>
where id = #{id}
</select>
<insert id="insertAfterServiceImgs" parameterType="AfterServiceImgs" useGeneratedKeys="true" keyProperty="id">
insert into after_service_imgs
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="afterServiceRecordId != null">after_service_record_id,</if>
<if test="imgUrl != null and imgUrl != ''">img_url,</if>
<if test="imgUploadBy != null">img_upload_by,</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>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="afterServiceRecordId != null">#{afterServiceRecordId},</if>
<if test="imgUrl != null and imgUrl != ''">#{imgUrl},</if>
<if test="imgUploadBy != null">#{imgUploadBy},</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>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateAfterServiceImgs" parameterType="AfterServiceImgs">
update after_service_imgs
<trim prefix="SET" suffixOverrides=",">
<if test="afterServiceRecordId != null">after_service_record_id = #{afterServiceRecordId},</if>
<if test="imgUrl != null and imgUrl != ''">img_url = #{imgUrl},</if>
<if test="imgUploadBy != null">img_upload_by = #{imgUploadBy},</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>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteAfterServiceImgsById" parameterType="String">
delete from after_service_imgs where id = #{id}
</delete>
<delete id="deleteAfterServiceImgsByIds" parameterType="String">
delete from after_service_imgs where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,122 @@
<?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.AfterServiceRecordMapper">
<resultMap type="AfterServiceRecord" id="AfterServiceRecordResult">
<result property="id" column="id" />
<result property="customerReasonType" column="customer_reason_type" />
<result property="customerReason" column="customer_reason" />
<result property="orderDetailId" column="order_detail_id" />
<result property="operType" column="oper_type" />
<result property="workerFeedbackResult" column="worker_feedback_result" />
<result property="workerFeedbackReasonType" column="worker_feedback_reason_type" />
<result property="workerFeedbackReason" column="worker_feedback_reason" />
<result property="refund" column="refund" />
<result property="agreedRefund" column="agreed_refund" />
<result property="customerFinalCheck" column="customer_final_check" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectAfterServiceRecordVo">
select id, customer_reason_type, customer_reason, order_detail_id, oper_type, worker_feedback_result, worker_feedback_reason_type, worker_feedback_reason, refund, agreed_refund, customer_final_check, create_by, create_time, update_by, update_time, remark from after_service_record
</sql>
<select id="selectAfterServiceRecordList" parameterType="AfterServiceRecord" resultMap="AfterServiceRecordResult">
<include refid="selectAfterServiceRecordVo"/>
<where>
<if test="customerReasonType != null "> and customer_reason_type = #{customerReasonType}</if>
<if test="customerReason != null and customerReason != ''"> and customer_reason = #{customerReason}</if>
<if test="orderDetailId != null "> and order_detail_id = #{orderDetailId}</if>
<if test="operType != null "> and oper_type = #{operType}</if>
<if test="workerFeedbackResult != null "> and worker_feedback_result = #{workerFeedbackResult}</if>
<if test="workerFeedbackReasonType != null "> and worker_feedback_reason_type = #{workerFeedbackReasonType}</if>
<if test="workerFeedbackReason != null and workerFeedbackReason != ''"> and worker_feedback_reason = #{workerFeedbackReason}</if>
<if test="refund != null "> and refund = #{refund}</if>
<if test="agreedRefund != null "> and agreed_refund = #{agreedRefund}</if>
<if test="customerFinalCheck != null "> and customer_final_check = #{customerFinalCheck}</if>
</where>
</select>
<select id="selectAfterServiceRecordById" parameterType="String" resultMap="AfterServiceRecordResult">
<include refid="selectAfterServiceRecordVo"/>
where id = #{id}
</select>
<insert id="insertAfterServiceRecord" parameterType="AfterServiceRecord" useGeneratedKeys="true" keyProperty="id">
insert into after_service_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="customerReasonType != null">customer_reason_type,</if>
<if test="customerReason != null">customer_reason,</if>
<if test="orderDetailId != null">order_detail_id,</if>
<if test="operType != null">oper_type,</if>
<if test="workerFeedbackResult != null">worker_feedback_result,</if>
<if test="workerFeedbackReasonType != null">worker_feedback_reason_type,</if>
<if test="workerFeedbackReason != null">worker_feedback_reason,</if>
<if test="refund != null">refund,</if>
<if test="agreedRefund != null">agreed_refund,</if>
<if test="customerFinalCheck != null">customer_final_check,</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>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="customerReasonType != null">#{customerReasonType},</if>
<if test="customerReason != null">#{customerReason},</if>
<if test="orderDetailId != null">#{orderDetailId},</if>
<if test="operType != null">#{operType},</if>
<if test="workerFeedbackResult != null">#{workerFeedbackResult},</if>
<if test="workerFeedbackReasonType != null">#{workerFeedbackReasonType},</if>
<if test="workerFeedbackReason != null">#{workerFeedbackReason},</if>
<if test="refund != null">#{refund},</if>
<if test="agreedRefund != null">#{agreedRefund},</if>
<if test="customerFinalCheck != null">#{customerFinalCheck},</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>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateAfterServiceRecord" parameterType="AfterServiceRecord">
update after_service_record
<trim prefix="SET" suffixOverrides=",">
<if test="customerReasonType != null">customer_reason_type = #{customerReasonType},</if>
<if test="customerReason != null">customer_reason = #{customerReason},</if>
<if test="orderDetailId != null">order_detail_id = #{orderDetailId},</if>
<if test="operType != null">oper_type = #{operType},</if>
<if test="workerFeedbackResult != null">worker_feedback_result = #{workerFeedbackResult},</if>
<if test="workerFeedbackReasonType != null">worker_feedback_reason_type = #{workerFeedbackReasonType},</if>
<if test="workerFeedbackReason != null">worker_feedback_reason = #{workerFeedbackReason},</if>
<if test="refund != null">refund = #{refund},</if>
<if test="agreedRefund != null">agreed_refund = #{agreedRefund},</if>
<if test="customerFinalCheck != null">customer_final_check = #{customerFinalCheck},</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>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteAfterServiceRecordById" parameterType="String">
delete from after_service_record where id = #{id}
</delete>
<delete id="deleteAfterServiceRecordByIds" parameterType="String">
delete from after_service_record where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>