- module
- abnormal (一个模块一个包)
- constant (常量/枚举)
- ReportAbnormalStatus.java
- controller (controller类)
- ReportAbnormalController.java
- service (service类)
- CsReportAbnormalService.java
- model (对应数据库实体类)
- CsReportAbnormal.java
- query (数据查询对象)
- CsAbnormalQueryCondition.java
- vo (显示层对象)
- CsAbnormalVo.java
- constant (常量/枚举)
- abnormal (一个模块一个包)
- resources(资源)
- sql-ext (读取该目录下的sql文件)
- abnormal
- ReportAbnormalService.sql
- abnormal
- sql-ext (读取该目录下的sql文件)
controller类
@RestController
@RequestMapping(value = "/api/abnormal")
public class ReportAbnormalController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(ReportAbnormalController.class);
@Autowired
private CsReportAbnormalService csReportAbnormalService;
/**
* @author Johnson
* @description 异常分页查询
* @date 2020/7/16 10:44
* @params [condition]
* @return com.opencns.sdk.support.result.Result
**/
// 自定义注解 权限校验(sys_menu_btn.btn_code) 多个权限以","隔开
@PreAuthorize("071205")
@PostMapping(value = "/getPageList")
//@DataScope()
public Result getPageList(@RequestBody CsAbnormalQueryCondition condition){
// 调用service 方法
Page<Record> page = csReportAbnormalService.getPageList(condition);
return Result.success("异常信息分页查询",page);
}
Service类
@Service
public class CsReportAbnormalService extends ConsoleBaseService {
/**
* @author Johnson
* @description 异常分页查询
* @date 2020/7/15 15:35
* @params [condition]
* @return com.opencns.sdk.support.paging.Page<com.opencns.sdk.sql.Record>
**/
public Page<Record> getPageList(CsAbnormalQueryCondition condition) {
// 调用父类的对象
return dao.template("ReportAbnormalService.getPageList", condition).paginate(condition.getPageNumber(), condition.getPageSize());
}
ReportAbnormalService.sql
-- 声明一个命名空间
#namespace("ReportAbnormalService")
-- 声明这个命名空间下的 sql名称
#sql("getPageList")
/**
异常分页查询
*/
SELECT
-- 标志查询的列,映射字段会自动去下划线 转为驼峰命名
@pageTag() {
id,
abnormal_id,
dispatch_id,
dispatch_no,
abnormal_time,
abnormal_type,
abnormal_desc,
status,
abnormal_slove_id,
abnormal_slove_name,
abnormal_slove_time,
abnormal_slove_desc
@}
FROM
(select
p.id,
p.abnormal_id,
p.dispatch_id,
p.dispatch_no,
p.abnormal_time,
p.abnormal_type,
p.abnormal_desc,
p.status,
p.abnormal_slove_id,
p.abnormal_slove_name,
p.abnormal_slove_time,
p.abnormal_slove_desc
from cs_report_abnormal p
where 1=1
-- <<???>>
-- 标志是条件,会自动去除第一个 and
-- :XXX 标志替换字符
<<and p.dispatch_no like concat('%', :dispatchNo, '%')>>
<<and p.abnormal_time >= :startTime>>
<<and p.abnormal_time <= :endTime>>
<<and p.status = :status>>
<<and c.dept_code like concat('%', :deptCode, '%') >>
<<and c.tax_site_code like concat('%', :taxSiteCode, '%') >>
) as tab
order by abnormal_time desc,
dispatch_no
#end
#end
CsReportAbnormal.java 实体类
@Entity
@Table(name = "cs_report_abnormal") // 标明映射DB.table
public class CsReportAbnormal extends ConsoleBaseModel {
/**
* 异常uuid
*/
private String abnormalId;
/**
* 异常编号
*/
private String abnormalNo;
// get/set 之类
}