Browse Source

获取绑定用户和欠费信息

zr 1 year ago
parent
commit
5cfcb637c4

+ 3 - 3
collect-fees/collect-fees-service/src/main/java/com/tofly/fees/wechatwebsite/controller/BindCustomerController.java

@@ -1,4 +1,4 @@
-package com.tofly.fees.wechatwebsite.controller;
+package com.tofly.fees.wechatpay.controller;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -33,8 +33,8 @@ import java.util.List;
 
 @RestController
 @AllArgsConstructor
-@RequestMapping("/api/wechatwebsite/BindCustomer")
-@Api(tags="微网厅-用户绑定接口")
+@RequestMapping("/api/wechatpay/BindCustomer")
+@Api(tags="微网厅-用户绑定接口1")
 public class BindCustomerController {
 
     private final DaCustomerService daCustomerService;

+ 2 - 2
collect-fees/collect-fees-service/src/main/java/com/tofly/fees/wechatwebsite/controller_easy/BindCustomerEasyController.java

@@ -1,4 +1,4 @@
-package com.tofly.fees.wechatwebsite.controller_easy;
+package com.tofly.fees.wechatpay.controller_easy;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.tofly.common.core.entity.ResultRespone;
@@ -27,7 +27,7 @@ import java.util.*;
 
 @RestController
 @AllArgsConstructor
-@RequestMapping("/api/wechatwebsite/BindCustomer")
+@RequestMapping("/api/wechatpay/customerInfo")
 @Api(tags="微网厅-用户绑定接口")
 public class BindCustomerEasyController {
 

+ 344 - 0
collect-fees/collect-fees-service/src/main/java/com/tofly/fees/wechatwebsite/controller/BindCustomerWController.java

@@ -0,0 +1,344 @@
+package com.tofly.fees.wechatwebsite.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.tofly.common.core.entity.ResultRespone;
+import com.tofly.fees.meterprofilemgt.entity.DaMeter;
+import com.tofly.fees.meterprofilemgt.service.DaMeterService;
+import com.tofly.fees.userprofilemgt.entity.DaCustomer;
+import com.tofly.fees.userprofilemgt.service.DaCustomerService;
+import com.tofly.fees.wechatbasicmgt.entity.WxCustomer;
+import com.tofly.fees.wechatbasicmgt.entity.WxCustomerHis;
+import com.tofly.fees.wechatbasicmgt.service.WxCustomerHisService;
+import com.tofly.fees.wechatbasicmgt.service.WxCustomerService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/api/wechatwebsite/BindCustomer")
+@Api(tags="微网厅-用户绑定接口")
+public class BindCustomerWController {
+
+    private final DaCustomerService daCustomerService;
+    private final WxCustomerService wxCustomerService;
+    private final WxCustomerHisService wxCustomerHisService;
+    private final DaMeterService daMeterService;
+
+
+
+    @GetMapping("/selectCustomer" )
+    @ApiOperation(value = "查询用户")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "openid", value = "微信openid", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "customerNo", value = "客户编号", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "customerName", value = "客户姓名", required = true, dataType = "String")
+    })
+    public ResultRespone  selectCustomer(HttpServletResponse response, @RequestParam("openid") String openid, @RequestParam("customerNo") String customerNo, @RequestParam("customerName") String customerName) throws IOException {
+
+        ResultRespone<Object> resultModel = new ResultRespone<>();
+        resultModel.setCode(0);
+
+        //region 参数验证
+        //验证
+        if (StringUtils.isBlank(customerNo)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("客户编号不能为空!");
+            return resultModel;
+        }
+        if (StringUtils.isBlank(customerName)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("客户名称不能为空!");
+            return resultModel;
+        }
+        //endregion
+
+        QueryWrapper<DaCustomer> queryWrapper = new QueryWrapper<DaCustomer>();
+
+        queryWrapper.eq("customer_no",customerNo).notIn("customer_state", '3','4');
+        List<DaCustomer> daCustomerList = daCustomerService.list(queryWrapper);
+        if (daCustomerList.size()==0) {
+            resultModel.setCode(1);
+            resultModel.setMessage("客户名称不存在!");
+            return resultModel;
+        }
+        queryWrapper.clear();
+        queryWrapper.eq("customer_no",customerNo).notIn("customer_state",'3','4').like("customer_name",customerName);
+        daCustomerList = daCustomerService.list(queryWrapper);
+        if (daCustomerList.size()==0 || daCustomerList.size()>1) {
+            resultModel.setCode(1);
+            resultModel.setMessage("客户名称不匹配,请重新输入!");
+            return resultModel;
+        }
+        QueryWrapper<WxCustomer> queryWrapperWx = new QueryWrapper<WxCustomer>();
+        queryWrapperWx.eq("customer_no",customerNo).eq("openid",openid);
+        List<WxCustomer> wxCustomerList = wxCustomerService.list(queryWrapperWx);
+        if ( wxCustomerList.size()>0)
+        {
+
+            if ( !StringUtils.isBlank(wxCustomerList.get(0).getBindFlag()) && wxCustomerList.get(0).getBindFlag()=="1")
+            {
+                resultModel.setCode(3);
+                resultModel.setMessage("该收费号已绑定微信!");
+                return resultModel;
+            }
+        }
+        queryWrapperWx.clear();
+        queryWrapperWx.eq("openid",openid).eq("bind_flag","1");
+        wxCustomerList = wxCustomerService.list(queryWrapperWx);
+
+        if ( wxCustomerList.size()>10)
+        {
+            resultModel.setCode(5);
+            resultModel.setMessage("此微信已绑定满10个收费号!");
+            return resultModel;
+        }
+        queryWrapperWx.clear();
+        queryWrapperWx.eq("customer_no",customerNo).eq("bind_flag","1");
+        wxCustomerList = wxCustomerService.list(queryWrapperWx);
+
+        if ( wxCustomerList.size()>10)
+        {
+            resultModel.setCode(5);
+            resultModel.setMessage("此收费号已绑定满10个微信号!");
+            return resultModel;
+        }
+
+        QueryWrapper<DaMeter> queryWrapperDaMeter = new QueryWrapper<DaMeter>();
+        queryWrapperDaMeter.eq("customer_no",customerNo).in("meter_type",'1');
+        List<DaMeter> daMeterList = daMeterService.list(queryWrapperDaMeter);
+
+        if ( daMeterList.size()>0)
+        {
+            resultModel.setCode(6);
+            resultModel.setMessage("IC卡用户不能绑定,请持卡到营业点缴费!!");
+            return resultModel;
+        }
+
+        //region 业务处理
+        queryWrapper.clear();
+        queryWrapper.eq("customer_no",customerNo);
+        daCustomerList = daCustomerService.list(queryWrapper);
+        resultModel.setResult(daCustomerList.get(0));
+        resultModel.setMessage("成功!");
+        //endregion
+        return resultModel;
+    }
+
+    @PostMapping ("/addCustomer" )
+    @ApiOperation(value = "添加用户")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "openid", value = "微信openid", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "customerNo", value = "客户编号", required = true, dataType = "String")
+    })
+    public ResultRespone  addCustomer(@RequestParam("openid") String openid, @RequestParam("customerNo") String customerNo) throws IOException {
+
+        ResultRespone<Object> resultModel = new ResultRespone<>();
+        resultModel.setCode(0);
+        //region 参数验证
+        //验证
+        if (StringUtils.isBlank(customerNo)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("客户编号不能为空!");
+            return resultModel;
+        }
+        if (StringUtils.isBlank(openid)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("微信openid不能为空!");
+            return resultModel;
+        }
+        //endregion
+
+        QueryWrapper<DaCustomer> queryWrapper = new QueryWrapper<DaCustomer>();
+
+        queryWrapper.eq("customer_no",customerNo).notIn("customer_state",'3','4');
+        List<DaCustomer> daCustomerList = daCustomerService.list(queryWrapper);
+        if (daCustomerList.size()==0) {
+            resultModel.setCode(1);
+            resultModel.setMessage("客户名称不存在!");
+            return resultModel;
+        }
+
+        QueryWrapper<WxCustomer> queryWrapperWx = new QueryWrapper<WxCustomer>();
+        queryWrapperWx.eq("customer_no",customerNo).eq("openid",openid);
+        List<WxCustomer> wxCustomerList = wxCustomerService.list(queryWrapperWx);
+        if(wxCustomerList.size()>0) {
+            if (!StringUtils.isBlank(wxCustomerList.get(0).getBindFlag()) && wxCustomerList.get(0).getBindFlag() == "1") {
+                resultModel.setCode(3);
+                resultModel.setMessage("该收费号已绑定微信!");
+                return resultModel;
+            }
+       }
+
+        //region 业务处理
+        queryWrapper.clear();
+        queryWrapper.eq("customer_no",customerNo);
+        daCustomerList = daCustomerService.list(queryWrapper);
+        WxCustomer wxCustomer=new WxCustomer();
+        if ( wxCustomerList.size()>0 )
+        {
+
+            wxCustomer=wxCustomerList.get(0);
+            wxCustomer.setBindFlag("1");
+            wxCustomer.setName(daCustomerList.get(0).getCustomerName());
+            wxCustomer.setAddress(daCustomerList.get(0).getCustomerAddress());
+            wxCustomer.setPhone(daCustomerList.get(0).getCustomerPhone());
+            wxCustomer.setBindDate(new Date());
+             if (wxCustomerService.update(wxCustomer,queryWrapperWx)) {
+                resultModel.setCode(0);
+                resultModel.setMessage("绑定成功!");
+            }
+            else
+            {
+                resultModel.setCode(-1);
+                resultModel.setMessage("绑定失败!");
+            }
+        }
+        else
+        {
+            wxCustomer.setCustomerNo(customerNo);
+            wxCustomer.setOpenid(openid);
+            wxCustomer.setBindFlag("1");
+            wxCustomer.setName(daCustomerList.get(0).getCustomerName());
+            wxCustomer.setAddress(daCustomerList.get(0).getCustomerAddress());
+            wxCustomer.setPhone(daCustomerList.get(0).getCustomerPhone());
+            wxCustomer.setBindDate(new Date());
+            if (wxCustomerService.save(wxCustomer)) {
+                resultModel.setCode(0);
+                resultModel.setMessage("绑定成功!");
+            }
+            else
+            {
+                resultModel.setCode(-1);
+                resultModel.setMessage("绑定失败!");
+            }
+        }
+
+        //endregion
+        return resultModel;
+    }
+
+    @PostMapping ("/removeCustomer" )
+    @ApiOperation(value = "刪除用户")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "openid", value = "微信openid", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "customerNo", value = "客户编号", required = true, dataType = "String")
+    })
+    public ResultRespone  deleteCustomer(@RequestParam("openid") String openid, @RequestParam("customerNo") String customerNo) throws IOException {
+
+        ResultRespone<Object> resultModel = new ResultRespone<>();
+        resultModel.setCode(0);
+        //region 参数验证
+        //验证
+        if (StringUtils.isBlank(customerNo)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("客户编号不能为空!");
+            return resultModel;
+        }
+        if (StringUtils.isBlank(openid)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("微信openid不能为空!");
+            return resultModel;
+        }
+        //endregion
+
+
+        QueryWrapper<WxCustomer> queryWrapperWx = new QueryWrapper<WxCustomer>();
+        queryWrapperWx.eq("customer_no",customerNo).eq("openid",openid);
+        List<WxCustomer> wxCustomerList = wxCustomerService.list(queryWrapperWx);
+        WxCustomer wxCustomer =new WxCustomer();
+        WxCustomerHis wxCustomerHis=new WxCustomerHis();
+        if(wxCustomerList.size()>0) {
+            wxCustomer=wxCustomerList.get(0);
+            int id=  wxCustomerHisService.SelectChargeMaxCode();
+            wxCustomerHis.setId(id+1);
+            wxCustomerHis.setCustomerNo(wxCustomer.getCustomerNo());
+            wxCustomerHis.setName(wxCustomer.getName());
+            wxCustomerHis.setAddress(wxCustomer.getAddress());
+            wxCustomerHis.setPhone(wxCustomer.getPhone());
+            wxCustomerHis.setBindFlag(wxCustomer.getBindFlag());
+            wxCustomerHis.setOpenid(wxCustomer.getOpenid());
+            wxCustomerHis.setBindDate(wxCustomer.getBindDate());
+            wxCustomerHis.setBindRemark(wxCustomer.getBindRemark());
+            wxCustomerHis.setBindWxname(wxCustomer.getBindWxname());
+            wxCustomerHis.setBindSex(wxCustomer.getBindSex());
+            wxCustomerHis.setUnbindDate(new Date());
+            wxCustomerHis.setUnbindName("本人");
+            wxCustomerHis.setUnbindRemark("自愿");
+            boolean saveWxCustomerHis = wxCustomerHisService.save(wxCustomerHis);
+            wxCustomer.setBindFlag("0");
+            wxCustomer.setUnbindDate(new Date());
+            wxCustomer.setUnbindName("本人");
+            wxCustomer.setUnbindRemark("自愿");
+            boolean updatewxCustomer = wxCustomerService.update(wxCustomer, queryWrapperWx);
+            if (saveWxCustomerHis && updatewxCustomer)
+            {
+                resultModel.setCode(0);
+                resultModel.setMessage("解绑成功!");
+            }
+            else
+            {resultModel.setCode(-1);
+                resultModel.setMessage("解绑失败!");}
+
+        }
+        else
+        {resultModel.setCode(-1);
+            resultModel.setMessage("解绑失败!");}
+
+        //region 业务处理
+
+
+        //endregion
+        return resultModel;
+    }
+
+    @GetMapping("/getBindCustomer" )
+    @ApiOperation(value = "获取绑定用户")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "openid", value = "微信openid", required = true, dataType = "String")
+    })
+    public ResultRespone  getBindCustomer( @RequestParam("openid") String openid) {
+
+        ResultRespone<Object> resultModel = new ResultRespone<>();
+        resultModel.setCode(0);
+
+        //region 参数验证
+        //验证
+        if (StringUtils.isBlank(openid)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("传入微信编号不能为空!");
+            return resultModel;
+        }
+
+        //endregion
+
+        QueryWrapper<WxCustomer> queryWrapperWx = new QueryWrapper<WxCustomer>();
+        queryWrapperWx.eq("openid",openid).eq("bind_flag","1").orderByAsc("customer_no");
+        List<WxCustomer> wxCustomerList = wxCustomerService.list(queryWrapperWx);
+        if ( wxCustomerList.size()==0)
+        {
+                resultModel.setCode(1);
+                resultModel.setMessage("请绑定用户!");
+                return resultModel;
+        }
+
+
+        //region 业务处理
+
+        resultModel.setResult(wxCustomerList);
+        resultModel.setMessage("成功!");
+        //endregion
+        return resultModel;
+    }
+
+
+}

