package com.java110.store.smo.impl; import com.java110.core.base.smo.BaseServiceSMO; import com.java110.dto.PageDto; import com.java110.dto.contract.*; import com.java110.intf.store.IContractInnerServiceSMO; import com.java110.po.contract.ContractPo; import com.java110.store.dao.IContractServiceDao; import com.java110.utils.util.BeanConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; /** * @ClassName FloorInnerServiceSMOImpl * @Description 合同管理内部服务实现类 * @Author wuxw * @Date 2019/4/24 9:20 * @Version 1.0 * add by wuxw 2019/4/24 **/ @RestController public class ContractInnerServiceSMOImpl extends BaseServiceSMO implements IContractInnerServiceSMO { @Autowired private IContractServiceDao contractServiceDaoImpl; @Override public int saveContract(@RequestBody ContractPo contractPo) { int saveFlag = 1; contractServiceDaoImpl.saveContractInfo(BeanConvertUtil.beanCovertMap(contractPo)); return saveFlag; } @Override public int saveContract(@RequestBody ContractDto contractPo) { int saveFlag = 1; contractServiceDaoImpl.saveContractInfo(BeanConvertUtil.beanCovertMap(contractPo)); return saveFlag; } @Override public int updateContract(@RequestBody ContractPo contractPo) { int saveFlag = 1; contractServiceDaoImpl.updateContractInfo(BeanConvertUtil.beanCovertMap(contractPo)); return saveFlag; } public int updateContract(@RequestBody ContractDto contractPo) { int saveFlag = 1; // ===================== 1. 先更新主合同(你原来的代码) ===================== Map mainMap = BeanConvertUtil.beanCovertMap(contractPo); contractServiceDaoImpl.updateContractInfo(mainMap); // ===================== 2. 更新/插入 广告信息子表 ===================== AdContractInfoDto adContractInfo = contractPo.getAdContractInfo(); if (adContractInfo != null) { adContractInfo.setContractId(contractPo.getContractId()); Map adMap = BeanConvertUtil.beanCovertMap(adContractInfo); // 这里调用你DAO的 新增或更新方法(不存在则insert,存在则update) contractServiceDaoImpl.saveOrUpdateAdContractInfo(adMap); } // ===================== 3. 更新/插入 合同金额明细子表 ===================== ContractAmountDetailDto amountDetail = contractPo.getContractAmountDetail(); if (amountDetail != null) { amountDetail.setContractId(contractPo.getContractId()); Map detailMap = BeanConvertUtil.beanCovertMap(amountDetail); contractServiceDaoImpl.saveOrUpdateContractAmountDetail(detailMap); } // ===================== 4. 更新/插入 合同管理分成子表 ===================== ContractManagementShareDto managementShare = contractPo.getContractManagementShare(); if (managementShare != null) { managementShare.setContractId(contractPo.getContractId()); Map shareMap = BeanConvertUtil.beanCovertMap(managementShare); contractServiceDaoImpl.saveOrUpdateContractManagementShare(shareMap); } // ===================== 5. 更新/插入 合同缴费状态子表 ===================== ContractPaymentStatusDto paymentStatus = contractPo.getContractPaymentStatus(); if (paymentStatus != null) { paymentStatus.setContractId(contractPo.getContractId()); Map payMap = BeanConvertUtil.beanCovertMap(paymentStatus); contractServiceDaoImpl.saveOrUpdateContractPaymentStatus(payMap); } return saveFlag; } @Override public int deleteContract(@RequestBody ContractPo contractPo) { int saveFlag = 1; contractPo.setStatusCd("1"); contractServiceDaoImpl.updateContractInfo(BeanConvertUtil.beanCovertMap(contractPo)); return saveFlag; } @Override public List queryContracts(@RequestBody ContractDto contractDto) { //校验是否传了 分页信息 int page = contractDto.getPage(); if (page != PageDto.DEFAULT_PAGE) { contractDto.setPage((page - 1) * contractDto.getRow()); } List contracts = BeanConvertUtil.covertBeanList(contractServiceDaoImpl.getContractInfo(BeanConvertUtil.beanCovertMap(contractDto)), ContractDto.class); return contracts; } @Override public int queryContractsCount(@RequestBody ContractDto contractDto) { return contractServiceDaoImpl.queryContractsCount(BeanConvertUtil.beanCovertMap(contractDto)); } @Override public List queryContractsByOwnerIds(@RequestBody Map info) { return contractServiceDaoImpl.queryContractsByOwnerIds(info); } public IContractServiceDao getContractServiceDaoImpl() { return contractServiceDaoImpl; } public void setContractServiceDaoImpl(IContractServiceDao contractServiceDaoImpl) { this.contractServiceDaoImpl = contractServiceDaoImpl; } }