package com.java110.fee.smo.impl; import com.alibaba.fastjson.JSONObject; import com.java110.core.base.smo.BaseServiceSMO; import com.java110.dto.PageDto; import com.java110.dto.importData.ImportFeeDetailDto; import com.java110.dto.importData.MaintenancePaymentDto; import com.java110.dto.msg.MpPaymentRecordPo; import com.java110.fee.dao.IImportFeeDetailServiceDao; import com.java110.intf.fee.IImportFeeDetailInnerServiceSMO; import com.java110.po.importFee.ImportFeeDetailPo; import com.java110.po.importFee.MaintenancePayment; import com.java110.po.importFee.MpFifthPaymentRecord; import com.java110.po.importFee.MpPaymentRecord; import com.java110.utils.constant.ResponseConstant; import com.java110.utils.exception.DAOException; import com.java110.utils.util.BeanConvertUtil; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.*; /** * @ClassName FloorInnerServiceSMOImpl * @Description 费用导入明细内部服务实现类 * @Author wuxw * @Date 2019/4/24 9:20 * @Version 1.0 * add by wuxw 2019/4/24 **/ @RestController public class ImportFeeDetailInnerServiceSMOImpl extends BaseServiceSMO implements IImportFeeDetailInnerServiceSMO { @Autowired private IImportFeeDetailServiceDao importFeeDetailServiceDaoImpl; @Autowired private SqlSessionTemplate sqlSessionTemplate; @Override public int saveImportFeeDetail(@RequestBody ImportFeeDetailPo importFeeDetailPo) { int saveFlag = 1; importFeeDetailServiceDaoImpl.saveImportFeeDetailInfo(BeanConvertUtil.beanCovertMap(importFeeDetailPo)); return saveFlag; } @Override public int saveImportFeeDetails(@RequestBody List importFeeDetailPos) { List fees = new ArrayList<>(); for (ImportFeeDetailPo payFeeDetailPo : importFeeDetailPos) { if (payFeeDetailPo.getAmount() == null){ payFeeDetailPo.setAmount("0"); } fees.add(BeanConvertUtil.beanCovertMap(payFeeDetailPo)); } Map info = new HashMap(); info.put("importFeeDetailPos", fees); importFeeDetailServiceDaoImpl.saveImportFeeDetails(info); return 1; } @Override public int updateImportFeeDetail(@RequestBody ImportFeeDetailPo importFeeDetailPo) { int saveFlag = 1; importFeeDetailServiceDaoImpl.updateImportFeeDetailInfo(BeanConvertUtil.beanCovertMap(importFeeDetailPo)); return saveFlag; } @Override public int deleteImportFeeDetail(@RequestBody ImportFeeDetailPo importFeeDetailPo) { int saveFlag = 1; importFeeDetailPo.setStatusCd("1"); importFeeDetailServiceDaoImpl.updateImportFeeDetailInfo(BeanConvertUtil.beanCovertMap(importFeeDetailPo)); return saveFlag; } @Override public List queryImportFeeDetails(@RequestBody ImportFeeDetailDto importFeeDetailDto) { //校验是否传了 分页信息 int page = importFeeDetailDto.getPage(); if (page != PageDto.DEFAULT_PAGE) { importFeeDetailDto.setPage((page - 1) * importFeeDetailDto.getRow()); } List importFeeDetails = BeanConvertUtil.covertBeanList(importFeeDetailServiceDaoImpl.getImportFeeDetailInfo(BeanConvertUtil.beanCovertMap(importFeeDetailDto)), ImportFeeDetailDto.class); return importFeeDetails; } @Override public int queryImportFeeDetailsCount(@RequestBody ImportFeeDetailDto importFeeDetailDto) { return importFeeDetailServiceDaoImpl.queryImportFeeDetailsCount(BeanConvertUtil.beanCovertMap(importFeeDetailDto)); } @Override public int deleteImportFeeDetail(MaintenancePayment importFeeDetailPo) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailPo); int saveFlag = sqlSessionTemplate.delete("maintenancePaymentServiceDaoImpl.deleteImportFeeDetailInfo", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "修改费用导入明细信息Instance数据失败:" + JSONObject.toJSONString(info)); } return saveFlag; } @Override public int queryImportFeeDetailsCount(MaintenancePayment importFeeDetailDto) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailDto); List businessImportFeeDetailInfos = sqlSessionTemplate.selectList("maintenancePaymentServiceDaoImpl.queryImportFeeDetailsCount", info); if (businessImportFeeDetailInfos.size() < 1) { return 0; } return Integer.parseInt(businessImportFeeDetailInfos.get(0).get("count").toString()); } @Override public List queryImportFeeDetails(MaintenancePayment importFeeDetailDto) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailDto); // 2. 中间计算偏移量(核心步骤) // 先从 Map 中取出 page 和 row(注意空值校验) Integer page = info.get("page") != null ? Integer.parseInt(info.get("page").toString()) : null; Integer row = info.get("row") != null ? Integer.parseInt(info.get("row").toString()) : null; // 校验参数合法性,计算偏移量 if (page != null && page != -1 && row != null && row > 0) { int offset = (page - 1) * row; // 页数从1开始,偏移量= (页数-1)*每页条数 info.put("page", offset); // 将偏移量存入Map // 移除原page参数(避免XML中误用),也可以保留,XML中只用offset // info.remove("page"); } List businessImportFeeDetailInfos = sqlSessionTemplate.selectList("maintenancePaymentServiceDaoImpl.getImportFeeDetailInfo", info); return BeanConvertUtil.covertBeanList(businessImportFeeDetailInfos, MaintenancePayment.class); } @Override public int saveImportFeeDetail(MaintenancePayment importFeeDetailPo) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailPo); int saveFlag = sqlSessionTemplate.insert("maintenancePaymentServiceDaoImpl.saveImportFeeDetailInfo", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存费用导入明细信息Instance数据失败:" + JSONObject.toJSONString(info)); } return saveFlag; } @Override public int updateImportFeeDetail(MaintenancePayment importFeeDetailPo) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailPo); int saveFlag = sqlSessionTemplate.delete("maintenancePaymentServiceDaoImpl.updateImportFeeDetailInfo", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "修改费用导入明细信息Instance数据失败:" + JSONObject.toJSONString(info)); } return saveFlag; } @Override public int deleteImportFeeDetail(MpPaymentRecord importFeeDetailPo) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailPo); int saveFlag = sqlSessionTemplate.delete("mpPaymentRecordServiceDaoImpl.deleteMpPaymentRecordInfo", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "修改费用导入明细信息Instance数据失败:" + JSONObject.toJSONString(info)); } return saveFlag; } @Override public int queryImportFeeDetailsCount(MpPaymentRecord importFeeDetailDto) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailDto); List businessImportFeeDetailInfos = sqlSessionTemplate.selectList("mpPaymentRecordServiceDaoImpl.queryMpPaymentRecordsCount", info); if (businessImportFeeDetailInfos.size() < 1) { return 0; } return Integer.parseInt(businessImportFeeDetailInfos.get(0).get("count").toString()); } @Override public List queryImportFeeDetails(MpPaymentRecord importFeeDetailDto) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailDto); // 2. 中间计算偏移量(核心步骤) // 先从 Map 中取出 page 和 row(注意空值校验) Integer page = info.get("page") != null ? Integer.parseInt(info.get("page").toString()) : null; Integer row = info.get("row") != null ? Integer.parseInt(info.get("row").toString()) : null; // 校验参数合法性,计算偏移量 if (page != null && page != -1 && row != null && row > 0) { int offset = (page - 1) * row; // 页数从1开始,偏移量= (页数-1)*每页条数 info.put("page", offset); // 将偏移量存入Map // 移除原page参数(避免XML中误用),也可以保留,XML中只用offset // info.remove("page"); } List businessImportFeeDetailInfos = sqlSessionTemplate.selectList("mpPaymentRecordServiceDaoImpl.getMpPaymentRecordInfo", info); return BeanConvertUtil.covertBeanList(businessImportFeeDetailInfos, MpPaymentRecord.class); } @Override public int saveImportFeeDetail(MpPaymentRecord importFeeDetailPo) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailPo); int saveFlag = sqlSessionTemplate.insert("mpPaymentRecordServiceDaoImpl.saveMpPaymentRecordInfo", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存费用导入明细信息Instance数据失败:" + JSONObject.toJSONString(info)); } return saveFlag; } @Override public int saveImportFeeDetail(MpPaymentRecordPo importFeeDetailPo) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailPo); int saveFlag = sqlSessionTemplate.insert("mpPaymentRecordServiceDaoImpl.saveMpPaymentRecordInfo", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存费用导入明细信息Instance数据失败:" + JSONObject.toJSONString(info)); } return saveFlag; } @Override public int updateImportFeeDetail(MpPaymentRecord importFeeDetailPo) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailPo); int saveFlag = sqlSessionTemplate.delete("mpPaymentRecordServiceDaoImpl.updateMpPaymentRecordInfo", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "修改费用导入明细信息Instance数据失败:" + JSONObject.toJSONString(info)); } return saveFlag; } @Override public int deleteImportFeeDetail(MpFifthPaymentRecord importFeeDetailPo) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailPo); int saveFlag = sqlSessionTemplate.delete("mpFifthPaymentRecordServiceDaoImpl.deleteMpFifthPaymentRecordInfo", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "修改费用导入明细信息Instance数据失败:" + JSONObject.toJSONString(info)); } return saveFlag; } @Override public int queryImportFeeDetailsCount(MpFifthPaymentRecord importFeeDetailDto) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailDto); List businessImportFeeDetailInfos = sqlSessionTemplate.selectList("mpFifthPaymentRecordServiceDaoImpl.queryMpFifthPaymentRecordsCount", info); if (businessImportFeeDetailInfos.size() < 1) { return 0; } return Integer.parseInt(businessImportFeeDetailInfos.get(0).get("count").toString()); } @Override public List queryImportFeeDetails(MpFifthPaymentRecord importFeeDetailDto) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailDto); List businessImportFeeDetailInfos = sqlSessionTemplate.selectList("mpFifthPaymentRecordServiceDaoImpl.getMpFifthPaymentRecordInfo", info); return BeanConvertUtil.covertBeanList(businessImportFeeDetailInfos, MpFifthPaymentRecord.class); } @Override public int saveImportFeeDetail(MpFifthPaymentRecord importFeeDetailPo) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailPo); int saveFlag = sqlSessionTemplate.insert("mpFifthPaymentRecordServiceDaoImpl.saveMpFifthPaymentRecordInfo", info); if (saveFlag < 1) { throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存费用导入明细信息Instance数据失败:" + JSONObject.toJSONString(info)); } return saveFlag; } @Override public int updateImportFeeDetail(MpFifthPaymentRecord importFeeDetailPo) { Map info = BeanConvertUtil.beanCovertMap(importFeeDetailPo); int saveFlag = sqlSessionTemplate.update("mpFifthPaymentRecordServiceDaoImpl.updateMpFifthPaymentRecordInfo", info); // if (saveFlag < 1) { // throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "修改费用导入明细信息Instance数据失败:" + JSONObject.toJSONString(info)); // } return saveFlag; } @Override public Object queryMpPaymentRecordAll(MpPaymentRecord maintenancePayment) { Map info = BeanConvertUtil.beanCovertMap(maintenancePayment); List businessImportFeeDetailInfos = sqlSessionTemplate.selectList("mpFifthPaymentRecordServiceDaoImpl.queryMpPaymentRecordAll", info); return businessImportFeeDetailInfos; } }