+ 374 - 0
collect-fees/collect-fees-service/src/main/java/com/tofly/fees/wechatwebsite/controller_easy/BindCustomerWEasyController.java

@@ -0,0 +1,374 @@
+package com.tofly.fees.wechatwebsite.controller_easy;
+
+import com.tofly.common.core.entity.ResultRespone;
+import com.tofly.fees.common.dbhelper.DbHelper;
+import com.tofly.fees.common.enums.SysEnum;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/api/wechatwebsite/customerInfo")
+@Api(tags="微网厅-用户绑定接口")
+public class BindCustomerWEasyController {
+
+
+    @GetMapping("/getCustomerInFo" )
+    @ApiOperation(value = "[Easy]获取用户欠费和余额信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "customerNo", value = "客户编号", required = true, dataType = "String")
+    })
+    public ResultRespone  getCustomerInFo( @RequestParam("customerNo") String customerNo) throws Exception {
+
+        ResultRespone<Object> resultModel = new ResultRespone<>();
+        resultModel.setCode(0);
+
+        //region 参数验证
+        //验证
+        if (StringUtils.isBlank(customerNo)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("用户编号不能为空!");
+            return resultModel;
+        }
+
+        //endregion
+
+
+
+        //region 业务处理
+        DbHelper db = DbHelper.getDbHelper();
+        List<HashMap<String,Object>> arrayList=new ArrayList<>();
+        //参数
+        Map<String,Object> params = new HashMap<>();
+        params.put("V_CUSTOMERNO",customerNo);
+        params.put("V_CUR",arrayList) ;
+        params.put("V_SFCG","0") ;
+
+        //这里要注意参数前面的map固定写法不然读取不了数据
+        Map mp = db.procurdeCmd("{call PROC_Agentfee_customerinfo(" +
+                "#{V_CUSTOMERNO,mode=IN,jdbcType=VARCHAR}," +
+                "#{V_CUR,mode=OUT,jdbcType=CURSOR},"+
+                "#{V_SFCG,mode=OUT,jdbcType=VARCHAR}"+
+                ")}",params, SysEnum.MyBatis.getName());
+
+        //存储过程返回的参数
+        ArrayList<Object> arr=(ArrayList<Object>)mp.get("V_CUR");
+        if (mp.get("V_SFCG").equals("1")) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("查询失败(未知原因)!");
+            return resultModel;
+        }else if (mp.get("V_SFCG").equals("2")) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("查询失败(用户不存在)");
+            return resultModel;
+        }else if (mp.get("V_SFCG").equals("3")) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("查询失败(扎账时间不能缴费,请明天再试,谢谢)!");
+            return resultModel;
+        }else if (mp.get("V_SFCG").equals("4")) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("上次缴费下发未完成,不能继续缴费,请稍后再试,谢谢!");
+            return resultModel;
+        }else if (mp.get("V_SFCG").equals("5")) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("上次充值未上表,不能继续缴费,请上表后再试,谢谢!");
+            return resultModel;
+        }else if (mp.get("V_SFCG").equals("-999")) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("查询失败(逻辑错误)!");
+            return resultModel;
+        }
+        else{
+            resultModel.setResult(arr.get(0));
+            resultModel.setMessage("成功!");
+
+            return resultModel;
+        }
+        //endregion
+    }
+
+    @GetMapping("/getCustomerBasicInFo" )
+    @ApiOperation(value = "[Easy]获取用户基础信息(总预存,扣减,余额,欠费等)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "customerNo", value = "客户编号", required = true, dataType = "String")
+    })
+    public ResultRespone  getCustomerBasicInFo( @RequestParam("customerNo") String customerNo) throws Exception {
+
+        ResultRespone<Object> resultModel = new ResultRespone<>();
+        resultModel.setCode(0);
+
+        //region 参数验证
+        //验证
+        if (StringUtils.isBlank(customerNo)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("用户编号不能为空!");
+            return resultModel;
+        }
+
+        //endregion
+
+
+
+        //region 业务处理
+        DbHelper db = DbHelper.getDbHelper();
+        List<HashMap<String,Object>> arrayList=new ArrayList<>();
+        //参数
+        Map<String,Object> params = new HashMap<>();
+        params.put("V_CUSTOMERNO",customerNo);
+        params.put("V_CUR",arrayList) ;
+        params.put("V_SFCG","0") ;
+
+        //这里要注意参数前面的map固定写法不然读取不了数据
+        Map mp = db.procurdeCmd("{call PROC_AGENTFEE_CXCUSTOMERINFO(" +
+                "#{V_CUSTOMERNO,mode=IN,jdbcType=VARCHAR}," +
+                "#{V_CUR,mode=OUT,jdbcType=CURSOR},"+
+                "#{V_SFCG,mode=OUT,jdbcType=VARCHAR}"+
+                ")}",params, SysEnum.MyBatis.getName());
+
+        //存储过程返回的参数
+        ArrayList<Object> arr=(ArrayList<Object>)mp.get("V_CUR");
+        if (mp.get("V_SFCG").equals("1")) {
+            resultModel.setResult(arr.get(0));
+            resultModel.setMessage("成功!");
+            return resultModel;
+
+        }
+        else{
+
+            resultModel.setCode(-1);
+            resultModel.setMessage("查询失败!");
+            return resultModel;
+        }
+        //endregion
+    }
+
+    @GetMapping("/getCustomerReadMeterInFo" )
+    @ApiOperation(value = "[Easy]获取用户抄表明细")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "customerNo", value = "客户编号", required = true, dataType = "String")
+    })
+    public ResultRespone  getCustomerReadMeterInFo( @RequestParam("customerNo") String customerNo) throws Exception {
+
+        ResultRespone<Object> resultModel = new ResultRespone<>();
+        resultModel.setCode(0);
+
+        //region 参数验证
+        //验证
+        if (StringUtils.isBlank(customerNo)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("用户编号不能为空!");
+            return resultModel;
+        }
+
+        //endregion
+
+
+
+        //region 业务处理
+        DbHelper db = DbHelper.getDbHelper();
+        List<HashMap<String,Object>> arrayList=new ArrayList<>();
+        //参数
+        Map<String,Object> params = new HashMap<>();
+        params.put("V_CUSTOMERNO",customerNo);
+        params.put("V_CUR",arrayList) ;
+        params.put("V_SFCG","0") ;
+
+        //这里要注意参数前面的map固定写法不然读取不了数据
+        Map mp = db.procurdeCmd("{call PROC_AGENTFEE_CXCBINFO(" +
+                "#{V_CUSTOMERNO,mode=IN,jdbcType=VARCHAR}," +
+                "#{V_CUR,mode=OUT,jdbcType=CURSOR},"+
+                "#{V_SFCG,mode=OUT,jdbcType=VARCHAR}"+
+                ")}",params, SysEnum.MyBatis.getName());
+
+        //存储过程返回的参数
+        ArrayList<Object> arr=(ArrayList<Object>)mp.get("V_CUR");
+        if (mp.get("V_SFCG").equals("1")) {
+
+            resultModel.setResult(arr);
+            resultModel.setMessage("成功!");
+            return resultModel;
+        }
+        else{
+            resultModel.setCode(-1);
+            resultModel.setMessage("查询失败(未知原因)!");
+            return resultModel;
+        }
+        //endregion
+    }
+
+
+    @GetMapping("/getCustomerQfInFo" )
+    @ApiOperation(value = "[Easy]获取用户欠费明细")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "customerNo", value = "客户编号", required = true, dataType = "String")
+    })
+    public ResultRespone  getCustomerQfInFo( @RequestParam("customerNo") String customerNo) throws Exception {
+
+        ResultRespone<Object> resultModel = new ResultRespone<>();
+        resultModel.setCode(0);
+
+        //region 参数验证
+        //验证
+        if (StringUtils.isBlank(customerNo)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("用户编号不能为空!");
+            return resultModel;
+        }
+
+        //endregion
+
+
+
+        //region 业务处理
+        DbHelper db = DbHelper.getDbHelper();
+        List<HashMap<String,Object>> arrayList=new ArrayList<>();
+        //参数
+        Map<String,Object> params = new HashMap<>();
+        params.put("V_CUSTOMERNO",customerNo);
+        params.put("V_CUR",arrayList) ;
+        params.put("V_SFCG","0") ;
+
+        //这里要注意参数前面的map固定写法不然读取不了数据
+        Map mp = db.procurdeCmd("{call PROC_AGENTFEE_CXQFINFO(" +
+                "#{V_CUSTOMERNO,mode=IN,jdbcType=VARCHAR}," +
+                "#{V_CUR,mode=OUT,jdbcType=CURSOR},"+
+                "#{V_SFCG,mode=OUT,jdbcType=VARCHAR}"+
+                ")}",params, SysEnum.MyBatis.getName());
+
+        //存储过程返回的参数
+        ArrayList<Object> arr=(ArrayList<Object>)mp.get("V_CUR");
+        if (mp.get("V_SFCG").equals("1")) {
+
+            resultModel.setResult(arr);
+            resultModel.setMessage("成功!");
+            return resultModel;
+        }
+        else{
+            resultModel.setCode(-1);
+            resultModel.setMessage("查询失败(未知原因)!");
+            return resultModel;
+        }
+        //endregion
+    }
+
+    @GetMapping("/getCustomerChargeInFo" )
+    @ApiOperation(value = "[Easy]获取用户交易明细")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "customerNo", value = "客户编号", required = true, dataType = "String")
+    })
+    public ResultRespone  getCustomerChargeInFo( @RequestParam("customerNo") String customerNo) throws Exception {
+
+        ResultRespone<Object> resultModel = new ResultRespone<>();
+        resultModel.setCode(0);
+
+        //region 参数验证
+        //验证
+        if (StringUtils.isBlank(customerNo)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("用户编号不能为空!");
+            return resultModel;
+        }
+
+        //endregion
+
+
+
+        //region 业务处理
+        DbHelper db = DbHelper.getDbHelper();
+        List<HashMap<String,Object>> arrayList=new ArrayList<>();
+        //参数
+        Map<String,Object> params = new HashMap<>();
+        params.put("V_CUSTOMERNO",customerNo);
+        params.put("V_CUR",arrayList) ;
+        params.put("V_SFCG","0") ;
+
+        //这里要注意参数前面的map固定写法不然读取不了数据
+        Map mp = db.procurdeCmd("{call PROC_AGENTFEE_CXSFINFO(" +
+                "#{V_CUSTOMERNO,mode=IN,jdbcType=VARCHAR}," +
+                "#{V_CUR,mode=OUT,jdbcType=CURSOR},"+
+                "#{V_SFCG,mode=OUT,jdbcType=VARCHAR}"+
+                ")}",params, SysEnum.MyBatis.getName());
+
+        //存储过程返回的参数
+        ArrayList<Object> arr=(ArrayList<Object>)mp.get("V_CUR");
+        if (mp.get("V_SFCG").equals("1")) {
+
+            resultModel.setResult(arr);
+            resultModel.setMessage("成功!");
+            return resultModel;
+        }
+        else{
+            resultModel.setCode(-1);
+            resultModel.setMessage("查询失败(未知原因)!");
+            return resultModel;
+        }
+        //endregion
+    }
+
+    @GetMapping("/getBindCustomerAndQf" )
+    @ApiOperation(value = "[Easy]获取绑定用户和欠费信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "openid", value = "微信id", required = true, dataType = "String")
+    })
+    public ResultRespone  getBindCustomerAndQf( @RequestParam("openid") String openid) throws Exception {
+
+        ResultRespone<Object> resultModel = new ResultRespone<>();
+        resultModel.setCode(0);
+
+        //region 参数验证
+        //验证
+        if (StringUtils.isBlank(openid)) {
+            resultModel.setCode(-1);
+            resultModel.setMessage("微信id不能为空!");
+            return resultModel;
+        }
+
+        //endregion
+
+
+
+        //region 业务处理
+        DbHelper db = DbHelper.getDbHelper();
+        List<HashMap<String,Object>> arrayList=new ArrayList<>();
+        //参数
+        Map<String,Object> params = new HashMap<>();
+        params.put("V_OPENID",openid);
+        params.put("V_CUR",arrayList) ;
+        params.put("V_SFCG","0") ;
+
+        //这里要注意参数前面的map固定写法不然读取不了数据
+        Map mp = db.procurdeCmd("{call PROC_AGENTFEE_CXBINDCUSTOMERQF(" +
+                "#{V_OPENID,mode=IN,jdbcType=VARCHAR}," +
+                "#{V_CUR,mode=OUT,jdbcType=CURSOR},"+
+                "#{V_SFCG,mode=OUT,jdbcType=VARCHAR}"+
+                ")}",params, SysEnum.MyBatis.getName());
+
+        //存储过程返回的参数
+        ArrayList<Object> arr=(ArrayList<Object>)mp.get("V_CUR");
+        if (mp.get("V_SFCG").equals("1")) {
+
+            resultModel.setResult(arr);
+            resultModel.setMessage("成功!");
+            return resultModel;
+        }
+        else{
+            resultModel.setCode(-1);
+            resultModel.setMessage("查询失败(未知原因)!");
+            return resultModel;
+        }
+        //endregion
+    }
+}