package com.kidgrow.oprationcenter.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.constant.CommonConstant; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.SysUser; import com.kidgrow.common.service.impl.SuperServiceImpl; import com.kidgrow.oprationcenter.mapper.PayManagerMapper; import com.kidgrow.oprationcenter.model.PayManager; import com.kidgrow.oprationcenter.model.ProductOrder; import com.kidgrow.oprationcenter.model.ProductOrderDetail; import com.kidgrow.oprationcenter.service.IPayManagerService; import com.kidgrow.oprationcenter.service.IProductOrderDetailService; import com.kidgrow.oprationcenter.service.IProductOrderService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* @Description:
* @Project: 运营中心
* @CreateDate: Created in 2020-09-21 14:16:18
* @Author: houruijun * @version 1.0 */ @Slf4j @Service public class PayManagerServiceImpl extends SuperServiceImpl implements IPayManagerService { @Autowired private IProductOrderService productOrderService; @Autowired private IProductOrderDetailService productOrderDetailService; /** * 列表 * @param params * @return */ @Override public PageResult findList(Map params){ Page page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); List list = baseMapper.findList(page, params); return PageResult.builder().data(list).code(0).count(page.getTotal()).build(); } /** * 根据PayManager对象当做查询条件进行查询 * @param payManager * @return PayManager */ @Override public PayManager findByObject(PayManager payManager){ return baseMapper.findByObject(payManager); } /** * 查看科室的单次支付功能 如果返回空 则视为未开通 * @param hospitalId * @param departmentId * @return PayManager */ @Override public PayManager findByObject(Long hospitalId,Long departmentId){ PayManager payManager = new PayManager(); ProductOrderDetail productOrderDetail= getProductDetail(hospitalId,departmentId); if (productOrderDetail != null) { payManager.setDepartmentId(departmentId); payManager.setHospitalId(hospitalId); payManager.setIsDel(false); payManager.setEnabled(true); PayManager payManagerModel = baseMapper.findByObject(payManager); return payManagerModel; } else { return payManager; } } /** * 获取科室下的一个业务的套餐数据 * @param hospitalId * @param departmentId * @return */ @Override public ProductOrderDetail getProductDetail(Long hospitalId, Long departmentId) { ProductOrder productOrder=new ProductOrder(); productOrder.setHospitalId(hospitalId); productOrder.setDepartmentId(departmentId); productOrder.setEnabled(true); productOrder.setIsDel(false); ProductOrder productOrderModel=productOrderService.findByObject(productOrder); if (productOrderModel != null) { ProductOrderDetail productOrderDetail =new ProductOrderDetail(); productOrderDetail.setProId(CommonConstant.PAY_USER_PRODUCT_ID); productOrderDetail.setOrderId(productOrderModel.getId()); productOrderDetail.setEnabled(true); productOrderDetail.setIsDel(false); ProductOrderDetail modelDetail=productOrderDetailService.findByObject(productOrderDetail); return modelDetail; } return null; } /** * 保存单次支付功能数据 * @param payManager * @param sysUser * @return */ @Override public Boolean saveproductOrder(PayManager payManager, SysUser sysUser) { Map params = new HashMap<>(); params.put("hospitalId", payManager.getHospitalId()); params.put("departmentId", payManager.getDepartmentId()); params.put("hospitalName", payManager.getHospitalName()); params.put("departmentName", payManager.getDepartmentName()); params.put("proId", CommonConstant.PAY_USER_PRODUCT_ID); boolean isResult = productOrderService.saveProductDetail(params, sysUser); return isResult; } }