From 9668e28daa836b97a5ae6440ee5b472306287732 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Tue, 22 Sep 2020 16:01:14 +0800
Subject: [PATCH] 添加支付页面的功能

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/weixin/WxController.java     |    2 
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SaasClientPayMapper.xml                                   |   91 ++++++++------
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml                                               |   24 ++++
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html                                                                   |    2 
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/SaasClientPayVo.java                    |   23 +++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/SaasClientPayExcel.java                 |   50 ++++++++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/SaasClientPay.java                   |   12 +
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/pom.xml                                                                             |    6 +
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SaasClientPayController.java |   25 +++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SaasClientPayServiceImpl.java |  104 +++++++++++++++++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/alipay/AlipayController.java |    2 
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISaasClientPayService.java         |   16 ++
 12 files changed, 306 insertions(+), 51 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/SaasClientPay.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/SaasClientPay.java
index bf59e61..9875672 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/SaasClientPay.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/SaasClientPay.java
@@ -30,6 +30,7 @@
 public class SaasClientPay {
     private static final long serialVersionUID = 1L;
 
+    @TableId(value = "id",type = IdType.UUID)
     private String id;
     /**
      * 诊断医生所在科室
@@ -77,6 +78,11 @@
     @NotEmpty(message = "关联诊断记录ID不能为空")
     private String diaId;
     /**
+     * 孩子的id
+     */
+    @NotEmpty(message = "孩子的id")
+    private String childId;
+    /**
      * 支付宝交易号  微信支付订单号
      */
     private String tradeNo;
@@ -87,11 +93,11 @@
     /**
      * 支付给喜高的费用
      */
-    private String payKidgrow;
+    private Integer payKidgrow;
     /**
-     * 支付给客户的费用
+    支付给客户的费用
      */
-    private String payCustom;
+    private Integer payCustom;
     /**
      * 支付状态
      */
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/SaasClientPayExcel.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/SaasClientPayExcel.java
new file mode 100644
index 0000000..95e6dfe
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/SaasClientPayExcel.java
@@ -0,0 +1,50 @@
+package com.kidgrow.oprationcenter.vo;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.kidgrow.common.constant.CommonConstant;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+@Data
+public class SaasClientPayExcel implements Serializable {
+    private static final long serialVersionUID = -5886012896705137070L;
+    @Excel(name = "支付id", height = 20, width = 30, isImportField = "true_st")
+    private String id;
+
+    @Excel(name = "医院名称", height = 20, width = 30, isImportField = "true_st")
+    private String createHospitalName;
+
+    @Excel(name = "科室", height = 20, width = 30, isImportField = "true_st")
+    private String createHospitalDepartment;
+
+    @Excel(name = "诊断人", height = 20, width = 30, isImportField = "true_st")
+    private String createUserName;
+
+    @Excel(name = "患者姓名", height = 20, width = 30, isImportField = "true_st")
+    private String childName;
+
+    @Excel(name = "性别", replace = { "男_0", "女_1" }, isImportField = "true_st")
+    private Integer childSex;
+
+    @Excel(name = "出生日期", format = CommonConstant.DATETIME_FORMAT, isImportField = "true_st", width = 20)
+    private Date childBirthday;
+
+    @Excel(name = "订单号", height = 20, width = 30, isImportField = "true_st")
+    private String tradeNo;
+
+    @Excel(name = "支付日期", format = CommonConstant.DATETIME_FORMAT, isImportField = "true_st", width = 20)
+    private Date payTime;
+
+    @Excel(name = "支付方式", replace = { "微信_0", "支付宝_1" }, isImportField = "true_st")
+    private Integer payMethod;
+
+    @Excel(name = "支付费用", height = 20, width = 30, isImportField = "true_st")
+    private Double payPrice;
+
+    @Excel(name = "给医生", height = 20, width = 30, isImportField = "true_st")
+    private Double payCustom;
+
+    @Excel(name = "给喜高", height = 20, width = 30, isImportField = "true_st")
+    private Double payKidgrow;
+}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/SaasClientPayVo.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/SaasClientPayVo.java
new file mode 100644
index 0000000..362980b
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/SaasClientPayVo.java
@@ -0,0 +1,23 @@
+package com.kidgrow.oprationcenter.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.kidgrow.oprationcenter.model.SaasClientPay;
+import lombok.Data;
+
+import java.util.Date;
+@Data
+public class SaasClientPayVo extends SaasClientPay {
+
+    private String childName;
+    /**
+     * 孩子的出生日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
+    private Date childBirthday;
+    /**
+     * 孩子的性别
+     */
+    private Integer childSex;
+
+    private String price;
+}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/pom.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/pom.xml
index f07a555..51b98ca 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/pom.xml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/pom.xml
@@ -25,6 +25,12 @@
             <groupId>com.kidgrow</groupId>
             <artifactId>kidgrow-usercenter-api</artifactId>
         </dependency>
+<!--        调用record-->
+        <dependency>
+            <groupId>com.kidgrow</groupId>
+            <artifactId>kidgrow-recordcenter-api</artifactId>
+            <version>1.0</version>
+        </dependency>
         <!-- 消息总线rabbitMQ -->
         <dependency>
             <groupId>org.springframework.cloud</groupId>
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISaasClientPayService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISaasClientPayService.java
index 35b7fbe..c28792a 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISaasClientPayService.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISaasClientPayService.java
@@ -4,7 +4,10 @@
 import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.service.ISuperService;
 import com.kidgrow.oprationcenter.model.SaasClientPay;
+import com.kidgrow.oprationcenter.vo.SaasClientPayExcel;
+import com.kidgrow.oprationcenter.vo.SaasClientPayVo;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -21,7 +24,7 @@
      * @param params
      * @return
      */
-    PageResult<SaasClientPay> findList(Map<String, Object> params);
+    PageResult<SaasClientPayVo> findList(Map<String, Object> params);
 
 
     /**
@@ -30,5 +33,16 @@
     * @return SaasClientPay对象
     */
     SaasClientPay findByObject(SaasClientPay saasClientPay);
+    /**
+     * 批量结算
+     * @param list
+     */
+    void updateTypeList(List<String> list);
+    /**
+     * 导出
+     * @param params
+     */
+
+    List<SaasClientPayExcel> export(Map<String, Object> params);
 }
 
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..526c75a 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,15 +1,28 @@
 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.common.utils.StringUtils;
 import com.kidgrow.oprationcenter.mapper.SaasClientPayMapper;
 import com.kidgrow.oprationcenter.model.SaasClientPay;
 import com.kidgrow.oprationcenter.service.ISaasClientPayService;
