feat(sip): 添加客户信息管理功能

- 新增客户信息实体类、Mapper、Service、Controller- 实现客户信息的添加、编辑、删除、查询和导出功能
- 添加相关HTML模板文件
master
chenhao 2025-05-14 10:18:46 +08:00
parent ee2cc9902f
commit 8bbd8b3a65
9 changed files with 1089 additions and 0 deletions

View File

@ -0,0 +1,166 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增客户信息')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-info-add">
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户编码:</label>
<div class="col-sm-8">
<input name="customerCode" class="form-control" type="text" required>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="customerName" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">客户邮编:</label>
<div class="col-sm-8">
<input name="customerPostcode" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">所在省:</label>
<div class="col-sm-8">
<input name="province" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">所在市:</label>
<div class="col-sm-8">
<input name="city" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">详细地址:</label>
<div class="col-sm-8">
<input name="address" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">联系人:</label>
<div class="col-sm-8">
<input name="contactPerson" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">联系电话:</label>
<div class="col-sm-8">
<input name="contactPhone" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">联系邮件:</label>
<div class="col-sm-8">
<input name="contactEmail" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">所属行业:</label>
<div class="col-sm-8">
<input name="industryTyoe" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control"></textarea>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label is-required">创建时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="createAt" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">更新时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="updateAt" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">删除时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deleteAt" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/customer"
$("#form-info-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-info-add').serialize());
}
}
$("input[name='createAt']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='updateAt']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='deleteAt']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

View File

@ -0,0 +1,167 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改客户信息')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-info-edit" th:object="${customerInfo}">
<input name="id" th:field="*{id}" type="hidden">
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户编码:</label>
<div class="col-sm-8">
<input name="customerCode" th:field="*{customerCode}" class="form-control" type="text" required>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="customerName" th:field="*{customerName}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">客户邮编:</label>
<div class="col-sm-8">
<input name="customerPostcode" th:field="*{customerPostcode}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">所在省:</label>
<div class="col-sm-8">
<input name="province" th:field="*{province}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">所在市:</label>
<div class="col-sm-8">
<input name="city" th:field="*{city}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">详细地址:</label>
<div class="col-sm-8">
<input name="address" th:field="*{address}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">联系人:</label>
<div class="col-sm-8">
<input name="contactPerson" th:field="*{contactPerson}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">联系电话:</label>
<div class="col-sm-8">
<input name="contactPhone" th:field="*{contactPhone}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">联系邮件:</label>
<div class="col-sm-8">
<input name="contactEmail" th:field="*{contactEmail}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">所属行业:</label>
<div class="col-sm-8">
<input name="industryTyoe" th:field="*{industryTyoe}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control">[[*{remark}]]</textarea>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label is-required">创建时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="createAt" th:value="${#dates.format(customerInfo.createAt, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">更新时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="updateAt" th:value="${#dates.format(customerInfo.updateAt, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">删除时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deleteAt" th:value="${#dates.format(customerInfo.deleteAt, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/customer";
$("#form-info-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-info-edit').serialize());
}
}
$("input[name='createAt']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='updateAt']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='deleteAt']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

View File

@ -0,0 +1,190 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('客户信息列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>客户编码:</label>
<input type="text" name="customerCode"/>
</li>
<li>
<label>客户名称:</label>
<input type="text" name="customerName"/>
</li>
<li>
<label>客户邮编:</label>
<input type="text" name="customerPostcode"/>
</li>
<li>
<label>所在省:</label>
<input type="text" name="province"/>
</li>
<li>
<label>所在市:</label>
<input type="text" name="city"/>
</li>
<li>
<label>详细地址:</label>
<input type="text" name="address"/>
</li>
<li>
<label>联系人:</label>
<input type="text" name="contactPerson"/>
</li>
<li>
<label>联系电话:</label>
<input type="text" name="contactPhone"/>
</li>
<li>
<label>联系邮件:</label>
<input type="text" name="contactEmail"/>
</li>
<li>
<label>所属行业:</label>
<input type="text" name="industryTyoe"/>
</li>
<li>
<label>创建时间:</label>
<input type="text" class="time-input" placeholder="请选择创建时间" name="createAt"/>
</li>
<li>
<label>更新时间:</label>
<input type="text" class="time-input" placeholder="请选择更新时间" name="updateAt"/>
</li>
<li>
<label>删除时间:</label>
<input type="text" class="time-input" placeholder="请选择删除时间" name="deleteAt"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:info:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:info:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:info:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:info:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:info:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:info:remove')}]];
var prefix = ctx + "system/customer";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "客户信息",
columns: [{
checkbox: true
},
{
field: 'id',
title: '${comment}',
visible: false
},
{
field: 'customerCode',
title: '客户编码'
},
{
field: 'customerName',
title: '客户名称'
},
{
field: 'customerPostcode',
title: '客户邮编'
},
{
field: 'province',
title: '所在省'
},
{
field: 'city',
title: '所在市'
},
{
field: 'address',
title: '详细地址'
},
{
field: 'contactPerson',
title: '联系人'
},
{
field: 'contactPhone',
title: '联系电话'
},
{
field: 'contactEmail',
title: '联系邮件'
},
{
field: 'industryTyoe',
title: '所属行业'
},
{
field: 'remark',
title: '备注'
},
{
field: 'createAt',
title: '创建时间'
},
{
field: 'updateAt',
title: '更新时间'
},
{
field: 'deleteAt',
title: '删除时间'
},
{
field: 'status',
title: '数据状态'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,130 @@
package com.ruoyi.sip.controller;
import java.util.List;
import com.ruoyi.sip.domain.CustomerInfo;
import com.ruoyi.sip.service.ICustomerInfoService;
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.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* Controller
*
* @author ruoyi
* @date 2025-05-14
*/
@Controller
@RequestMapping("/system/customer")
public class CustomerInfoController extends BaseController
{
private String prefix = "system/customer";
@Autowired
private ICustomerInfoService customerInfoService;
@RequiresPermissions("system:customer:view")
@GetMapping()
public String info()
{
return prefix + "/info";
}
/**
*
*/
@RequiresPermissions("system:customer:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(CustomerInfo customerInfo)
{
startPage();
List<CustomerInfo> list = customerInfoService.selectCustomerInfoList(customerInfo);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("system:customer:export")
@Log(title = "客户信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(CustomerInfo customerInfo)
{
List<CustomerInfo> list = customerInfoService.selectCustomerInfoList(customerInfo);
ExcelUtil<CustomerInfo> util = new ExcelUtil<CustomerInfo>(CustomerInfo.class);
return util.exportExcel(list, "客户信息数据");
}
/**
*
*/
@RequiresPermissions("system:customer:add")
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("system:customer:add")
@Log(title = "客户信息", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(CustomerInfo customerInfo)
{
return toAjax(customerInfoService.insertCustomerInfo(customerInfo));
}
/**
*
*/
@RequiresPermissions("system:customer:edit")
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
CustomerInfo customerInfo = customerInfoService.selectCustomerInfoById(id);
mmap.put("customerInfo", customerInfo);
return prefix + "/edit";
}
/**
*
*/
@RequiresPermissions("system:customer:edit")
@Log(title = "客户信息", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(CustomerInfo customerInfo)
{
return toAjax(customerInfoService.updateCustomerInfo(customerInfo));
}
/**
*
*/
@RequiresPermissions("system:customer:remove")
@Log(title = "客户信息", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(customerInfoService.deleteCustomerInfoByIds(ids));
}
}

View File

@ -0,0 +1,86 @@
package com.ruoyi.sip.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* customer_info
*
* @author ruoyi
* @date 2025-05-14
*/
@Data
@ToString
public class CustomerInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 客户编码 */
@Excel(name = "客户编码")
private String customerCode;
/** 客户名称 */
@Excel(name = "客户名称")
private String customerName;
/** 客户邮编 */
@Excel(name = "客户邮编")
private String customerPostcode;
/** 所在省 */
@Excel(name = "所在省")
private String province;
/** 所在市 */
@Excel(name = "所在市")
private String city;
/** 详细地址 */
@Excel(name = "详细地址")
private String address;
/** 联系人 */
@Excel(name = "联系人")
private String contactPerson;
/** 联系电话 */
@Excel(name = "联系电话")
private String contactPhone;
/** 联系邮件 */
@Excel(name = "联系邮件")
private String contactEmail;
/** 所属行业 */
@Excel(name = "所属行业")
private String industryTyoe;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createAt;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date updateAt;
/** 删除时间 */
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date deleteAt;
/** 数据状态 */
@Excel(name = "数据状态")
private Integer status;
}

View File

@ -0,0 +1,63 @@
package com.ruoyi.sip.mapper;
import com.ruoyi.sip.domain.CustomerInfo;
import java.util.List;
/**
* Mapper
*
* @author ruoyi
* @date 2025-05-14
*/
public interface CustomerInfoMapper
{
/**
*
*
* @param id
* @return
*/
public CustomerInfo selectCustomerInfoById(Long id);
/**
*
*
* @param customerInfo
* @return
*/
public List<CustomerInfo> selectCustomerInfoList(CustomerInfo customerInfo);
/**
*
*
* @param customerInfo
* @return
*/
public int insertCustomerInfo(CustomerInfo customerInfo);
/**
*
*
* @param customerInfo
* @return
*/
public int updateCustomerInfo(CustomerInfo customerInfo);
/**
*
*
* @param id
* @return
*/
public int deleteCustomerInfoById(Long id);
/**
*
*
* @param ids
* @return
*/
public int deleteCustomerInfoByIds(String[] ids);
}

View File

@ -0,0 +1,63 @@
package com.ruoyi.sip.service;
import com.ruoyi.sip.domain.CustomerInfo;
import java.util.List;
/**
* Service
*
* @author ruoyi
* @date 2025-05-14
*/
public interface ICustomerInfoService
{
/**
*
*
* @param id
* @return
*/
public CustomerInfo selectCustomerInfoById(Long id);
/**
*
*
* @param customerInfo
* @return
*/
public List<CustomerInfo> selectCustomerInfoList(CustomerInfo customerInfo);
/**
*
*
* @param customerInfo
* @return
*/
public int insertCustomerInfo(CustomerInfo customerInfo);
/**
*
*
* @param customerInfo
* @return
*/
public int updateCustomerInfo(CustomerInfo customerInfo);
/**
*
*
* @param ids
* @return
*/
public int deleteCustomerInfoByIds(String ids);
/**
*
*
* @param id
* @return
*/
public int deleteCustomerInfoById(Long id);
}

View File

@ -0,0 +1,96 @@
package com.ruoyi.sip.service.impl;
import java.util.List;
import com.ruoyi.sip.domain.CustomerInfo;
import com.ruoyi.sip.mapper.CustomerInfoMapper;
import com.ruoyi.sip.service.ICustomerInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.text.Convert;
/**
* Service
*
* @author ruoyi
* @date 2025-05-14
*/
@Service
public class CustomerInfoServiceImpl implements ICustomerInfoService
{
@Autowired
private CustomerInfoMapper customerInfoMapper;
/**
*
*
* @param id
* @return
*/
@Override
public CustomerInfo selectCustomerInfoById(Long id)
{
return customerInfoMapper.selectCustomerInfoById(id);
}
/**
*
*
* @param customerInfo
* @return
*/
@Override
public List<CustomerInfo> selectCustomerInfoList(CustomerInfo customerInfo)
{
return customerInfoMapper.selectCustomerInfoList(customerInfo);
}
/**
*
*
* @param customerInfo
* @return
*/
@Override
public int insertCustomerInfo(CustomerInfo customerInfo)
{
return customerInfoMapper.insertCustomerInfo(customerInfo);
}
/**
*
*
* @param customerInfo
* @return
*/
@Override
public int updateCustomerInfo(CustomerInfo customerInfo)
{
return customerInfoMapper.updateCustomerInfo(customerInfo);
}
/**
*
*
* @param ids
* @return
*/
@Override
public int deleteCustomerInfoByIds(String ids)
{
return customerInfoMapper.deleteCustomerInfoByIds(Convert.toStrArray(ids));
}
/**
*
*
* @param id
* @return
*/
@Override
public int deleteCustomerInfoById(Long id)
{
return customerInfoMapper.deleteCustomerInfoById(id);
}
}

View File

@ -0,0 +1,128 @@
<?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.ruoyi.sip.mapper.CustomerInfoMapper">
<resultMap type="CustomerInfo" id="CustomerInfoResult">
<result property="id" column="id" />
<result property="customerCode" column="customer_code" />
<result property="customerName" column="customer_name" />
<result property="customerPostcode" column="customer_postcode" />
<result property="province" column="province" />
<result property="city" column="city" />
<result property="address" column="address" />
<result property="contactPerson" column="contact_person" />
<result property="contactPhone" column="contact_phone" />
<result property="contactEmail" column="contact_email" />
<result property="industryTyoe" column="Industry_tyoe" />
<result property="remark" column="remark" />
<result property="createAt" column="create_at" />
<result property="updateAt" column="update_at" />
<result property="deleteAt" column="delete_at" />
<result property="status" column="status" />
</resultMap>
<sql id="selectCustomerInfoVo">
select id, customer_code, customer_name, customer_postcode, province, city, address, contact_person, contact_phone, contact_email, Industry_tyoe, remark, create_at, update_at, delete_at, status from customer_info
</sql>
<select id="selectCustomerInfoList" parameterType="CustomerInfo" resultMap="CustomerInfoResult">
<include refid="selectCustomerInfoVo"/>
<where>
<if test="customerCode != null and customerCode != ''"> and customer_code = #{customerCode}</if>
<if test="customerName != null and customerName != ''"> and customer_name like concat('%', #{customerName}, '%')</if>
<if test="customerPostcode != null and customerPostcode != ''"> and customer_postcode = #{customerPostcode}</if>
<if test="province != null and province != ''"> and province = #{province}</if>
<if test="city != null and city != ''"> and city = #{city}</if>
<if test="address != null and address != ''"> and address = #{address}</if>
<if test="contactPerson != null and contactPerson != ''"> and contact_person = #{contactPerson}</if>
<if test="contactPhone != null and contactPhone != ''"> and contact_phone = #{contactPhone}</if>
<if test="contactEmail != null and contactEmail != ''"> and contact_email = #{contactEmail}</if>
<if test="industryTyoe != null and industryTyoe != ''"> and Industry_tyoe = #{industryTyoe}</if>
<if test="createAt != null "> and create_at = #{createAt}</if>
<if test="updateAt != null "> and update_at = #{updateAt}</if>
<if test="deleteAt != null "> and delete_at = #{deleteAt}</if>
<if test="status != null "> and status = #{status}</if>
</where>
</select>
<select id="selectCustomerInfoById" parameterType="Long" resultMap="CustomerInfoResult">
<include refid="selectCustomerInfoVo"/>
where id = #{id}
</select>
<insert id="insertCustomerInfo" parameterType="CustomerInfo">
insert into customer_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="customerCode != null and customerCode != ''">customer_code,</if>
<if test="customerName != null">customer_name,</if>
<if test="customerPostcode != null">customer_postcode,</if>
<if test="province != null">province,</if>
<if test="city != null">city,</if>
<if test="address != null">address,</if>
<if test="contactPerson != null">contact_person,</if>
<if test="contactPhone != null">contact_phone,</if>
<if test="contactEmail != null">contact_email,</if>
<if test="industryTyoe != null">Industry_tyoe,</if>
<if test="remark != null">remark,</if>
<if test="createAt != null">create_at,</if>
<if test="updateAt != null">update_at,</if>
<if test="deleteAt != null">delete_at,</if>
<if test="status != null">status,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="customerCode != null and customerCode != ''">#{customerCode},</if>
<if test="customerName != null">#{customerName},</if>
<if test="customerPostcode != null">#{customerPostcode},</if>
<if test="province != null">#{province},</if>
<if test="city != null">#{city},</if>
<if test="address != null">#{address},</if>
<if test="contactPerson != null">#{contactPerson},</if>
<if test="contactPhone != null">#{contactPhone},</if>
<if test="contactEmail != null">#{contactEmail},</if>
<if test="industryTyoe != null">#{industryTyoe},</if>
<if test="remark != null">#{remark},</if>
<if test="createAt != null">#{createAt},</if>
<if test="updateAt != null">#{updateAt},</if>
<if test="deleteAt != null">#{deleteAt},</if>
<if test="status != null">#{status},</if>
</trim>
</insert>
<update id="updateCustomerInfo" parameterType="CustomerInfo">
update customer_info
<trim prefix="SET" suffixOverrides=",">
<if test="customerCode != null and customerCode != ''">customer_code = #{customerCode},</if>
<if test="customerName != null">customer_name = #{customerName},</if>
<if test="customerPostcode != null">customer_postcode = #{customerPostcode},</if>
<if test="province != null">province = #{province},</if>
<if test="city != null">city = #{city},</if>
<if test="address != null">address = #{address},</if>
<if test="contactPerson != null">contact_person = #{contactPerson},</if>
<if test="contactPhone != null">contact_phone = #{contactPhone},</if>
<if test="contactEmail != null">contact_email = #{contactEmail},</if>
<if test="industryTyoe != null">Industry_tyoe = #{industryTyoe},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createAt != null">create_at = #{createAt},</if>
<if test="updateAt != null">update_at = #{updateAt},</if>
<if test="deleteAt != null">delete_at = #{deleteAt},</if>
<if test="status != null">status = #{status},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteCustomerInfoById" parameterType="Long">
delete from customer_info where id = #{id}
</delete>
<delete id="deleteCustomerInfoByIds" parameterType="String">
delete from customer_info where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>