package com.dk.mdm.service.mac; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.dk.common.infrastructure.annotaiton.Pagination; import com.dk.common.infrastructure.constant.Constant; import com.dk.common.model.pojo.PageList; import com.dk.common.response.ResponseResultUtil; import com.dk.common.response.ResponseResultVO; import com.dk.mdm.infrastructure.convert.mac.ReceiptConvert; import com.dk.mdm.model.pojo.mac.Receipt; import com.dk.mdm.mapper.mac.ReceiptMapper; import com.dk.common.service.BaseService; import com.dk.common.mapper.BaseMapper; import com.dk.mdm.model.query.mac.ReceiptQuery; import com.dk.mdm.model.response.mac.ReceiptResponse; import com.dk.mdm.model.vo.mac.ReceiptVO; import com.dk.mdm.service.common.CommonService; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import java.util.Map; import java.util.UUID; @Service @Transactional public class ReceiptService extends BaseService { @Override public String getPrimaryKey() { return "receipt_id"; } @Override public BaseMapper getRepository() { return receiptMapper; } @Autowired private ReceiptMapper receiptMapper; @Autowired private CommonService commonService; @Autowired private ReceiptConvert receiptConvert; /** * @desc : 条件查询 * @author : 付斌 * @date : 2023/1/9 10:40 */ @Pagination public ResponseResultVO> selectByCond(ReceiptQuery receiptQuery) { return super.mergeListWithCount(receiptQuery, receiptMapper.selectByCond(receiptQuery), receiptMapper.countByCond(receiptQuery)); } /** * @desc : 新建方法 * @author : 付斌 * @date : 2023/1/9 10:49 */ @Transactional( rollbackFor = {Exception.class} ) public ResponseResultVO insert(ReceiptVO receiptVO) { // 获取单号 Map codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.CUSRECEIPT.getName(), false); receiptVO.setReceiptId(codeMap.get("outId").toString()).setReceiptNo(codeMap.get("outNote").toString()) .setReceiptType(Constant.DocumentType.ORDER.getName()); // 转化实体 Receipt receipt = receiptConvert.convertToPo(receiptVO); // Receipt总单保存 super.insert(receipt); return ResponseResultUtil.success(); } /** * @desc : 编辑方法 * @author : 付斌 * @date : 2023/1/9 10:49 */ @Transactional( rollbackFor = {Exception.class} ) public ResponseResultVO update(ReceiptVO receiptVO) { Receipt receipt = receiptConvert.convertToPo(receiptVO); return ResponseResultUtil.success(super.update(receipt, new UpdateWrapper().lambda().eq(Receipt::getReceiptId, UUID.fromString(receipt.getReceiptId())))); } }