Commit c10b84fa authored by huangcb's avatar huangcb

优化线下合同功能接口

parent 9d58d337
......@@ -285,6 +285,9 @@ public class ErrorMessageComponent {
@Value("${error-message.contract.offline.goods-owner.delete.1001}")
private String contractOfflineGoodsOwnerDelete1001;
@Value("${error-message.contract.offline.goods-owner.detail.1001}")
private String contractOfflineGoodsOwnerDetail1001;
@Value("${error-message.contract.offline.carrier.add.1001}")
private String contractOfflineCarrierAdd1001;
@Value("${error-message.contract.offline.carrier.add.1002}")
......@@ -298,6 +301,9 @@ public class ErrorMessageComponent {
@Value("${error-message.contract.offline.carrier.delete.1001}")
private String contractOfflineCarrierDelete1001;
@Value("${error-message.contract.offline.carrier.detail.1001}")
private String contractOfflineCarrierDetail1001;
@Value("${error-message.contract.online.goods-owner.sign.1001}")
private String contractOnlineGoodsOwnerSign1001;
......
......@@ -3,6 +3,7 @@ package com.esv.freight.customer.module.contract.controller;
import com.alibaba.fastjson.JSONObject;
import com.esv.freight.customer.common.exception.EException;
import com.esv.freight.customer.common.response.EResponse;
import com.esv.freight.customer.common.validator.groups.ValidatorDetail;
import com.esv.freight.customer.common.validator.groups.ValidatorInsert;
import com.esv.freight.customer.common.validator.groups.ValidatorList;
import com.esv.freight.customer.common.validator.groups.ValidatorUpdate;
......@@ -67,6 +68,18 @@ public class ContractOfflineCarrierController {
return EResponse.ok();
}
/**
* description 获取线下文本合同(承运商)详情
* param [form]
* return com.esv.freight.customer.common.response.EResponse
* author Administrator
* createTime 2020/05/27 17:22
**/
@PostMapping("/detail")
public EResponse detail(@RequestBody @Validated(ValidatorDetail.class) ContractOfflineCarrierForm form) throws EException {
return EResponse.ok(contractOfflineCarrierService.getContractDetail(form.getId()));
}
/**
* description 承运商合同-删除
* param [form]
......
......@@ -3,6 +3,7 @@ package com.esv.freight.customer.module.contract.controller;
import com.alibaba.fastjson.JSONObject;
import com.esv.freight.customer.common.exception.EException;
import com.esv.freight.customer.common.response.EResponse;
import com.esv.freight.customer.common.validator.groups.ValidatorDetail;
import com.esv.freight.customer.common.validator.groups.ValidatorInsert;
import com.esv.freight.customer.common.validator.groups.ValidatorList;
import com.esv.freight.customer.common.validator.groups.ValidatorUpdate;
......@@ -67,6 +68,18 @@ public class ContractOfflineGoodsOwnerController {
return EResponse.ok();
}
/**
* description 获取线下文本合同(货主)详情
* param [form]
* return com.esv.freight.customer.common.response.EResponse
* author Administrator
* createTime 2020/05/27 17:22
**/
@PostMapping("/detail")
public EResponse detail(@RequestBody @Validated(ValidatorDetail.class) ContractOfflineGoodsOwnerForm form) throws EException {
return EResponse.ok(contractOfflineGoodsOwnerService.getOfflineContractDetail(form.getId()));
}
/**
* description 删除合同
* param [form]
......
......@@ -68,7 +68,7 @@ public class ContractOnlineRecordController {
* author Administrator
* createTime 2020/05/25 11:25
**/
@PostMapping("/platformSign")
@PostMapping("/platform/sign")
public EResponse platformSign(@RequestBody @Validated(ValidatorDetail.class) ContractOnlineRecordForm form) throws EException {
contractOnlineRecordService.platformSign(form.getContractNumber());
return EResponse.ok();
......
package com.esv.freight.customer.module.contract.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.esv.freight.customer.module.contract.dto.ContractOfflineCarrierDto;
import com.esv.freight.customer.module.contract.entity.ContractOfflineCarrierEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.esv.freight.customer.module.contract.form.ContractOfflineCarrierQueryForm;
......@@ -26,4 +27,13 @@ public interface ContractOfflineCarrierDao extends BaseMapper<ContractOfflineCar
**/
IPage selectContractList(IPage page, ContractOfflineCarrierQueryForm queryObj);
/**
* description 获取线下文本合同(承运商)详情
* param [id]
* return com.esv.freight.customer.module.contract.dto.ContractOfflineCarrierDto
* author Administrator
* createTime 2020/05/27 19:59
**/
ContractOfflineCarrierDto selectContractDetail(Long id);
}
package com.esv.freight.customer.module.contract.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.esv.freight.customer.module.contract.dto.ContractOfflineGoodsOwnerDto;
import com.esv.freight.customer.module.contract.entity.ContractOfflineGoodsOwnerEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.esv.freight.customer.module.contract.form.ContractOfflineGoodsOwnerQueryForm;
......@@ -26,4 +27,13 @@ public interface ContractOfflineGoodsOwnerDao extends BaseMapper<ContractOffline
**/
IPage selectContractList(IPage page, ContractOfflineGoodsOwnerQueryForm queryObj);
/**
* description 查询线下文本合同(货主)详情
* param [id]
* return com.esv.freight.customer.module.contract.dto.ContractOfflineGoodsOwnerDto
* author Administrator
* createTime 2020/05/27 17:13
**/
ContractOfflineGoodsOwnerDto selectContractDetail(Long id);
}
package com.esv.freight.customer.module.contract.form;
import com.esv.freight.customer.common.validator.groups.ValidatorDelete;
import com.esv.freight.customer.common.validator.groups.ValidatorDetail;
import com.esv.freight.customer.common.validator.groups.ValidatorInsert;
import com.esv.freight.customer.common.validator.groups.ValidatorUpdate;
import lombok.Data;
......@@ -27,7 +28,7 @@ public class ContractOfflineCarrierForm {
/**
*
*/
@NotNull(message = "参数id不能为空", groups = {ValidatorUpdate.class, ValidatorDelete.class})
@NotNull(message = "参数id不能为空", groups = {ValidatorDetail.class, ValidatorUpdate.class, ValidatorDelete.class})
private Long id;
/**
* 承运商ID
......
package com.esv.freight.customer.module.contract.form;
import com.esv.freight.customer.common.validator.groups.ValidatorDelete;
import com.esv.freight.customer.common.validator.groups.ValidatorDetail;
import com.esv.freight.customer.common.validator.groups.ValidatorInsert;
import com.esv.freight.customer.common.validator.groups.ValidatorUpdate;
import lombok.Data;
......@@ -27,7 +28,7 @@ public class ContractOfflineGoodsOwnerForm {
/**
*
*/
@NotNull(message = "参数id不能为空", groups = {ValidatorUpdate.class, ValidatorDelete.class})
@NotNull(message = "参数id不能为空", groups = {ValidatorDetail.class, ValidatorUpdate.class, ValidatorDelete.class})
private Long id;
/**
* 货主帐号ID
......
......@@ -7,6 +7,7 @@ import com.esv.freight.customer.module.contract.form.ContractOfflineCarrierForm;
import com.esv.freight.customer.module.contract.form.ContractOfflineCarrierQueryForm;
import com.esv.freight.customer.module.contract.form.ContractOfflineGoodsOwnerForm;
import com.esv.freight.customer.module.contract.form.ContractOfflineGoodsOwnerQueryForm;
import com.esv.freight.customer.module.contract.vo.ContractOfflineCarrierDetailVO;
/**
* 线下文本合同(承运商)
......@@ -44,6 +45,15 @@ public interface ContractOfflineCarrierService extends IService<ContractOfflineC
**/
Integer deleteOfflineContract(ContractOfflineCarrierForm form);
/**
* description 获取线下文本合同(承运商)详情
* param [id]
* return com.esv.freight.customer.module.contract.vo.ContractOfflineCarrierDetailVO
* author Administrator
* createTime 2020/05/27 20:00
**/
ContractOfflineCarrierDetailVO getContractDetail(Long id);
/**
* description 分页查询合同列表
* param [queryForm]
......
......@@ -5,6 +5,7 @@ import com.esv.freight.customer.common.vo.PageResultVO;
import com.esv.freight.customer.module.contract.entity.ContractOfflineGoodsOwnerEntity;
import com.esv.freight.customer.module.contract.form.ContractOfflineGoodsOwnerForm;
import com.esv.freight.customer.module.contract.form.ContractOfflineGoodsOwnerQueryForm;
import com.esv.freight.customer.module.contract.vo.ContractOfflineGoodsOwnerDetailVO;
import com.esv.freight.customer.module.goodsowner.form.AccountQueryForm;
/**
......@@ -43,6 +44,15 @@ public interface ContractOfflineGoodsOwnerService extends IService<ContractOffli
**/
Integer deleteOfflineContract(ContractOfflineGoodsOwnerForm form);
/**
* description 获取线下文本合同(货主)详情
* param [id]
* return com.esv.freight.customer.module.contract.vo.ContractOfflineGoodsOwnerDetailVO
* author Administrator
* createTime 2020/05/27 17:04
**/
ContractOfflineGoodsOwnerDetailVO getOfflineContractDetail(Long id);
/**
* description 分页查询合同列表
* param [queryForm]
......
......@@ -17,6 +17,7 @@ import com.esv.freight.customer.module.contract.entity.ContractOfflineCarrierEnt
import com.esv.freight.customer.module.contract.form.ContractOfflineCarrierForm;
import com.esv.freight.customer.module.contract.form.ContractOfflineCarrierQueryForm;
import com.esv.freight.customer.module.contract.service.ContractOfflineCarrierService;
import com.esv.freight.customer.module.contract.vo.ContractOfflineCarrierDetailVO;
import com.esv.freight.customer.module.contract.vo.ContractOfflineCarrierVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -100,6 +101,28 @@ public class ContractOfflineCarrierServiceImpl extends ServiceImpl<ContractOffli
return this.baseMapper.deleteById(form.getId());
}
@Override
public ContractOfflineCarrierDetailVO getContractDetail(Long id) {
ContractOfflineCarrierEntity dbEntity = this.baseMapper.selectById(id);
if (null == dbEntity) {
throw new EException(1001, errorMessageComponent.getContractOfflineCarrierDetail1001());
}
ContractOfflineCarrierDto dto = this.baseMapper.selectContractDetail(id);
ContractOfflineCarrierDetailVO vo = new ContractOfflineCarrierDetailVO();
BeanUtils.copyProperties(dto, vo);
if (CarrierConstants.CARRIER_TYPE_COMPANY.equals(dto.getCarrierType())) {
vo.setCarrierName(dto.getCarrierFullName());
} else {
vo.setCarrierName(dto.getContactor());
}
vo.setSignDate(DateUtils.format(dto.getSignDate(), DateUtils.DATE_FORMAT3));
vo.setStartDate(DateUtils.format(dto.getStartDate(), DateUtils.DATE_FORMAT3));
vo.setEndDate(DateUtils.format(dto.getEndDate(), DateUtils.DATE_FORMAT3));
return vo;
}
@Override
public PageResultVO selectContractList(ContractOfflineCarrierQueryForm queryForm) {
IPage<ContractOfflineCarrierDto> page = new Page<>(queryForm.getPageNum(), queryForm.getPageSize());
......@@ -111,7 +134,7 @@ public class ContractOfflineCarrierServiceImpl extends ServiceImpl<ContractOffli
for (ContractOfflineCarrierDto dto : dtoList) {
ContractOfflineCarrierVO vo = new ContractOfflineCarrierVO();
BeanUtils.copyProperties(dto, vo);
if (CarrierConstants.CARRIER_TYPE_PERSONAL.equals(dto.getCarrierType())) {
if (CarrierConstants.CARRIER_TYPE_COMPANY.equals(dto.getCarrierType())) {
vo.setCarrierName(dto.getCarrierFullName());
} else {
vo.setCarrierName(dto.getContactor());
......
......@@ -14,6 +14,7 @@ import com.esv.freight.customer.module.contract.entity.ContractOfflineGoodsOwner
import com.esv.freight.customer.module.contract.form.ContractOfflineGoodsOwnerForm;
import com.esv.freight.customer.module.contract.form.ContractOfflineGoodsOwnerQueryForm;
import com.esv.freight.customer.module.contract.service.ContractOfflineGoodsOwnerService;
import com.esv.freight.customer.module.contract.vo.ContractOfflineGoodsOwnerDetailVO;
import com.esv.freight.customer.module.contract.vo.ContractOfflineGoodsOwnerVO;
import com.esv.freight.customer.module.goodsowner.GoodsOwnerConstants;
import com.esv.freight.customer.module.goodsowner.entity.GoodsOwnerAccountEntity;
......@@ -100,6 +101,28 @@ public class ContractOfflineGoodsOwnerServiceImpl extends ServiceImpl<ContractOf
return this.baseMapper.deleteById(form.getId());
}
@Override
public ContractOfflineGoodsOwnerDetailVO getOfflineContractDetail(Long id) {
ContractOfflineGoodsOwnerEntity dbEntity = this.baseMapper.selectById(id);
if (null == dbEntity) {
throw new EException(1001, errorMessageComponent.getContractOfflineGoodsOwnerDetail1001());
}
ContractOfflineGoodsOwnerDto dto = this.baseMapper.selectContractDetail(id);
ContractOfflineGoodsOwnerDetailVO vo = new ContractOfflineGoodsOwnerDetailVO();
BeanUtils.copyProperties(dto, vo);
if (GoodsOwnerConstants.OWNER_TYPE_COMPANY.equals(dto.getOwnerType())) {
vo.setGoodsOwnerName(dto.getOwnerFullName());
} else {
vo.setGoodsOwnerName(dto.getContactor());
}
vo.setSignDate(DateUtils.format(dto.getSignDate(), DateUtils.DATE_FORMAT3));
vo.setStartDate(DateUtils.format(dto.getStartDate(), DateUtils.DATE_FORMAT3));
vo.setEndDate(DateUtils.format(dto.getEndDate(), DateUtils.DATE_FORMAT3));
return vo;
}
@Override
public PageResultVO selectContractList(ContractOfflineGoodsOwnerQueryForm queryForm) {
IPage<ContractOfflineGoodsOwnerDto> page = new Page<>(queryForm.getPageNum(), queryForm.getPageSize());
......
package com.esv.freight.customer.module.contract.vo;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* @description:
* @project: freight-customer-service
* @name: com.esv.freight.customer.module.contract.vo.ContractOfflineCarrierDetailVO
* @author: 黄朝斌
* @email: huangchaobin@esvtek.com
* @createTime: 2020/05/19 14:24
* @version:1.0
*/
@Data
public class ContractOfflineCarrierDetailVO {
/**
*
*/
private Long id;
/**
* 承运商ID
*/
private Long carrierId;
/**
* 合同编号
*/
private String contractNumber;
/**
* 合同名称
*/
private String contractName;
/**
* 合同类型:1-主合同、2-补充合同、3-临时合同
*/
private Integer contractType;
/**
* 合同签订日期
*/
private String signDate;
/**
* 合同起始日期
*/
private String startDate;
/**
* 合同截止日期
*/
private String endDate;
/**
* 合同文件URL
*/
private String fileUrl;
/**
* 备注
*/
private String remark;
/**
* 创建者
*/
private String createUser;
/**
* 创建时间
*/
private Long createTime;
/**
* 客户名称
*/
private String carrierName;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
package com.esv.freight.customer.module.contract.vo;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* @description:
* @project: freight-customer-service
* @name: com.esv.freight.customer.module.contract.vo.ContractOfflineGoodsOwnerDetailVO
* @author: 黄朝斌
* @email: huangchaobin@esvtek.com
* @createTime: 2020/05/19 14:24
* @version:1.0
*/
@Data
public class ContractOfflineGoodsOwnerDetailVO {
/**
*
*/
private Long id;
/**
* 货主帐号ID
*/
private Long goodsOwnerId;
/**
* 合同编号
*/
private String contractNumber;
/**
* 合同名称
*/
private String contractName;
/**
* 合同类型:1-主合同、2-补充合同、3-临时合同
*/
private Integer contractType;
/**
* 合同签订日期
*/
private String signDate;
/**
* 合同起始日期
*/
private String startDate;
/**
* 合同截止日期
*/
private String endDate;
/**
* 合同文件URL
*/
private String fileUrl;
/**
* 备注
*/
private String remark;
/**
* 创建者
*/
private String createUser;
/**
* 创建时间
*/
private Long createTime;
/**
* 客户名称
*/
private String goodsOwnerName;
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}
}
......@@ -236,6 +236,8 @@ error-message:
1002: 合同编号已存在
delete:
1001: 无效的合同ID
detail:
1001: 无效的合同ID
carrier:
add:
1001: 无效的承运商ID
......@@ -245,6 +247,8 @@ error-message:
1002: 合同编号已存在
delete:
1001: 无效的合同ID
detail:
1001: 无效的合同ID
online:
goods-owner:
sign:
......
......@@ -28,7 +28,7 @@
resultType="com.esv.freight.customer.module.contract.dto.ContractOfflineCarrierDto">
select a.*, b.carrier_type as carrierType, b.carrier_full_name as carrierFullName, b.contactor as contactor
from contract_offline_carrier a, carrier_info b
where a.carrier_id = b.account_id
where a.carrier_id = b.account_id and a.deleted = false
<if test="queryObj.keywords != null">
and (a.contract_number like CONCAT('%',#{queryObj.keywords},'%')
or a.contract_name like CONCAT('%',#{queryObj.keywords},'%')
......@@ -38,4 +38,12 @@
ORDER BY a.update_time DESC
</select>
<!-- 查询合同详情 -->
<select id="selectContractDetail" parameterType="java.lang.Long"
resultType="com.esv.freight.customer.module.contract.dto.ContractOfflineCarrierDto">
select a.*, b.carrier_type as carrierType, b.carrier_full_name as carrierFullName, b.contactor as contactor
from contract_offline_carrier a, carrier_info b
where a.id = #{id} and a.carrier_id = b.account_id
</select>
</mapper>
\ No newline at end of file
......@@ -28,7 +28,7 @@
resultType="com.esv.freight.customer.module.contract.dto.ContractOfflineGoodsOwnerDto">
select a.*, b.owner_type as ownerType, b.owner_full_name as ownerFullName, b.contactor as contactor
from contract_offline_goods_owner a, goods_owner_info b
where a.goods_owner_id = b.account_id
where a.goods_owner_id = b.account_id and a.deleted = false
<if test="queryObj.keywords != null">
and (a.contract_number like CONCAT('%',#{queryObj.keywords},'%')
or a.contract_name like CONCAT('%',#{queryObj.keywords},'%')
......@@ -38,5 +38,12 @@
ORDER BY a.update_time DESC
</select>
<!-- 查询合同详情 -->
<select id="selectContractDetail" parameterType="java.lang.Long"
resultType="com.esv.freight.customer.module.contract.dto.ContractOfflineGoodsOwnerDto">
select a.*, b.owner_type as ownerType, b.owner_full_name as ownerFullName, b.contactor as contactor
from contract_offline_goods_owner a, goods_owner_info b
where a.id = #{id} and a.goods_owner_id = b.account_id
</select>
</mapper>
\ No newline at end of file
......@@ -64,8 +64,7 @@
from goods_owner_account a
left join goods_owner_info b
on a.id = b.account_id
where a.account_status = '1'
and a.audit_status = '1'
where a.audit_status = 1
ORDER BY b.owner_type DESC, b.owner_full_name ASC, b.contactor ASC
</select>
......
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