SysMessageHistoryListMapper
public interface SysMessageHistoryListMapper extends BaseMapper<SysMessageHistoryList> {
@Select("select * from ( select B.ID,B.REALNAME,A.CREATE_TIME,A.ORG_ID,A.FORM_TYPE_NAME,A.ACCEPT_USER_ID,A.CONTENT,A.SEND_TYPE from phone_receipt_message A join sys_user b on a.ACCEPT_USER_ID = b.id )${ew.customSqlSegment}")
IPage<SysMessageHistoryList> allUnitsLastProject(Page<SysMessageHistoryList> page, @Param(Constants.WRAPPER) Wrapper<SysMessageHistoryList> queryWrapper);
SysMessageHistoryListController
@Slf4j
@RestController
@RequestMapping("/message/sysMessageHistoryList")
public class SysMessageHistoryListController {
@Autowired
private SysMessageHistoryListMapper sysMessageHistoryListMapper;
@GetMapping(value = "/List")
public Result SysMessageHistoryListDataQuery(SysMessageHistoryList sysMessageHistoryList,
@RequestParam(name = "pageNo", required = true) Integer pageNo,
@RequestParam(name = "pageSize", required = true) Integer pageSize,
@RequestParam(name = "keyword", required = false) String keyword,
HttpServletRequest req
) {
Result<IPage<SysMessageHistoryList>> result = new Result<>();
QueryWrapper<SysMessageHistoryList> queryWrapper = QueryGenerator.initQueryWrapper(sysMessageHistoryList, req.getParameterMap());
String orgId=sysMessageHistoryList.getOrgId();
queryWrapper.eq("org_id",orgId).orderByDesc("create_time");
String content=sysMessageHistoryList.getContent();
queryWrapper.like("content",keyword);
if(req.getParameterMap().get("beginDate") !=null){
String beginDate = req.getParameterMap().get("beginDate")[0];
String finishDate = req.getParameterMap().get("finishDate")[0];
if (!StringUtils.isEmpty(beginDate) || StringUtils.isEmpty(finishDate)) {
DateTime beginOfDay = DateUtil.beginOfDay(DateUtil.parse(beginDate));
DateTime endOfDay = DateUtil.endOfDay(DateUtil.parse(finishDate));
queryWrapper.ge("create_time", beginOfDay).le("create_time", endOfDay);
}
}
IPage<SysMessageHistoryList> pageList = null;
Page<SysMessageHistoryList> page = new Page<SysMessageHistoryList>(pageNo, pageSize);
pageList =sysMessageHistoryListMapper.allUnitsLastProject(page, queryWrapper);
System.out.println(pageList);
result.setResult(pageList);
return result;
}
}
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("phone_receipt_message")
public class SysMessageHistoryList {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.ASSIGN_UUID)
private String id;
@ApiModelProperty(value = "创建人")
@TableField(fill = FieldFill.INSERT_UPDATE)
private String createBy;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新人")
@TableField(fill = FieldFill.INSERT_UPDATE)
private String updateBy;
@ApiModelProperty(value = "更新日期")
@TableField(fill = FieldFill.INSERT_UPDATE)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
private String sysOrgCode;
private String orgId;
private String formTypeName;
private String acceptUserName;
private String acceptUserId;
private String content;
private String formId;
private String detailId;
private String formTypeCode;
private String sendType;
private String phone;
private String realname;
}
SysMessageHistoryList.vue
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<a-form-item label="日期筛选">
<a-range-picker v-model="dateValue" allowClear format="YYYY-MM-DD" @change="onDateChange" />
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="单据类型">
<a-input placeholder="请输入单据类型" v-model.trim="queryParam.formTypeName"></a-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="8">
<a-form-item label="发送内容">
<a-input placeholder="请输入发送内容" v-model.trim="content"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="接收人">
<a-input placeholder="请输入接收人" v-model.trim="queryParam.realname"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<a-spin :spinning='loading'>
<a-table
:columns="columns"
:data-source="dataSource"
:pagination="ipagination"
@change="handleTableChange">
<span slot="dictText" slot-scope="text, record">
短信
</span>
</a-table>
</a-spin>>
</a-card>
</template>
<script>
import { getAction } from '@/api/manage'
const columns = [
{
title: '#',
dataIndex: '',
key: 'rowIndex',
width: 60,
align: "center",
customRender: function (t, r, index) {
return parseInt(index) + 1;
}
},
{
title: '单据类型',
align: "left",
dataIndex: 'formTypeName',
width: 150,
},
{
title: '发送内容',
align: "left",
dataIndex: 'content',
scopedSlots: {customRender: 'content'},
},
{
title: '发送类型',
align: "left",
dataIndex: 'sendType',
width: 120,
},
{
title: '接收人',
align: "left",
width: 100,
dataIndex: 'realname'
},
{
title: '发送时间',
align: "center",
width: 180,
dataIndex: 'createTime'
},
{
title: '发送方式',
dataIndex: 'dictText',
align: "left",
width: 100,
scopedSlots: {customRender: 'dictText'},
},
];
const dataSource = [];
export default {
name: 'SysMessageHistoryList',
data() {
return {
queryParam: {},
dateValue:[],
content:'',
dataSource,
columns,
loading: false,
ipagination:{
current: 1,
pageSize: 50,
pageSizeOptions: ['50', '100', '200'],
showTotal: (total, range) => {
return range[0] + "-" + range[1] + " 共" + total + "条"
},
showQuickJumper: true,
showSizeChanger: true,
total: 0
}
};
},
created() {
this.getData()
},
methods: {
onDateChange(date, dateString) {
console.log(dateString[0])
console.log(dateString[1])
this.queryParam.beginDate = dateString[0]
this.queryParam.finishDate = dateString[1]
},
getData(){
let param = Object.assign('',this.queryParam);
param.orgId =this.$store.state.app.orgId;
param.pageNo = this.ipagination.current;
param.pageSize = this.ipagination.pageSize;
param.keyword=this.content;
this.loading = true;
getAction('/message/sysMessageHistoryList/List', param).then((res) => {
if (res.success) {
this.dataSource = res.result.records;
this.ipagination.total = res.result.total;
}
if(res.code===510){
this.$message.warning(res.message)
}
this.loading = false;
})
},
handleTableChange(pagination, filters, sorter) {
this.ipagination = pagination;
this.getData()
},
pageChange({type, currentPage, pageSize, $event}) {
this.ipagination.current = currentPage
this.ipagination.pageSize = pageSize
this.getData()
},
searchReset() {
this.queryParam = {}
this.content=''
this.dateValue=[]
this.ipagination.current = 1
this.ipagination.pageSize = 50
this.getData()
},
searchQuery() {
this.ipagination.current = 1
this.getData()
}
}}
</script>
<style scoped>
</style>