From 946f257388c4d40c5ef1e0c6971f03820df13488 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <279049017@qq.com> Date: Fri, 25 Sep 2020 10:41:06 +0800 Subject: [PATCH] 添加获取 验证码的功能 --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SaasClientPayServiceImpl.java | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 167 insertions(+), 2 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SaasClientPayServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SaasClientPayServiceImpl.java index c66c4ad..78da321 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SaasClientPayServiceImpl.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SaasClientPayServiceImpl.java @@ -1,17 +1,34 @@ package com.kidgrow.oprationcenter.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.model.PageResult; +import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.service.impl.SuperServiceImpl; import com.kidgrow.oprationcenter.mapper.SaasClientPayMapper; +import com.kidgrow.oprationcenter.model.PayManager; import com.kidgrow.oprationcenter.model.SaasClientPay; +import com.kidgrow.oprationcenter.service.AlipayService; +import com.kidgrow.oprationcenter.service.IPayManagerService; import com.kidgrow.oprationcenter.service.ISaasClientPayService; +import com.kidgrow.oprationcenter.service.WxService; +import com.kidgrow.oprationcenter.vo.SaasClientPayExcel; +import com.kidgrow.oprationcenter.vo.SaasClientPayVo; +import com.kidgrow.usercenter.feign.SysDoctorService; +import com.kidgrow.usercenter.model.SysDoctor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cglib.beans.BeanCopier; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.UUID; + +//import com.kidgrow.recordcenter.feign.ChildService; /** @@ -30,11 +47,43 @@ * @param params * @return */ + @Autowired + private SysDoctorService sysDoctorService; + @Autowired + WxService wxService; + @Autowired + AlipayService alipayService; + @Autowired + IPayManagerService payManagerService; @Override - public PageResult<SaasClientPay> findList(Map<String, Object> params){ + public PageResult<SaasClientPayVo> findList(Map<String, Object> params){ + Long doctorId = MapUtils.getLong(params, "doctorId"); + if (doctorId!=null) { + ResultBody byId = sysDoctorService.findById(doctorId); + if (byId.getCode()==0) { + Object data = byId.getData(); + SysDoctor sysDoctor = JSON.parseObject(JSON.toJSONString(data), SysDoctor.class); + if (sysDoctor!=null) { + params.put("createUserId",sysDoctor.getUserId()); + } + } + params.remove("doctorId"); + } Page<SaasClientPay> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); List<SaasClientPay> list = baseMapper.findList(page, params); - return PageResult.<SaasClientPay>builder().data(list).code(0).count(page.getTotal()).build(); + List<SaasClientPayVo> listVo=null; + if (!list.isEmpty()) { + listVo=new ArrayList<>(); + for (SaasClientPay saasClientPay : list) { + SaasClientPayVo vo=new SaasClientPayVo(); + BeanCopier beanCopier = BeanCopier.create(SaasClientPay.class, SaasClientPayVo.class, false); + beanCopier.copy(saasClientPay,vo,null); + double v = Double.parseDouble(vo.getPayPrice().toString())/100; + vo.setPrice(v+""); + listVo.add(vo); + } + } + return PageResult.<SaasClientPayVo>builder().data(listVo).code(0).count(page.getTotal()).build(); } /** @@ -46,4 +95,120 @@ public SaasClientPay findByObject(SaasClientPay saasClientPay){ return baseMapper.findByObject(saasClientPay); } + + /** + * 查看一个科室的某个诊断的支付状态 + * @param hospitalId + * @param departmentId + * @param diaId + * @return + */ + @Override + public SaasClientPay findModelByObject(Long hospitalId,Long departmentId,String diaId) { + SaasClientPay saasClientPay = new SaasClientPay(); + saasClientPay.setCreateHospitalDepartid(departmentId.toString()); + saasClientPay.setCreateHospitalId(hospitalId); + saasClientPay.setDiaId(diaId); + return baseMapper.findByObject(saasClientPay); + } + + @Override + public void updateTypeList(List<String> list) { + for (String s : list) { + SaasClientPay saasClientPay = this.baseMapper.selectById(s); + if(saasClientPay!=null){ + saasClientPay.setType(true); + this.saveOrUpdate(saasClientPay); + } + } + } + + @Override + public List<SaasClientPayExcel> export(Map<String, Object> params) { + List<SaasClientPay> list = baseMapper.findList(new Page<>(1, -1), params); + List<SaasClientPayExcel> listVo=null; + if (!list.isEmpty()) { + listVo=new ArrayList<>(); + for (SaasClientPay saasClientPay : list) { + SaasClientPayExcel vo=new SaasClientPayExcel(); + BeanCopier beanCopier = BeanCopier.create(SaasClientPay.class, SaasClientPayExcel.class, false); + beanCopier.copy(saasClientPay,vo,null); + Double v = Double.parseDouble(saasClientPay.getPayPrice().toString())/100; + vo.setPayPrice(v); + Double vc = Double.parseDouble(saasClientPay.getPayCustom().toString())/100; + vo.setPayCustom(vc); + Double vk = Double.parseDouble(saasClientPay.getPayKidgrow().toString())/100; + vo.setPayKidgrow(vk); + listVo.add(vo); + } + } + return listVo; + } + + /** + * 获取微信和支付宝的二维码 + * @param saasClientPay + * @return + */ + @Override + public ResultBody getCode(SaasClientPay saasClientPay,HttpServletRequest request) throws Exception { + SaasClientPay modelByObject = findByObject(saasClientPay); + if(modelByObject!=null){ + String str=""; + Map<String, String> wxCode = this.getWxCode(modelByObject, request); + if(wxCode!=null){ + saasClientPay.setPrepayId(wxCode.get("prepay_id")); + str=wxCode.get("code_url"); + } + String aliCode = this.getaliPayCode(modelByObject); + List<String> list=new ArrayList<>(); + list.add(str); + list.add(aliCode); + return ResultBody.ok().data(list); + } + saasClientPay.setId(UUID.randomUUID().toString().replace("-","")); + saasClientPay.setOutTradeNo(UUID.randomUUID().toString().replace("-","")); + PayManager payManager = new PayManager(); + payManager.setDepartmentId(Long.valueOf(saasClientPay.getCreateHospitalDepartid())); + payManager.setHospitalId(saasClientPay.getCreateHospitalId()); + payManager.setIsDel(false); + payManager.setEnabled(true); + PayManager byObject = payManagerService.findByObject(payManager); + if(byObject==null){ + return ResultBody.failed().msg("该部门或医院没有开通单次支付"); + } + saasClientPay.setPayPrice(byObject.getPayPrice()*100); + saasClientPay.setPayKidgrow(byObject.getPayKidgrow()*100); + saasClientPay.setPayCustom(byObject.getPayCustom()*100); + saasClientPay.setPayStatus(0); + String str=""; + Map<String, String> wxCode = this.getWxCode(saasClientPay, request); + if(wxCode!=null){ + saasClientPay.setPrepayId(wxCode.get("prepay_id")); + str=wxCode.get("code_url"); + } + boolean b = this.saveOrUpdate(saasClientPay); + String aliCode = this.getaliPayCode(saasClientPay); + List<String> list=new ArrayList<>(); + list.add(str); + list.add(aliCode); + return ResultBody.ok().data(list); + } + /** + * 获取微信的二维码 + * @param saasClientPay + * @return + */ + public Map<String,String> getWxCode(SaasClientPay saasClientPay, HttpServletRequest request) throws Exception{ + return wxService.getCode(saasClientPay,request); + + } + /** + * 获取支付宝的二维码 + * @param saasClientPay + * @return + */ + public String getaliPayCode(SaasClientPay saasClientPay) throws Exception{ + return alipayService.getCode(saasClientPay); + } } -- Gitblit v1.8.0