forked from kidgrow-microservices-platform

kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/PayManagerController.java
@@ -5,10 +5,12 @@
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.model.SysUser;
import com.kidgrow.common.utils.ArithUtils;
import com.kidgrow.oprationcenter.model.PayManager;
import com.kidgrow.oprationcenter.model.ProductOrderDetail;
import com.kidgrow.oprationcenter.service.IPayManagerService;
import com.kidgrow.oprationcenter.service.IProductOrderDetailService;
import com.kidgrow.usercenter.feign.SysDepartmentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -44,6 +46,8 @@
    private IPayManagerService payManagerService;
    @Autowired
    private IProductOrderDetailService productOrderDetailService;
    @Autowired
    private SysDepartmentService sysDepartmentService;
    /**
     * 列表
@@ -129,39 +133,54 @@
            }
            return ResultBody.failed().msg(errMsg.toString());
        } else {
            if (payManager.getId()!=null) {
                //修改支付功能
                ProductOrderDetail modelDetail=payManagerService.getProductDetail(payManager.getHospitalId(),payManager.getDepartmentId());
                if(!payManager.getEnabled()&&modelDetail!=null)
                {
                    //支付禁用  禁用套餐
                    modelDetail.setEnabled(false);
                    modelDetail.setIsDel(true);
                    if(!productOrderDetailService.saveOrUpdate(modelDetail))
            int userdCount=-1;
            if (payManager.getEnabled()) {
                userdCount=productOrderDetailService.getUserdProduct(payManager.getHospitalId(),payManager.getDepartmentId());
            }
            if (userdCount>0) {
                return ResultBody.failed().msg("该医院已有可用的套餐,不能开通单次支付!");
            }
            else
            {
                payManager.setPayPrice(ArithUtils.round(payManager.getPayPrice()*100,2));
                payManager.setPayKidgrow(ArithUtils.round(payManager.getPayKidgrow()*100,2));
                payManager.setPayCustom(ArithUtils.round(payManager.getPayCustom()*100,2));
                if (payManager.getId()!=null) {
                    //修改支付功能
                    ProductOrderDetail modelDetail=payManagerService.getProductDetail(payManager.getHospitalId(),payManager.getDepartmentId());
                    if(!payManager.getEnabled()&&modelDetail!=null)
                    {
                        return ResultBody.failed().msg("套餐修改失败!支付开通修改失败!");
                        //支付禁用  禁用套餐
                        modelDetail.setEnabled(false);
                        modelDetail.setIsDel(true);
                        if(!productOrderDetailService.saveOrUpdate(modelDetail))
                        {
                            return ResultBody.failed().msg("套餐修改失败!支付开通修改失败!");
                        }
                    }
                }
                else if(modelDetail==null)
                {
                    else if(modelDetail==null)
                    {
                        Boolean isResult=payManagerService.saveproductOrder(payManager,sysUser);
                        if (!isResult) {
                            return ResultBody.failed().msg("套餐充入失败,支付开通失败!");
                        }
                    }
                } else {
                    Boolean isResult=payManagerService.saveproductOrder(payManager,sysUser);
                    if (!isResult) {
                        return ResultBody.failed().msg("套餐充入失败,支付开通失败!");
                        return ResultBody.failed().msg("套餐充入失败!支付开通失败!");
                    }
                }
            } else {
                Boolean isResult=payManagerService.saveproductOrder(payManager,sysUser);
                if (!isResult) {
                    return ResultBody.failed().msg("套餐充入失败!支付开通失败!");
                boolean v = payManagerService.saveOrUpdate(payManager);
                //修改科室的支付功能状态
                sysDepartmentService.updatePay(payManager.getDepartmentId(),payManager.getEnabled());
                if (v) {
                    return ResultBody.ok().data(payManager).msg("保存成功");
                } else {
                    return ResultBody.failed().msg("保存失败");
                }
            }
            boolean v = payManagerService.saveOrUpdate(payManager);
            if (v) {
                return ResultBody.ok().data(payManager).msg("保存成功");
            } else {
                return ResultBody.failed().msg("保存失败");
            }
        }
    }
}