提交 dd317dd5 authored 作者: 艾庆国's avatar 艾庆国

线路预警

上级 23a8df85
...@@ -33,6 +33,8 @@ public enum ResultEnum implements com.msl.common.enums.ResultEnum { ...@@ -33,6 +33,8 @@ public enum ResultEnum implements com.msl.common.enums.ResultEnum {
DATA_REPEAT(1107, "数据重复"), DATA_REPEAT(1107, "数据重复"),
VEHICLE_WARN_USER_EXIST(1201, "联系方式已存在"),
VEHICLE_WARN_CONFIG_EXIST(1201, "配置名称已存在"),
LINE_WARN_USER_EXIST(1301, "联系方式已存在"), LINE_WARN_USER_EXIST(1301, "联系方式已存在"),
LINE_WARN_CONFIG_EXIST(1302, "配置名称已存在"), LINE_WARN_CONFIG_EXIST(1302, "配置名称已存在"),
......
package com.clx.performance.enums.vehiclewarn;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum VehicleWarnConfigEnum {
;
@Getter
@AllArgsConstructor
public enum WarnType {
ARRIVE_SEND_DELAY(1, "运单-到达货源地延误"),
GOTO_SEND_TIMEOUT(2, "运单-前往货源地超时"),
ARRIVE_RECEIVE_DELAY(3, "运单-到达目的地延误"),
GOTO_RECEIVE_TIMEOUT(4, "运单-前往目的地超时"),
PARK_TIMEOUT(5, "运单-停留超时"),
SENSITIVE_AREA_PARK_TIMEOUT(6, "运单-敏感区停留"),
LOAD_TIMEOUT(7, "运单-装车超时"),
UNLOAD_TIMEOUT(8, "运单-卸车超时"),
DELAY(9, "运单-运单延误"),
;
private final Integer code;
private final String msg;
public static Optional<WarnType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(WarnType::getMsg).orElse(null);
}
}
@Getter
@AllArgsConstructor
public enum DeleteStatus {
NO(0, "否"),
YES(1, "是"),
;
private final Integer code;
private final String msg;
public static Optional<DeleteStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(DeleteStatus::getMsg).orElse(null);
}
}
@Getter
@AllArgsConstructor
public enum Status {
ENABLE(1, "启用"),
DISABLE(2, "禁用"),
;
private final Integer code;
private final String msg;
public static Optional<Status> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(Status::getMsg).orElse(null);
}
}
}
package com.clx.performance.enums.vehiclewarn;
import lombok.AllArgsConstructor;
import lombok.Getter;
public enum VehicleWarnUserEnum {
;
@Getter
@AllArgsConstructor
public enum DeleteStatus {
NO(0, "否"),
YES(1, "是"),
;
private final Integer code;
private final String msg;
}
}
package com.clx.performance.param.pc.vehiclewarn;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class PageVehicleWarnUserParam extends PageParam {
@ApiModelProperty(value = "姓名", example = "张三")
private String name;
@ApiModelProperty(value = "手机", example = "13000000000")
private String mobile;
}
package com.clx.performance.param.pc.vehiclewarn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
@Getter
@Setter
@NoArgsConstructor
public class VehicleWarnUserAddParam {
@ApiModelProperty(value = "姓名", example = "张三")
@NotBlank(message = "姓名不能为空")
private String name;
@ApiModelProperty(value = "手机", example = "13000000000")
@NotBlank(message = "手机不能为空")
private String mobile;
}
package com.clx.performance.param.pc.vehiclewarn;
import com.clx.performance.vo.pc.vehiclewarn.VehicleWarnUserVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class VehicleWarnUserConfigUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空")
private Integer id;
@ApiModelProperty(value = "选中报警类型列表")
private List<VehicleWarnUserVO.WarnTypeItem> warnTypeList;
@ApiModelProperty(value = "选中报警类型列表")
private List<VehicleWarnUserVO.WarnTypeItem> lineWarnTypeList;
}
package com.clx.performance.param.pc.vehiclewarn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
public class VehicleWarnUserDeleteParam {
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空")
private Integer id;
}
package com.clx.performance.param.pc.vehiclewarn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
public class VehicleWarnUserUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空")
private Integer id;
@ApiModelProperty(value = "姓名", example = "张三")
@NotBlank(message = "姓名不能为空")
private String name;
@ApiModelProperty(value = "手机", example = "13000000000")
@NotBlank(message = "手机不能为空")
private String mobile;
}
package com.clx.performance.vo.pc.vehiclewarn;
import com.alibaba.fastjson.JSON;
import com.clx.performance.enums.linewarn.LineWarnConfigEnum;
import com.clx.performance.enums.vehiclewarn.VehicleWarnConfigEnum;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 车辆预警通知人员表
* @Date: 2024/04/25 13:24:56
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
public class VehicleWarnUserVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "姓名", example = "张三")
private String name;
@ApiModelProperty(value = "手机", example = "13000000000")
private String mobile;
@ApiModelProperty(value = "创建人", example = "")
private String createBy;
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@ApiModelProperty(value = "修改时间", example = "")
private String modifiedTime;
@ApiModelProperty(value = "通知配置列表")
private List<WarnTypeItem> warnTypeItemList;
public List<WarnTypeItem> getWarnTypeItemList() {
List<Integer> warnTypeList = JSON.parseArray(warnTypeJson, Integer.class);
List<WarnTypeItem> list = new ArrayList<>();
for (VehicleWarnConfigEnum.WarnType item : VehicleWarnConfigEnum.WarnType.values()) {
if (warnTypeList.contains(item.getCode())){
list.add(new WarnTypeItem(item.getCode(), item.getMsg(), 1));
}
else {
list.add(new WarnTypeItem(item.getCode(), item.getMsg(), 0));
}
}
return list;
}
@ApiModelProperty(value = "通知配置列表")
private List<WarnTypeItem> lineWarnTypeItemList;
@JsonIgnore
@ApiModelProperty(value = "预警配置", example = "", hidden = true)
private String warnTypeJson;
@JsonIgnore
@ApiModelProperty(value = "线路预警配置", example = "", hidden = true)
private String lineWarnTypeJson;
public List<WarnTypeItem> getLineWarnTypeItemList() {
List<Integer> warnTypeList = JSON.parseArray(lineWarnTypeJson, Integer.class);
List<WarnTypeItem> list = new ArrayList<>();
for (LineWarnConfigEnum.WarnType item : LineWarnConfigEnum.WarnType.values()) {
if (warnTypeList.contains(item.getCode())){
list.add(new WarnTypeItem(item.getCode(), item.getMsg(), 1));
}
else {
list.add(new WarnTypeItem(item.getCode(), item.getMsg(), 0));
}
}
return list;
}
@Getter
@Setter
@NoArgsConstructor
public static class WarnTypeItem {
@ApiModelProperty(value = "报警类型", example = "1")
private Integer warnType;
@ApiModelProperty(value = "报警类型名称", example = "超时")
private String warnTypeName;
@ApiModelProperty(value = "使能:0禁用 1启用", example = "1")
private Integer enable;
public WarnTypeItem(Integer warnType, String warnTypeName, Integer enable) {
this.warnType = warnType;
this.warnTypeName = warnTypeName;
this.enable = enable;
}
}
}
\ No newline at end of file
package com.clx.performance.controller.pc.vehiclewarn;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.vehiclewarn.*;
import com.clx.performance.service.vehiclewarn.VehicleWarnUserService;
import com.clx.performance.vo.pc.vehiclewarn.VehicleWarnUserVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
@Slf4j
@RestController
@Validated
@Api(tags = "车辆预警-预警通知人员")
@RequestMapping(value="/pc/owner/vehicleWarnUser")
public class VehicleWarnUserController {
@Autowired
private VehicleWarnUserService vehicleWarnUserService;
@ApiOperation(value = "新增人员", notes = "<br>By:艾庆国")
@PostMapping("/saveUser")
@UnitCovert(result = false)
public Result<Void> saveUser(@RequestBody @Validated VehicleWarnUserAddParam param) {
vehicleWarnUserService.saveUser(param);
return Result.ok();
}
@ApiOperation(value = "更新用户", notes = "<br>By:艾庆国")
@PostMapping("/updateUser")
public Result<Void> updateUser(@RequestBody @Validated VehicleWarnUserUpdateParam param) {
vehicleWarnUserService.updateUser(param);
return Result.ok();
}
@ApiOperation(value = "更新通知配置", notes = "<br>By:艾庆国")
@PostMapping("/updateConfig")
public Result<Void> updateConfig(@RequestBody @Validated VehicleWarnUserConfigUpdateParam param) {
vehicleWarnUserService.updateConfig(param);
return Result.ok();
}
@ApiOperation(value = "删除用户", notes = "<br>By:艾庆国")
@PostMapping("/deleteUser")
public Result<Void> deleteUser(@RequestBody @Validated VehicleWarnUserDeleteParam param) {
vehicleWarnUserService.deleteUser(param);
return Result.ok();
}
@ApiOperation(value = "获取人员信息",notes = "<br>By:艾庆国")
@GetMapping("/getUser")
public Result<VehicleWarnUserVO> getUser(@NotNull(message = "id不能为空") @Validated Integer id) {
return Result.ok(vehicleWarnUserService.getUser(id));
}
@ApiOperation(value = "分页搜索人员列表",notes = "<br>By:艾庆国")
@PostMapping("/pageUser")
public Result<PageData<VehicleWarnUserVO>> pageUser(@RequestBody @Validated PageVehicleWarnUserParam param) {
IPage<VehicleWarnUserVO> page = vehicleWarnUserService.pageUser(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.dao.impl.vehiclewarn;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao;
import com.clx.performance.enums.vehiclewarn.VehicleWarnUserEnum;
import com.clx.performance.mapper.vehiclewarn.VehicleWarnUserMapper;
import com.clx.performance.model.vehiclewarn.VehicleWarnUser;
import com.clx.performance.param.pc.vehiclewarn.PageVehicleWarnUserParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class VehicleWarnUserDaoImpl extends BaseDaoImpl<VehicleWarnUserMapper, VehicleWarnUser, Integer> implements VehicleWarnUserDao {
@Override
public boolean updateUser(VehicleWarnUser item) {
return update(lUdWrapper()
.eq(VehicleWarnUser::getId, item.getId())
.set(VehicleWarnUser::getName, item.getName())
.set(VehicleWarnUser::getMobile, item.getMobile())
);
}
@Override
public boolean deleteUser(VehicleWarnUser item) {
return update(lUdWrapper()
.eq(VehicleWarnUser::getId, item.getId())
.set(VehicleWarnUser::getDeleteStatus, item.getDeleteStatus())
);
}
@Override
public boolean updateWarnType(VehicleWarnUser item) {
return update(lUdWrapper()
.eq(VehicleWarnUser::getId, item.getId())
.set(VehicleWarnUser::getWarnTypeJson, item.getWarnTypeJson())
.set(VehicleWarnUser::getLineWarnTypeJson, item.getLineWarnTypeJson())
);
}
@Override
public Optional<VehicleWarnUser> findById(Integer id) {
return Optional.of(id)
.map(item -> lQrWrapper()
.eq(VehicleWarnUser::getId, id)
.last("limit 1")
)
.map(super::getOne);
}
@Override
public Optional<VehicleWarnUser> findByMobile(String mobile) {
return Optional.of(mobile)
.map(item -> lQrWrapper()
.eq(VehicleWarnUser::getMobile, mobile)
.eq(VehicleWarnUser::getDeleteStatus, VehicleWarnUserEnum.DeleteStatus.NO.getCode())
.last("limit 1")
)
.map(super::getOne);
}
@Override
public List<VehicleWarnUser> listAllEnable() {
return list(lQrWrapper()
.eq(VehicleWarnUser::getDeleteStatus, VehicleWarnUserEnum.DeleteStatus.NO.getCode())
);
}
@Override
public IPage<VehicleWarnUser> pageByParam(PageVehicleWarnUserParam param) {
Page<VehicleWarnUser> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
}
package com.clx.performance.dao.vehiclewarn;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.vehiclewarn.VehicleWarnUserMapper;
import com.clx.performance.model.vehiclewarn.VehicleWarnUser;
import com.clx.performance.param.pc.vehiclewarn.PageVehicleWarnUserParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import java.util.List;
public interface VehicleWarnUserDao extends BaseDao<VehicleWarnUserMapper, VehicleWarnUser, Integer> {
boolean updateUser(VehicleWarnUser item);
boolean deleteUser(VehicleWarnUser item);
boolean updateWarnType(VehicleWarnUser item);
Optional<VehicleWarnUser> findById(Integer id);
Optional<VehicleWarnUser> findByMobile(String mobile);
List<VehicleWarnUser> listAllEnable();
IPage<VehicleWarnUser> pageByParam(PageVehicleWarnUserParam param);
}
package com.clx.performance.mapper.vehiclewarn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.vehiclewarn.VehicleWarnUser;
import com.clx.performance.param.pc.vehiclewarn.PageVehicleWarnUserParam;
import com.clx.performance.sqlProvider.vehiclewarn.VehicleWarnUserSqlProvider;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
@Mapper
public interface VehicleWarnUserMapper extends BaseMapper<VehicleWarnUser> {
String TABLE = "vehicle_warn_user";
/**
* @see VehicleWarnUserSqlProvider#pageByParam(Page, PageVehicleWarnUserParam)
*/
@SelectProvider(type = VehicleWarnUserSqlProvider.class, method = "pageByParam")
IPage<VehicleWarnUser> pageByParam(@Param("page") Page page, @Param("param") PageVehicleWarnUserParam param);
}
\ No newline at end of file
package com.clx.performance.model.vehiclewarn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 车辆预警通知人员表
* @Date: 2024/04/25 13:24:56
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class VehicleWarnUser implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private String name; //姓名
private String mobile; //手机
private String warnTypeJson; //预警配置
private String lineWarnTypeJson; //线路预警配置
private Integer deleteStatus; //删除状态: 0-否;1-是
private String createBy; //创建人
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.service.impl.vehiclewarn;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.vehiclewarn.VehicleWarnUserDao;
import com.clx.performance.enums.ResultEnum;
import com.clx.performance.enums.linewarn.LineWarnConfigEnum;
import com.clx.performance.enums.vehiclewarn.VehicleWarnConfigEnum;
import com.clx.performance.enums.vehiclewarn.VehicleWarnUserEnum;
import com.clx.performance.model.vehiclewarn.VehicleWarnUser;
import com.clx.performance.param.pc.vehiclewarn.*;
import com.clx.performance.service.vehiclewarn.VehicleWarnUserService;
import com.clx.performance.struct.vehiclewarn.VehicleWarnUserStruct;
import com.clx.performance.vo.pc.vehiclewarn.VehicleWarnUserVO;
import com.msl.common.base.Optional;
import com.msl.common.exception.ServiceSystemException;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Slf4j
@Service
public class VehicleWarnUserServiceImpl implements VehicleWarnUserService {
@Autowired
private VehicleWarnUserDao vehicleWarnUserDao;
@Autowired
private VehicleWarnUserStruct vehicleWarnUserStruct;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveUser(VehicleWarnUserAddParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Optional<VehicleWarnUser> optional = vehicleWarnUserDao.findByMobile(param.getMobile());
if (optional.isPresent()){
throw new ServiceSystemException(ResultEnum.VEHICLE_WARN_USER_EXIST);
}
List<Integer> warnTypeList = Arrays.stream(VehicleWarnConfigEnum.WarnType.values())
.map(item -> item.getCode()).collect(Collectors.toList());
List<Integer> lineWarnTypeList = Arrays.stream(LineWarnConfigEnum.WarnType.values())
.map(item -> item.getCode()).collect(Collectors.toList());
VehicleWarnUser vehicleWarnUser = new VehicleWarnUser();
vehicleWarnUser.setName(param.getName());
vehicleWarnUser.setMobile(param.getMobile());
vehicleWarnUser.setWarnTypeJson(JSON.toJSONString(warnTypeList));
vehicleWarnUser.setLineWarnTypeJson(JSON.toJSONString(lineWarnTypeList));
vehicleWarnUser.setCreateBy(loginUserInfo.getUserName());
vehicleWarnUserDao.saveEntity(vehicleWarnUser);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateUser(VehicleWarnUserUpdateParam param) {
VehicleWarnUser vehicleWarnUser = vehicleWarnUserDao
.findById(param.getId()).orElseThrow(ResultEnum.DATA_NOT_FIND);
if (!Objects.equals(vehicleWarnUser.getMobile(), param.getMobile())){
Optional<VehicleWarnUser> optional = vehicleWarnUserDao.findByMobile(param.getMobile());
if (optional.isPresent()){
throw new ServiceSystemException(ResultEnum.VEHICLE_WARN_USER_EXIST);
}
}
vehicleWarnUser.setName(param.getName());
vehicleWarnUser.setMobile(param.getMobile());
vehicleWarnUserDao.updateUser(vehicleWarnUser);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateConfig(VehicleWarnUserConfigUpdateParam param) {
VehicleWarnUser vehicleWarnUser = vehicleWarnUserDao
.findById(param.getId()).orElseThrow(ResultEnum.DATA_NOT_FIND);
List<Integer> warnTypeList = param.getWarnTypeList().stream()
.filter(item -> Objects.equals(item.getEnable(), 1))
.map(item->item.getWarnType()).collect(Collectors.toList());
vehicleWarnUser.setWarnTypeJson(JSON.toJSONString(warnTypeList));
vehicleWarnUserDao.updateWarnType(vehicleWarnUser);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void deleteUser(VehicleWarnUserDeleteParam param) {
VehicleWarnUser vehicleWarnUser = vehicleWarnUserDao
.findById(param.getId()).orElseThrow(ResultEnum.DATA_NOT_FIND);
vehicleWarnUser.setDeleteStatus(VehicleWarnUserEnum.DeleteStatus.YES.getCode());
vehicleWarnUserDao.deleteUser(vehicleWarnUser);
}
@Override
public VehicleWarnUserVO getUser(Integer id) {
return vehicleWarnUserStruct.convert(vehicleWarnUserDao.findById(id).orNull());
}
@Override
public IPage<VehicleWarnUserVO> pageUser(PageVehicleWarnUserParam param) {
return vehicleWarnUserStruct.convertPage(vehicleWarnUserDao.pageByParam(param));
}
}
package com.clx.performance.service.vehiclewarn;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.vehiclewarn.*;
import com.clx.performance.vo.pc.vehiclewarn.VehicleWarnUserVO;
public interface VehicleWarnUserService {
void saveUser(VehicleWarnUserAddParam param);
void updateUser(VehicleWarnUserUpdateParam param);
void updateConfig(VehicleWarnUserConfigUpdateParam param);
void deleteUser(VehicleWarnUserDeleteParam param);
VehicleWarnUserVO getUser(Integer id);
IPage<VehicleWarnUserVO> pageUser(PageVehicleWarnUserParam param);
}
package com.clx.performance.sqlProvider.vehiclewarn;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.pc.vehiclewarn.PageVehicleWarnUserParam;
import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class VehicleWarnUserSqlProvider {
private static final String TABLE = "vehicle_warn_user";
public String pageByParam(@Param("page") Page page, @Param("param") PageVehicleWarnUserParam param) {
return new SQL(){{
SELECT("*");
FROM(TABLE);
WHERE("delete_status = 0");
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
ORDER_BY("id desc");
}}.toString();
}
}
package com.clx.performance.struct.vehiclewarn;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.vehiclewarn.VehicleWarnUser;
import com.clx.performance.vo.pc.vehiclewarn.VehicleWarnUserVO;
import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
import org.mapstruct.Mapper;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class})
public interface VehicleWarnUserStruct {
VehicleWarnUserVO convert(VehicleWarnUser item);
Page<VehicleWarnUserVO> convertPage(IPage<VehicleWarnUser> page);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论