+import com.kidgrow.oprationcenter.vo.SaasClientPayExcel;
+import com.kidgrow.oprationcenter.vo.SaasClientPayVo;
+import com.kidgrow.recordcenter.feign.ChildService;
+import com.kidgrow.recordcenter.model.Child;
+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 java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -30,11 +43,52 @@
      * @param params
      * @return
      */
+    @Autowired
+    private SysDoctorService sysDoctorService;
+    @Autowired
+    private ChildService childService;
     @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+"");
+                if (StringUtils.isNotBlank(vo.getChildId())) {
+                    Map<String,Object> map=new HashMap<>();
+                    map.put("id",vo.getChildId());
+                    ResultBody byId = childService.findById(map);
+                    if(byId.getCode()==0){
+                        Child parse = JSON.parseObject(JSON.toJSONString(byId.getData()), Child.class);
+                        if(parse!=null){
+                            vo.setChildName(parse.getChildName());
+                            vo.setChildSex(parse.getChildSex());
+                            vo.setChildBirthday(parse.getChildBirthday());
+                        }
+                    }
+                }
+                listVo.add(vo);
+            }
+        }
+        return PageResult.<SaasClientPayVo>builder().data(listVo).code(0).count(page.getTotal()).build();
     }
 
     /**
@@ -46,4 +100,50 @@
     public SaasClientPay findByObject(SaasClientPay saasClientPay){
         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);
+                if (StringUtils.isNotBlank(saasClientPay.getChildId())) {
+                    Map<String,Object> map=new HashMap<>();
+                    map.put("id",saasClientPay.getChildId());
+                    ResultBody byId = childService.findById(map);
+                    if(byId.getCode()==0){
+                        Child parse = JSON.parseObject(JSON.toJSONString(byId.getData()), Child.class);
+                        if(parse!=null){
+                            vo.setChildName(parse.getChildName());
+                            vo.setChildSex(parse.getChildSex());
+                            vo.setChildBirthday(parse.getChildBirthday());
+                        }
+                    }
+                }
+                listVo.add(vo);
+            }
+        }
+        return listVo;
+    }
 }
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SaasClientPayMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SaasClientPayMapper.xml
index 5fcfbed..3d472bb 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SaasClientPayMapper.xml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SaasClientPayMapper.xml
@@ -12,66 +12,76 @@
         <where>
             <!--查询条件自行添加-->
             is_del=0
-                                    <if test="p.id != null and p.id !=''">
-                and  id =  #{p.id}
+            <if test="p.id != null and p.id !=''">
+                and id = #{p.id}
             </if>
-                                                <if test="p.createHospitalDepartment != null and p.createHospitalDepartment !=''">
-                and  create_hospital_department =  #{p.createHospitalDepartment}
+            <if test="p.createHospitalDepartment != null and p.createHospitalDepartment !=''">
+                and create_hospital_department = #{p.createHospitalDepartment}
             </if>
-                                                <if test="p.createHospitalDepartid != null and p.createHospitalDepartid !=''">
-                and  create_hospital_departid =  #{p.createHospitalDepartid}
+            <if test="p.createHospitalDepartid != null and p.createHospitalDepartid !=''">
+                and create_hospital_departid = #{p.createHospitalDepartid}
             </if>
-                                                <if test="p.createHospitalId != null and p.createHospitalId !=''">
-                and  create_hospital_id =  #{p.createHospitalId}
+            <if test="p.createHospitalId != null and p.createHospitalId !=''">
+                and create_hospital_id = #{p.createHospitalId}
             </if>
-                                                <if test="p.createHospitalName != null and p.createHospitalName !=''">
-                and  create_hospital_name =  #{p.createHospitalName}
+            <if test="p.createHospitalName != null and p.createHospitalName !=''">
+                and create_hospital_name = #{p.createHospitalName}
             </if>
-                                                <if test="p.payPrice != null and p.payPrice !=''">
-                and  pay_price =  #{p.payPrice}
+            <if test="p.payPrice != null and p.payPrice !=''">
+                and pay_price = #{p.payPrice}
             </if>
-                                                <if test="p.outTradeNo != null and p.outTradeNo !=''">
-                and  out_trade_no =  #{p.outTradeNo}
+            <if test="p.outTradeNo != null and p.outTradeNo !=''">
+                and out_trade_no = #{p.outTradeNo}
             </if>
-                                                <if test="p.payTime != null and p.payTime !=''">
-                and  pay_time =  #{p.payTime}
+            <if test="p.payTime != null and p.payTime !=''">
+                and pay_time = #{p.payTime}
             </if>
-                                                <if test="p.payStatus != null and p.payStatus !=''">
-                and  pay_status =  #{p.payStatus}
+            <if test="p.endTime != null and p.endTime !=''">
+                and DATE_FORMAT( pay_time, '%Y-%m-%d') &lt;= #{p.endTime}
             </if>
-                                                <if test="p.payMethod != null and p.payMethod !=''">
-                and  pay_method =  #{p.payMethod}
+            <if test="p.startTime != null and p.startTime !=''">
+                and DATE_FORMAT( pay_time, '%Y-%m-%d') &gt;= #{p.startTime}
             </if>
-                                                <if test="p.diaId != null and p.diaId !=''">
-                and  dia_id =  #{p.diaId}
+            <if test="p.payStatus != null and p.payStatus !=''">
+                and pay_status = #{p.payStatus}
             </if>
-                                                <if test="p.tradeNo != null and p.tradeNo !=''">
-                and  trade_no =  #{p.tradeNo}
+            <if test="p.payMethod != null and p.payMethod !=''">
+                and pay_method = #{p.payMethod}
             </if>
-                                                <if test="p.prepayId != null and p.prepayId !=''">
-                and  prepay_id =  #{p.prepayId}
+            <if test="p.diaId != null and p.diaId !=''">
+                and dia_id = #{p.diaId}
             </if>
-                                                <if test="p.createUserId != null and p.createUserId !=''">
-                and  create_user_id =  #{p.createUserId}
+            <if test="p.tradeNo != null and p.tradeNo !=''">
+                and trade_no = #{p.tradeNo}
             </if>
-                                                <if test="p.createUserName != null and p.createUserName !=''">
-                and  create_user_name =  #{p.createUserName}
+            <if test="p.prepayId != null and p.prepayId !=''">
+                and prepay_id = #{p.prepayId}
             </if>
-                                                <if test="p.updateUserId != null and p.updateUserId !=''">
-                and  update_user_id =  #{p.updateUserId}
+            <if test="p.type != null ">
+                and  type =  #{p.type}
             </if>
-                                                <if test="p.updateUserName != null and p.updateUserName !=''">
-                and  update_user_name =  #{p.updateUserName}
+            <if test="p.createUserId != null and p.createUserId !=''">
+                and create_user_id = #{p.createUserId}
             </if>
-                                                <if test="p.updateTime != null and p.updateTime !=''">
-                and  update_time =  #{p.updateTime}
+            <if test="p.createUserName != null and p.createUserName !=''">
+                and create_user_name = #{p.createUserName}
             </if>
-                                </where>
+            <if test="p.updateUserId != null and p.updateUserId !=''">
+                and update_user_id = #{p.updateUserId}
+            </if>
+            <if test="p.updateUserName != null and p.updateUserName !=''">
+                and update_user_name = #{p.updateUserName}
+            </if>
+            <if test="p.updateTime != null and p.updateTime !=''">
+                and update_time = #{p.updateTime}
+            </if>
+        </where>
     </sql>
 
     <!--定义根据-SaasClientPay当作查询条件返回对象-->
-    <select id="findByObject"  resultType="com.kidgrow.oprationcenter.model.SaasClientPay">
-        select <include refid="Column_List"/>
+    <select id="findByObject" resultType="com.kidgrow.oprationcenter.model.SaasClientPay">
+        select
+        <include refid="Column_List"/>
         from saas_client_pay
         <include refid="where"/>
         order by id desc
@@ -80,7 +90,8 @@
 
     <!--定义根据-SaasClientPay当作查询条件返回对象集合-->
     <select id="findList" resultType="com.kidgrow.oprationcenter.model.SaasClientPay">
-        select <include refid="Column_List"/>
+        select
+        <include refid="Column_List"/>
         from saas_client_pay
         <include refid="where"/>
         order by id desc
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SaasClientPayController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SaasClientPayController.java
index 68a50d2..51ee48c 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SaasClientPayController.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SaasClientPayController.java
@@ -3,8 +3,10 @@
 import com.kidgrow.common.controller.BaseController;
 import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.common.utils.ExcelUtil;
 import com.kidgrow.oprationcenter.model.SaasClientPay;
 import com.kidgrow.oprationcenter.service.ISaasClientPayService;
+import com.kidgrow.oprationcenter.vo.SaasClientPayExcel;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -15,7 +17,9 @@
 import org.springframework.validation.ObjectError;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -46,12 +50,29 @@
             @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
     })
     @GetMapping
-    public ResultBody<PageResult> list(@RequestParam Map<String, Object> params) {
+    public PageResult list(@RequestParam Map<String, Object> params) {
         if(params.size()==0){
             params.put("page",1);
             params.put("limit",10);
         }
-        return ResultBody.ok().data(saasClientPayService.findList(params));
+        return saasClientPayService.findList(params);
+    }
+    /**
+     * 批量结算
+     */
+    @ApiOperation(value = "批量结算")
+    @PostMapping("/updateTypeList")
+    public ResultBody updateTypeList(@RequestBody List<String> list) {
+         saasClientPayService.updateTypeList(list);
+         return ResultBody.ok();
+    }
+    @ApiOperation(value = "导出")
+    @PostMapping("/export")
+    public ResultBody export(@RequestParam Map<String, Object> params, HttpServletResponse response)  throws IOException {
+        List<SaasClientPayExcel> saasClientPayExcel=saasClientPayService.export(params);
+        //导出操作
+        ExcelUtil.exportExcel(saasClientPayExcel, null, "支付导出", SaasClientPayExcel.class, "saas_client_pay", response);
+        return ResultBody.ok().msg("导出成功");
     }
 
     /**
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/alipay/AlipayController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/alipay/AlipayController.java
index eab0b5c..8628572 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/alipay/AlipayController.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/alipay/AlipayController.java
@@ -77,7 +77,7 @@
             return ResultBody.failed().data("生成二维码失败");
         }
         String content=alipayTradePrecreateResponse.getQrCode();
-        String base64 = QRCodeUtil.creatRrCode(content, 200, 200, 0);
+        String base64 = QRCodeUtil.creatRrCode(content, 200, 200, 0).replaceAll("\n","").replaceAll("\r","");
         System.out.println(base64);
         return ResultBody.ok().data(base64);
     }
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/weixin/WxController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/weixin/WxController.java
index 3a2ed62..4f7da27 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/weixin/WxController.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/weixin/WxController.java
@@ -87,7 +87,7 @@
         saasClientPay.setPayMethod(0);
         saasClientPay.setDiaId("1");
         boolean save = iSaasClientPayService.saveOrUpdate(saasClientPay);
-        String s = QRCodeUtil.creatRrCode(resultStr, 200, 200, 0);
+        String s = QRCodeUtil.creatRrCode(resultStr, 200, 200, 0).replaceAll("\n","").replaceAll("\r","");
         return ResultBody.ok().data(s);
     }
     @RequestMapping("/callback")
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
index 407a8ee..133bc9c 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
@@ -90,8 +90,32 @@
       - product_order
       - product_order_detail
       - product_order_record
+      - saas_client_pay
     ignoreSqls:
       - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll
       - com.kidgrow.oprationcenter.mapper.ConsumptionRecordMapper.findDetailList
 
 
+pay:
+  #微信app支付
+  wxpay:
+    app:
+      appID: wx84c77dcda51c612c
+      mchID: 1386873502
+      key: GSFcX6WdgRTAS6154EW14WE3SGBSER49
+      certPath: D:\develop\chengxu\houtai\3cc.txt # 从微信商户平台下载的安全证书存放的路径、我放在resources下面,切记一定要看看target目录下的class文件下有没有打包apiclient_cert.p12文件
+      payNotifyUrl: http://open.zuul.kidgrow.cloud/api-record/wxController/callback # 微信支付成功的异步通知接口
+  #支付宝app支付
+  alipay:
+    appId: 2017021705718280
+    gatewayUrl: https://openapi.alipay.com/gateway.do
+    format: JSON
+    charset: utf-8
+    signType: RSA2
+    returnUrl: http://open.zuul.kidgrow.cloud/api-record/alipay/return
+    notifyUrl: http://open.zuul.kidgrow.cloud/api-record/alipay/notify
+    app-private-key: MIIEowIBAAKCAQEA9wDq+cxVvN3q3sUdqku/vHGwddzj5a7Re1ixbDZUPX/8CLvMTPZo8qJ0j14HxnjgVMCX3Wo1u5L4zPlqXzW5UVhPuVUnr5VToRGrOspOZBfY81gj/fJGmF2Mln0XlSqeoPRAS9SGEdEa9S87mAX3BjtyZhU2a7gxnd1/ca2QJxwgMXLX00MJl3ZrpngVFYXR/s16MV87FVq+Gfhk8tTPT25PVfufUmS7RRbiZriirNQPOYgCKQ4mi03oAGXTZGS2I3V59iph2ui89IJm4iS11t4RLqQf8Yyr+Z0rTaIfqJPQ9QMaJdl1VRaFU2jGToGIWpVe7eP/mWfG4ZBYlrVvhQIDAQABAoIBADVgG2bTgwuHIQP2sIxmRg6gurMdgpnVhysSZXSu4NFRYNM6UdGnxdH4zRtWBHQdFsz5uVd9ZhMclWsl0pi0cVFktgWkoyjMKgA6YzgXE42JobYkK9LqkdrHDGRQr9HqHdFGNsasLDSZbSvigww87b6JBhWNK+9nJEGq5alZCjeI7bTK8YlFmOlgRJ6oe1tzmYOpQMDwsZoWFx9xN9+SHursZ8bQymTRLcfZIt6vMK8rv0L/MIhxCC51hxT88gyT5Pm4087c30qbS5IlpeKqPC0TkVuvRgASZ348dP09Lf6KpAf06cMixeu0SSCGVOGyqCDgI/yn2H9XCk6++HyyCNkCgYEA/fNmCoBMSbhayyAU9TF/UPF9Msyy465JuHp1yKYJaM1L/a2C3YG7gjO8tvVxq64qFH62b4XU+Qq/arIHHdiGObzLN101oRtAqCMG8IWgM1Rd66HvEwyOnroqZarSnSmg1Uwktz9qFdmRGhGB4ePGfDWQ6yxm7l9H/U/VHalFOF8CgYEA+P8rBSP7AyKDGOXiPRFFkuOK++bxWQ0yC0V7m/XYsihqEfhunMPoHlUDpHM6d571ftHXCljdQ+0hK7xGXAD4Tqyf9wsK+/oRwOrEdHCLU9k8iFVYbo5KO/IwqXpsrlrI2ragPod8xETIGzxqm9IsSDQNXcvnViZI09cxyj6OcpsCgYArK6ZsIJVXbuyYXVLSv+BZ3UOgUCYVCHrlzoOZYYh19Xh2nnmBuF0s7CinnZ/+RHRI2aWf3ctvrsENnUgSbc2boRmWxtSoF57tNk8mskCimTQCK5wdy+Ou3gz5DYoSR5Jc0D3pnPEm176QBOvkf7ktQlnpcLnqye3OBTVAfpcS1wKBgQCOm55pCE14YyjQdsFXlm/RjC8KzR9HkI4r9HSyQ2ED0K/HcRDxCicEUE6QvkorPsh+BPLzgyffAo4v/VoS0Z9ld+r6U8HLxVKrugogYmD5+f54WuEWGLqdkL2cI3jhdy94TIaEqZak1nwBVV39tqcUB3PsV588MRse8S4cFi4BpwKBgEZTMUcEQ2pHIrcVZXHSp5GTBXY70J5xCh+uO5F4iBhmVWaqOECi1/c6Nz3SYyizsIspZG3gzYvEoe7KVaMmkCWlRW0NcXMuN0KnE70J4YoFw3WhWKNh0zQAL57lMAQkPoZVusYePCQyct9j7EboNoPgyB2CvKU152FJkkl1c4XB
+    alipay-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlxD+qCFXTnJrwbGgKPNEcZqrPpHnNoJDTdP+zhWI7ABv/rASfOhWZi56vyQhKldgbc01VBFa0myTpECHlPMZn32DGNg8DIxuV+LEIT+l2Lqjn4wQtX3zUNPHR3bTZlMEVw9JYQZI+XR2i4ZWoOszo6ahAO9SxEuNUlsCSBDMEIPaEjGJmu57X+os8TRlgj8Mxo90JVqSZlRq7eFc7wVTMe5e9p9ITctdiB+utkO0/rSh4T+VUaV1zNk8/n5jh0xDSXL4QdEe832Naeu67Y6w6vezkvF9GUwEmfJqs6PH3sF1gOKgjakbFXauEOJXnXEdyMmOKhG93jT+9GtvV/ywmwIDAQAB
+
+
+
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html
index b243578..c71802e 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/dataNeed.html
@@ -268,7 +268,7 @@
             xhr.setRequestHeader("Authorization", "Bearer " + config.getToken().access_token);
             xhr.onload = function () {
                 if (this.status == 200) {
-                    var fileName = "user.xlsx";
+                    var fileName = "数据需求.xlsx";
                     var blob = this.response;
                     var a = document.createElement('a');
                     a.innerHTML = fileName;

--
Gitblit v1.8.0