|
@@ -1,20 +1,34 @@
|
|
|
package com.szwl.controller;
|
|
|
|
|
|
|
|
|
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
|
|
+import cn.afterturn.easypoi.excel.entity.ExportParams;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.szwl.constant.ResponseCodesEnum;
|
|
|
import com.szwl.model.bo.R;
|
|
|
import com.szwl.model.bo.ResponseModel;
|
|
|
import com.szwl.model.entity.*;
|
|
|
+import com.szwl.model.excel.ShandeMchCompanyListTarget;
|
|
|
+import com.szwl.model.excel.ShandeMchListTarget;
|
|
|
import com.szwl.service.TAdminService;
|
|
|
import com.szwl.service.TShandeMchCheckService;
|
|
|
import com.szwl.service.TShandeMchService;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
+import org.apache.poi.ss.usermodel.Workbook;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.OutputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.net.URLEncoder;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -36,56 +50,74 @@ public class TShandeMchController {
|
|
|
@Autowired
|
|
|
TAdminService adminService;
|
|
|
@ApiOperation(value = "查找杉德收款账户信息")
|
|
|
- @PostMapping("/getOne")
|
|
|
- public ResponseModel<?> findById(Long id, String username) {
|
|
|
- TAdmin admin = adminService.getById(id);
|
|
|
- if(!admin.getUsername().equals(username)){
|
|
|
- return R.fail("username不符合!");
|
|
|
- }
|
|
|
+ @GetMapping("/getOne")
|
|
|
+ public ResponseModel<?> getOne(String adminId) {
|
|
|
+ TAdmin admin = adminService.getById(adminId);
|
|
|
LambdaQueryWrapper<TShandeMch> query = Wrappers.lambdaQuery();
|
|
|
- query.eq(TShandeMch::getAdminId,id);
|
|
|
+ query.eq(TShandeMch::getAdminId,adminId);
|
|
|
List<TShandeMch> list = tShandeMchService.list(query);
|
|
|
if(list.size()>0){
|
|
|
- //已经注册,就要查看是否有提交审核的
|
|
|
- LambdaQueryWrapper<TShandeMchCheck> query1 = Wrappers.lambdaQuery();
|
|
|
- query1.eq(TShandeMchCheck::getAdminId,id);
|
|
|
- List<TShandeMchCheck> list1 = tShandeMchCheckService.list(query1);
|
|
|
- if(list1.size()>0){
|
|
|
- int i = 0;
|
|
|
- for(TShandeMchCheck tShandeMchCheck:list1){
|
|
|
- if(tShandeMchCheck.getCheckType().equals("0")||tShandeMchCheck.getCheckType().equals("3")){
|
|
|
- i++;
|
|
|
- }
|
|
|
- }
|
|
|
- if(i==0){
|
|
|
- return R.ok(list.get(0));
|
|
|
- }else {
|
|
|
- for(int j=list1.size()-1;j>=0;j--){
|
|
|
- if(!list1.get(j).getCheckType().equals("2")&!list1.get(j).getCheckType().equals("1")){
|
|
|
- if(list1.get(j).getCheckType().equals("3")){
|
|
|
- Date data = new Date();
|
|
|
- long time = data.getTime();
|
|
|
- long updateTime = list1.get(j).getModifyDate().getTime();
|
|
|
- if(3*24*60*60*1000l>time-updateTime){
|
|
|
- //拒绝的审核,超过3天后不显示
|
|
|
- return R.ok(list.get(0));
|
|
|
- }else {
|
|
|
- return R.ok(list.get(j));
|
|
|
- }
|
|
|
- }
|
|
|
- return R.ok(list.get(j));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }else {
|
|
|
- return R.ok(list.get(0));
|
|
|
- }
|
|
|
return R.ok(list.get(0));
|
|
|
+ //已经注册,就要查看是否有提交审核的
|
|
|
+// LambdaQueryWrapper<TShandeMchCheck> query1 = Wrappers.lambdaQuery();
|
|
|
+// query1.eq(TShandeMchCheck::getAdminId,adminId);
|
|
|
+// List<TShandeMchCheck> list1 = tShandeMchCheckService.list(query1);
|
|
|
+// if(list1.size()>0){
|
|
|
+// int i = 0;
|
|
|
+// for(TShandeMchCheck tShandeMchCheck:list1){
|
|
|
+// if(tShandeMchCheck.getCheckType().equals("0")||tShandeMchCheck.getCheckType().equals("3")){
|
|
|
+// i++;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if(i==0){
|
|
|
+// return R.ok(list.get(0));
|
|
|
+// }else {
|
|
|
+// for(int j=list1.size()-1;j>=0;j--){
|
|
|
+// if(!list1.get(j).getCheckType().equals("2")&!list1.get(j).getCheckType().equals("1")){
|
|
|
+// if(list1.get(j).getCheckType().equals("3")){
|
|
|
+// Date data = new Date();
|
|
|
+// long time = data.getTime();
|
|
|
+// long updateTime = list1.get(j).getModifyDate().getTime();
|
|
|
+// if(3*24*60*60*1000l>time-updateTime){
|
|
|
+// //拒绝的审核,超过3天后不显示
|
|
|
+// return R.ok(list.get(0));
|
|
|
+// }else {
|
|
|
+// return R.ok(list.get(j));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// return R.ok(list.get(j));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }else {
|
|
|
+// return R.ok(list.get(0));
|
|
|
+// }
|
|
|
+// return R.ok(list.get(0));
|
|
|
}else {
|
|
|
return R.fail("尚未注册!");
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ @ApiOperation(value = "获取杉德分账信息列表 分页")
|
|
|
+ @GetMapping("/pageShandeMch")
|
|
|
+ public ResponseModel<IPage<?>> pageShandeMch(String username, String type, long current, long size ){
|
|
|
+ LambdaQueryWrapper<TShandeMch> query = Wrappers.lambdaQuery();
|
|
|
+ if(StringUtils.isNotEmpty(type)){
|
|
|
+ query.eq(TShandeMch::getType,type);
|
|
|
+ }else {
|
|
|
+ query.eq(TShandeMch::getType,"0");
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(username)){
|
|
|
+ LambdaQueryWrapper<TAdmin> query1 = Wrappers.lambdaQuery();
|
|
|
+ query1.eq(TAdmin::getUsername,username);
|
|
|
+ List<TAdmin> list = adminService.list(query1);
|
|
|
+ if(list.size()>0){
|
|
|
+ query.eq(TShandeMch::getAdminId,list.get(0).getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Page<TShandeMch> page = new Page<>(current, size, true);
|
|
|
+ IPage<TShandeMch> iPage = tShandeMchService.page(page, query);
|
|
|
+ return R.ok(iPage);
|
|
|
+ }
|
|
|
@ApiOperation(value = "保存或提交审核")
|
|
|
@PostMapping("/save")
|
|
|
public ResponseModel<?> save(@RequestBody TShandeMch tShandeMch) {
|
|
@@ -149,7 +181,57 @@ public class TShandeMchController {
|
|
|
TShandeMch shandeMch = list.get(0);
|
|
|
return R.ok(shandeMch);
|
|
|
}
|
|
|
+ @ApiOperation(value = "结算处理")
|
|
|
+ @GetMapping("/jiesuan")
|
|
|
+ public ResponseModel<?> jiesuan(String username, String type, String namelist) {
|
|
|
+ if(StringUtils.isEmpty(type)){
|
|
|
+ return R.fail(ResponseCodesEnum.A0100); }
|
|
|
+ LambdaQueryWrapper<TShandeMch> query = Wrappers.lambdaQuery();
|
|
|
+ query.eq(TShandeMch::getType,type);
|
|
|
+ if(StringUtils.isNotEmpty(username)){
|
|
|
+ LambdaQueryWrapper<TAdmin> query1 = Wrappers.lambdaQuery();
|
|
|
+ query1.eq(TAdmin::getUsername,username);
|
|
|
+ List<TAdmin> list = adminService.list(query1);
|
|
|
+ if(list.size()>0){
|
|
|
+ query.eq(TShandeMch::getAdminId,list.get(0).getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(namelist)){
|
|
|
+ String[] names = namelist.split(",");
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
+ if(names.length>0){
|
|
|
+ for(int i=0;i<namelist.length();i++){
|
|
|
+ LambdaQueryWrapper<TAdmin> query1 = Wrappers.lambdaQuery();
|
|
|
+ query1.eq(TAdmin::getUsername,username);
|
|
|
+ List<TAdmin> list = adminService.list(query1);
|
|
|
+ if(list.size()>0){
|
|
|
+ ids.add(list.get(0).getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(ids.size()>0){
|
|
|
+ query.notIn(TShandeMch::getAdminId,ids);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<TShandeMch> list = tShandeMchService.list(query);
|
|
|
+ for(TShandeMch shandeMch:list){
|
|
|
+ BigDecimal settleableBalance = shandeMch.getSettleableBalance();
|
|
|
+ if(settleableBalance!=null&&settleableBalance.compareTo(new BigDecimal(0))>0){
|
|
|
+ shandeMch.setSettleableDate(new Date());
|
|
|
+ BigDecimal totalSettleableBalance = shandeMch.getTotalSettleableBalance();
|
|
|
+ if(totalSettleableBalance!=null){
|
|
|
+ shandeMch.setTotalSettleableBalance(settleableBalance.add(totalSettleableBalance));
|
|
|
+ }else {
|
|
|
+ shandeMch.setTotalSettleableBalance(settleableBalance);
|
|
|
+ }
|
|
|
+ shandeMch.setSettleableBalance(new BigDecimal(0));
|
|
|
+ shandeMch.setLastSettleableBalance(settleableBalance);
|
|
|
+ tShandeMchService.updateById(shandeMch);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
@ApiOperation(value = "ClientId查找设备")
|
|
|
@GetMapping("/updateShandeMch")
|
|
|
public void updateShandeMch(@RequestBody TShandeMch shandeMch) {
|
|
@@ -158,5 +240,110 @@ public class TShandeMchController {
|
|
|
tShandeMchService.updateById(shandeMch);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @ApiOperation(value = "结算处理")
|
|
|
+ @GetMapping("/shandeMchListExport")
|
|
|
+ public ResponseModel<?> shandeMchListExport(HttpServletResponse response, String username, String type, String namelist) {
|
|
|
+ if(StringUtils.isEmpty(type)){
|
|
|
+ return R.fail(ResponseCodesEnum.A0100);
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<TShandeMch> query = Wrappers.lambdaQuery();
|
|
|
+ query.eq(TShandeMch::getType,type);
|
|
|
+ if(StringUtils.isNotEmpty(username)){
|
|
|
+ LambdaQueryWrapper<TAdmin> query1 = Wrappers.lambdaQuery();
|
|
|
+ query1.eq(TAdmin::getUsername,username);
|
|
|
+ List<TAdmin> list = adminService.list(query1);
|
|
|
+ if(list.size()>0){
|
|
|
+ query.eq(TShandeMch::getAdminId,list.get(0).getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(namelist)){
|
|
|
+ String[] names = namelist.split(",");
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
+ if(names.length>0){
|
|
|
+ for(int i=0;i<namelist.length();i++){
|
|
|
+ LambdaQueryWrapper<TAdmin> query1 = Wrappers.lambdaQuery();
|
|
|
+ query1.eq(TAdmin::getUsername,username);
|
|
|
+ List<TAdmin> list = adminService.list(query1);
|
|
|
+ if(list.size()>0){
|
|
|
+ ids.add(list.get(0).getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(ids.size()>0){
|
|
|
+ query.notIn(TShandeMch::getAdminId,ids);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<TShandeMch> list = tShandeMchService.list(query);
|
|
|
+ ExportParams exportParams = new ExportParams(null, "sheet1");
|
|
|
+ Workbook workbook = null;
|
|
|
+ //账号类型 0:对公 1:私人
|
|
|
+ if(type.equals("0")){
|
|
|
+ List<ShandeMchCompanyListTarget> shandeMchCompanyListTargets = new ArrayList<>();
|
|
|
+ int i = 0;
|
|
|
+ for(TShandeMch shandeMch: list){
|
|
|
+ BigDecimal settleableBalance = shandeMch.getSettleableBalance();
|
|
|
+ if(settleableBalance.compareTo(new BigDecimal(0))== 1){
|
|
|
+ i++;
|
|
|
+ ShandeMchCompanyListTarget shandeMchCompanyListTarget = new ShandeMchCompanyListTarget();
|
|
|
+ shandeMchCompanyListTarget.setBankName(shandeMch.getBankName());
|
|
|
+ shandeMchCompanyListTarget.setBankNo(shandeMch.getBankNo());
|
|
|
+ shandeMchCompanyListTarget.setSettleableBalance(String.valueOf(shandeMch.getSettleableBalance()));
|
|
|
+ shandeMchCompanyListTarget.setNo(String.valueOf(i));
|
|
|
+ shandeMchCompanyListTarget.setBankChannelName(shandeMch.getBankChannelName());
|
|
|
+ shandeMchCompanyListTarget.setBankChannelNo(shandeMch.getBankChannelNo());
|
|
|
+ shandeMchCompanyListTargets.add(shandeMchCompanyListTarget);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ workbook = ExcelExportUtil.exportExcel(exportParams, ShandeMchCompanyListTarget.class, shandeMchCompanyListTargets);
|
|
|
+ }
|
|
|
+ if(type.equals("1")){
|
|
|
+ List<ShandeMchListTarget> shandeMchListTargetList = new ArrayList<>();
|
|
|
+ int i = 0;
|
|
|
+ for(TShandeMch shandeMch: list){
|
|
|
+ BigDecimal settleableBalance = shandeMch.getSettleableBalance();
|
|
|
+ if(settleableBalance.compareTo(new BigDecimal(0))== 1){
|
|
|
+ i++;
|
|
|
+ ShandeMchListTarget shandeMchListTarget = new ShandeMchListTarget();
|
|
|
+ shandeMchListTarget.setBankName(shandeMch.getBankName());
|
|
|
+ shandeMchListTarget.setBankNo(shandeMch.getBankNo());
|
|
|
+ shandeMchListTarget.setSettleableBalance(String.valueOf(shandeMch.getSettleableBalance()));
|
|
|
+ shandeMchListTarget.setNo(String.valueOf(i));
|
|
|
+ shandeMchListTargetList.add(shandeMchListTarget);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ workbook = ExcelExportUtil.exportExcel(exportParams, ShandeMchListTarget.class, shandeMchListTargetList);
|
|
|
+ }
|
|
|
+ if (workbook != null) {
|
|
|
+ OutputStream os = null;
|
|
|
+ try {
|
|
|
+ os = response.getOutputStream();
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日HHmmss");
|
|
|
+ response.setContentType("application/vnd.ms-excel;charset=utf-8");
|
|
|
+ if(type.equals("0")){
|
|
|
+ response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("对公账户" + format.format(new Date()) + ".xls", "UTF-8"));
|
|
|
+ }else {
|
|
|
+ response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("个人账号" + format.format(new Date()) + ".xls", "UTF-8"));
|
|
|
+ }
|
|
|
+// response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("订单记录数据导出" + format.format(new Date()) + ".xls", "UTF-8"));
|
|
|
+ workbook.write(os);
|
|
|
+ return R.ok("导出成功");
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return R.fail("导出错误");
|
|
|
+ } finally {
|
|
|
+ try {
|
|
|
+ os.close();
|
|
|
+ workbook.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
}
|
|
|
|