Commit 68183b72 authored by honghy's avatar honghy

特需

parent b3301cf1
package cn.iocoder.yudao.module.order.convert.consSpecialNeed;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.order.dal.dataobject.consSpecialNeed.ConsSpecialNeedDO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedBackVO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedCreateReqVO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedUpdateReqVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* 包裹特需 Convert
* @author jayden
*/
@Mapper
public interface ConsSpecialNeedConvert {
/*****转换MapStruct*****/
ConsSpecialNeedConvert INSTANCE = Mappers.getMapper(ConsSpecialNeedConvert.class);
/***
* 创建VO转实体
* @param bean
* @return
*/
ConsSpecialNeedDO convert(ConsSpecialNeedCreateReqVO bean);
/***
* 修改VO转实体
* @param bean
* @return
*/
ConsSpecialNeedDO convert(ConsSpecialNeedUpdateReqVO bean);
/***
* 实体转返回VO
* @param bean
* @return
*/
ConsSpecialNeedBackVO convert(ConsSpecialNeedDO bean);
/***
* 实体列表转返回VO列表
* @param list
* @return
*/
List<ConsSpecialNeedBackVO> convertList(List<ConsSpecialNeedDO> list);
/***
* 实体分页转返回分页
* @param page
* @return
*/
PageResult<ConsSpecialNeedBackVO> convertPage(PageResult<ConsSpecialNeedDO> page);
}
package cn.iocoder.yudao.module.order.dal.dataobject.consSpecialNeed;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* 包裹特需 DO
*
* @author jayden
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("ecw_cons_special_need")
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ConsSpecialNeedDO extends BaseDO {
/**
* id
*/
@TableId
private Long id;
/**
* 包裹id
*/
private Long consId;
/**
* 特需类型,来自字典表order_special_needs
*/
private Integer advanceType;
/**
* 预计金额
*/
private java.math.BigDecimal expectedFee;
/**
* 预计金额货币类型
*/
private Integer expectedFeeCurrency;
/**
* 特需备注
*/
private String remarks;
/**
* 付款类型
*/
private Integer payType;
/**
* 特需状态,来自字典表cons_special_needs_status
*/
private Integer needStatus;
}
package cn.iocoder.yudao.module.order.dal.mysql.consSpecialNeed;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQuery;
import cn.iocoder.yudao.framework.mybatis.core.mapper.AbstractMapper;
import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
import cn.iocoder.yudao.module.order.dal.dataobject.consSpecialNeed.ConsSpecialNeedDO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedQueryVO;
import org.apache.ibatis.annotations.Mapper;
/**
* 包裹特需 Mapper
* @author jayden
*/
@Mapper
public interface ConsSpecialNeedMapper extends AbstractMapper<ConsSpecialNeedDO> {
@Override
default PageResult<ConsSpecialNeedDO> selectPage(PageVO page, Object object) {
if (object instanceof ConsSpecialNeedQueryVO) {
ConsSpecialNeedQueryVO vo = (ConsSpecialNeedQueryVO)object;
return selectPage(page, new LambdaQuery<ConsSpecialNeedDO>()
.eqIfPresent(ConsSpecialNeedDO::getConsId, vo.getConsId())
.eqIfPresent(ConsSpecialNeedDO::getAdvanceType, vo.getAdvanceType())
.eqIfPresent(ConsSpecialNeedDO::getExpectedFee, vo.getExpectedFee())
.eqIfPresent(ConsSpecialNeedDO::getExpectedFeeCurrency, vo.getExpectedFeeCurrency())
.eqIfPresent(ConsSpecialNeedDO::getRemarks, vo.getRemarks())
.eqIfPresent(ConsSpecialNeedDO::getPayType, vo.getPayType())
.eqIfPresent(ConsSpecialNeedDO::getNeedStatus, vo.getNeedStatus())
.betweenIfPresent(ConsSpecialNeedDO::getCreateTime, vo.getBeginCreateTime(), vo.getEndCreateTime())
.orderByDesc(ConsSpecialNeedDO::getId));
}
return null;
}
@Override
default List<ConsSpecialNeedDO> selectList(Object object) {
if (object instanceof ConsSpecialNeedQueryVO) {
ConsSpecialNeedQueryVO vo = (ConsSpecialNeedQueryVO)object;
return selectList(new LambdaQuery<ConsSpecialNeedDO>()
.eqIfPresent(ConsSpecialNeedDO::getConsId, vo.getConsId())
.eqIfPresent(ConsSpecialNeedDO::getAdvanceType, vo.getAdvanceType())
.eqIfPresent(ConsSpecialNeedDO::getExpectedFee, vo.getExpectedFee())
.eqIfPresent(ConsSpecialNeedDO::getExpectedFeeCurrency, vo.getExpectedFeeCurrency())
.eqIfPresent(ConsSpecialNeedDO::getRemarks, vo.getRemarks())
.eqIfPresent(ConsSpecialNeedDO::getPayType, vo.getPayType())
.eqIfPresent(ConsSpecialNeedDO::getNeedStatus, vo.getNeedStatus())
.betweenIfPresent(ConsSpecialNeedDO::getCreateTime, vo.getBeginCreateTime(), vo.getEndCreateTime())
.orderByDesc(ConsSpecialNeedDO::getId));
}
return null;
}
}
package cn.iocoder.yudao.module.order.service.consSpecialNeed;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
import cn.iocoder.yudao.framework.mybatis.core.service.IService;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.order.dal.dataobject.consSpecialNeed.ConsSpecialNeedDO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedCreateReqVO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedQueryVO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedUpdateReqVO;
/**
* 包裹特需 Service 接口
*
* @author jayden
*/
public interface ConsSpecialNeedService extends IService<ConsSpecialNeedDO> {
/**
* 创建包裹特需
* @param createReqVO 创建信息
* @return 编号
*/
Long createConsSpecialNeed(@Valid ConsSpecialNeedCreateReqVO createReqVO);
/**
* 更新包裹特需
* @param updateReqVO 更新信息
*/
void updateConsSpecialNeed(@Valid ConsSpecialNeedUpdateReqVO updateReqVO);
/**
* 删除包裹特需
* @param id 编号
*/
void deleteConsSpecialNeed(Long id);
/**
* 获得包裹特需
* @param id 编号
* @return 包裹特需
*/
ConsSpecialNeedDO getConsSpecialNeed(Long id);
/**
* 获得包裹特需列表
* @param ids 编号
* @return 包裹特需列表
*/
List<ConsSpecialNeedDO> getConsSpecialNeedList(Collection<Long> ids);
/**
* 获得包裹特需分页
* @param page 分页查询
* @param query 查询
* @return 包裹特需分页
*/
PageResult<ConsSpecialNeedDO> getConsSpecialNeedPage(ConsSpecialNeedQueryVO query, PageVO page);
/**
* 获得包裹特需列表, 用于 Excel 导出
* @param query 查询
* @return 包裹特需列表
*/
List<ConsSpecialNeedDO> getConsSpecialNeedList(ConsSpecialNeedQueryVO query);
}
package cn.iocoder.yudao.module.order.service.consSpecialNeed;
import java.util.*;
import javax.annotation.Resource;
import cn.iocoder.yudao.module.order.convert.consSpecialNeed.ConsSpecialNeedConvert;
import cn.iocoder.yudao.module.order.dal.dataobject.consSpecialNeed.ConsSpecialNeedDO;
import cn.iocoder.yudao.module.order.dal.mysql.consSpecialNeed.ConsSpecialNeedMapper;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedCreateReqVO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedQueryVO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedUpdateReqVO;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
import cn.iocoder.yudao.framework.mybatis.core.service.AbstractService;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
/**
* 包裹特需 Service 实现类
*
* @author jayden
*/
@Service
@Validated
public class ConsSpecialNeedServiceImpl extends AbstractService<ConsSpecialNeedMapper, ConsSpecialNeedDO> implements ConsSpecialNeedService {
@Resource
private ConsSpecialNeedMapper consSpecialNeedMapper;
@Override
public Long createConsSpecialNeed(ConsSpecialNeedCreateReqVO createReqVO) {
// 插入
ConsSpecialNeedDO consSpecialNeed = ConsSpecialNeedConvert.INSTANCE.convert(createReqVO);
consSpecialNeedMapper.insert(consSpecialNeed);
// 返回
return consSpecialNeed.getId();
}
@Override
public void updateConsSpecialNeed(ConsSpecialNeedUpdateReqVO updateReqVO) {
// 更新
ConsSpecialNeedDO updateObj = ConsSpecialNeedConvert.INSTANCE.convert(updateReqVO);
consSpecialNeedMapper.updateById(updateObj);
}
@Override
public void deleteConsSpecialNeed(Long id) {
// 删除
consSpecialNeedMapper.deleteById(id);
}
@Override
public ConsSpecialNeedDO getConsSpecialNeed(Long id) {
return consSpecialNeedMapper.selectById(id);
}
@Override
public List<ConsSpecialNeedDO> getConsSpecialNeedList(Collection<Long> ids) {
return consSpecialNeedMapper.selectBatchIds(ids);
}
@Override
public PageResult<ConsSpecialNeedDO> getConsSpecialNeedPage(ConsSpecialNeedQueryVO query, PageVO page) {
return consSpecialNeedMapper.selectPage(page, query);
}
@Override
public List<ConsSpecialNeedDO> getConsSpecialNeedList(ConsSpecialNeedQueryVO query) {
return consSpecialNeedMapper.selectList(query);
}
}
package cn.iocoder.yudao.module.order.vo.consSpecialNeed;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import com.alibaba.excel.annotation.ExcelProperty;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
* 包裹特需 Response VO
* @author jayden
*/
@Data
@ApiModel("管理后台 - 包裹特需 Response VO")
public class ConsSpecialNeedBackVO {
@ExcelProperty("id")
@ApiModelProperty(value = "id", required = true)
private Long id;
@ExcelProperty("包裹id")
@ApiModelProperty(value = "包裹id", required = true)
private Long consId;
@ExcelProperty("特需类型,来自字典表order_special_needs")
@ApiModelProperty(value = "特需类型,来自字典表order_special_needs")
private Integer advanceType;
@ExcelProperty("预计金额")
@ApiModelProperty(value = "预计金额")
private java.math.BigDecimal expectedFee;
@ExcelProperty("预计金额货币类型")
@ApiModelProperty(value = "预计金额货币类型", required = true)
private Integer expectedFeeCurrency;
@ExcelProperty("特需备注")
@ApiModelProperty(value = "特需备注")
private String remarks;
@ExcelProperty("付款类型")
@ApiModelProperty(value = "付款类型", required = true)
private Integer payType;
@ExcelProperty("特需状态,来自字典表cons_special_needs_status")
@ApiModelProperty(value = "特需状态,来自字典表cons_special_needs_status", required = true)
private Integer needStatus;
@ExcelProperty("")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "", required = true)
private Date createTime;
}
package cn.iocoder.yudao.module.order.vo.consSpecialNeed;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
/**
* 包裹特需 Base VO,提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
*/
@Data
public class ConsSpecialNeedBaseVO {
@ApiModelProperty(value = "包裹id", required = true)
@NotNull(message = "包裹id不能为空")
private Long consId;
@ApiModelProperty(value = "特需类型,来自字典表order_special_needs")
private Integer advanceType;
@ApiModelProperty(value = "预计金额")
private java.math.BigDecimal expectedFee;
@ApiModelProperty(value = "预计金额货币类型", required = true)
@NotNull(message = "预计金额货币类型不能为空")
private Integer expectedFeeCurrency;
@ApiModelProperty(value = "特需备注")
private String remarks;
@ApiModelProperty(value = "付款类型", required = true)
@NotNull(message = "付款类型不能为空")
private Integer payType;
@ApiModelProperty(value = "特需状态,来自字典表cons_special_needs_status", required = true)
@NotNull(message = "特需状态,来自字典表cons_special_needs_status不能为空")
private Integer needStatus;
}
package cn.iocoder.yudao.module.order.vo.consSpecialNeed;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel("管理后台 - 包裹特需创建 Request VO")
public class ConsSpecialNeedCreateReqVO extends ConsSpecialNeedBaseVO {
}
package cn.iocoder.yudao.module.order.vo.consSpecialNeed;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Data
@ApiModel("管理后台 - 包裹特需查询 VO")
public class ConsSpecialNeedQueryVO {
@ApiModelProperty(value = "包裹id")
private Long consId;
@ApiModelProperty(value = "特需类型,来自字典表order_special_needs")
private Integer advanceType;
@ApiModelProperty(value = "预计金额")
private java.math.BigDecimal expectedFee;
@ApiModelProperty(value = "预计金额货币类型")
private Integer expectedFeeCurrency;
@ApiModelProperty(value = "特需备注")
private String remarks;
@ApiModelProperty(value = "付款类型")
private Integer payType;
@ApiModelProperty(value = "特需状态,来自字典表cons_special_needs_status")
private Integer needStatus;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "开始")
private Date beginCreateTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "结束")
private Date endCreateTime;
}
package cn.iocoder.yudao.module.order.vo.consSpecialNeed;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@ApiModel("管理后台 - 包裹特需更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ConsSpecialNeedUpdateReqVO extends ConsSpecialNeedBaseVO {
@ApiModelProperty(value = "id", required = true)
@NotNull(message = "id不能为空")
private Long id;
}
package cn.iocoder.yudao.module.order.controller.admin.consSpecialNeed;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
import cn.iocoder.yudao.module.order.convert.consSpecialNeed.ConsSpecialNeedConvert;
import cn.iocoder.yudao.module.order.dal.dataobject.consSpecialNeed.ConsSpecialNeedDO;
import cn.iocoder.yudao.module.order.service.consSpecialNeed.ConsSpecialNeedService;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedBackVO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedCreateReqVO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedQueryVO;
import cn.iocoder.yudao.module.order.vo.consSpecialNeed.ConsSpecialNeedUpdateReqVO;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import io.swagger.annotations.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
@Validated
@RestController
@Api(tags = "管理后台 - 包裹特需")
@RequestMapping("/ecw/cons-special-need")
public class ConsSpecialNeedController {
@Resource
private ConsSpecialNeedService consSpecialNeedService;
@PostMapping("/create")
@ApiOperation("创建包裹特需")
public CommonResult<Long> createConsSpecialNeed(@Valid @RequestBody ConsSpecialNeedCreateReqVO createReqVO) {
return success(consSpecialNeedService.createConsSpecialNeed(createReqVO));
}
@PutMapping("/update")
@ApiOperation("更新包裹特需")
public CommonResult<Boolean> updateConsSpecialNeed(@Valid @RequestBody ConsSpecialNeedUpdateReqVO updateReqVO) {
consSpecialNeedService.updateConsSpecialNeed(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@ApiOperation("删除包裹特需")
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
public CommonResult<Boolean> deleteConsSpecialNeed(@RequestParam("id") Long id) {
consSpecialNeedService.deleteConsSpecialNeed(id);
return success(true);
}
@GetMapping("/get")
@ApiOperation("获得包裹特需")
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
public CommonResult<ConsSpecialNeedBackVO> getConsSpecialNeed(@RequestParam("id") Long id) {
ConsSpecialNeedDO consSpecialNeed = consSpecialNeedService.getConsSpecialNeed(id);
return success(ConsSpecialNeedConvert.INSTANCE.convert(consSpecialNeed));
}
@GetMapping("/list")
@ApiOperation("获得包裹特需列表")
@ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class)
public CommonResult<List<ConsSpecialNeedBackVO>> getConsSpecialNeedList(@RequestParam("ids") Collection<Long> ids) {
List<ConsSpecialNeedDO> list = consSpecialNeedService.getConsSpecialNeedList(ids);
return success(ConsSpecialNeedConvert.INSTANCE.convertList(list));
}
@GetMapping("/page")
@ApiOperation("获得包裹特需分页")
public CommonResult<PageResult<ConsSpecialNeedBackVO>> getConsSpecialNeedPage(@Valid ConsSpecialNeedQueryVO query, PageVO page) {
PageResult<ConsSpecialNeedDO> pageResult = consSpecialNeedService.getConsSpecialNeedPage(query, page);
return success(ConsSpecialNeedConvert.INSTANCE.convertPage(pageResult));
}
@GetMapping("/export-excel")
@ApiOperation("导出包裹特需 Excel")
@OperateLog(type = EXPORT)
public void exportConsSpecialNeedExcel(@Valid ConsSpecialNeedQueryVO query,
HttpServletResponse response) throws IOException {
List<ConsSpecialNeedDO> list = consSpecialNeedService.getConsSpecialNeedList(query);
// 导出 Excel
List<ConsSpecialNeedBackVO> datas = ConsSpecialNeedConvert.INSTANCE.convertList(list);
ExcelUtils.write(response, "包裹特需.xls", "数据", ConsSpecialNeedBackVO.class, datas);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment