package com.xiaopeng.operation.service.impl;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.xiaopeng.operation.dto.XpAgreementDTO;
|
import com.xiaopeng.operation.mapper.XpAgreementMapper;
|
import com.xiaopeng.api.model.operation.XpAgreement;
|
import com.xiaopeng.operation.service.XpAgreementService;
|
import com.xiaopeng.operation.vo.XpAgreementVo;
|
import org.springframework.stereotype.Service;
|
|
import java.util.*;
|
|
/**
|
* <p>
|
* 协议设置 服务实现类
|
* </p>
|
*
|
* @author liu
|
* @since 2026-02-03
|
*/
|
@Service
|
public class XpAgreementServiceImpl extends ServiceImpl<XpAgreementMapper, XpAgreement> implements XpAgreementService {
|
|
@Override
|
public XpAgreementVo getContentByType(Integer type) {
|
XpAgreement xpAgreement = this.getOne(new LambdaQueryWrapper<XpAgreement>().eq(XpAgreement::getContentType,type));
|
if (xpAgreement != null) {
|
XpAgreementVo xpAgreementVo = new XpAgreementVo();
|
xpAgreementVo.setId(xpAgreement.getId());
|
xpAgreementVo.setContent(xpAgreement.getContent());
|
xpAgreementVo.setType(xpAgreement.getContentType());
|
xpAgreementVo.setVersion(xpAgreement.getVersion());
|
return xpAgreementVo;
|
}
|
return null;
|
}
|
|
@Override
|
public List<XpAgreementVo> getContentByTypeAll() {
|
List<XpAgreement> list = this.list(new LambdaQueryWrapper<XpAgreement>().in(XpAgreement::getContentType, Arrays.asList(1,2,3,4)));
|
List<XpAgreementVo> xpAgreementVos = new ArrayList<>();
|
for (XpAgreement xpAgreement : list) {
|
XpAgreementVo xpAgreementVo = new XpAgreementVo();
|
xpAgreementVo.setId(xpAgreement.getId());
|
xpAgreementVo.setContent(xpAgreement.getContent());
|
xpAgreementVo.setType(xpAgreement.getContentType());
|
xpAgreementVo.setVersion(xpAgreement.getVersion());
|
xpAgreementVos.add(xpAgreementVo);
|
}
|
return xpAgreementVos;
|
}
|
|
/**
|
* 根据类型获取配置
|
* @param type
|
* @return
|
*/
|
@Override
|
public XpAgreement getAgreementContent(Integer type) {
|
return this.lambdaQuery().eq(XpAgreement::getContentType, type).last("limit 1").one();
|
}
|
|
@Override
|
public void saveAgreement(XpAgreementDTO dto) {
|
//根据类型查询协议
|
Optional<XpAgreement> opt = this.lambdaQuery().eq(XpAgreement::getContentType, dto.getContentType()).last("limit 1").oneOpt();
|
|
//如果存在则更新,不存在则新增
|
if (opt.isPresent()) {
|
XpAgreement xpAgreement = opt.get();
|
xpAgreement.setContent(dto.getContent());
|
updateById(xpAgreement);
|
} else {
|
XpAgreement xpAgreement = BeanUtil.copyProperties(dto, XpAgreement.class);
|
this.save(xpAgreement);
|
}
|
}
|
}
|