winter 2 лет назад
Родитель
Сommit
58a0fb9a75
9 измененных файлов: 634 добавлений и 0 удалений
  1. +77
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java
  2. +46
    -0
      mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql
  3. Двоичные данные
      mallinkAdmin/src/main/resources/excel/settle.xlsx
  4. +111
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java
  5. +16
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxSettleMerchantMapper.java
  6. +41
    -0
      mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java
  7. +143
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java
  8. +86
    -0
      mallinkService/src/main/java/com/iformall/utils/ExcelExportUtils.java
  9. +114
    -0
      mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml

+ 77
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java Просмотреть файл

@@ -0,0 +1,77 @@
package com.iformall.controller.market;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.annotation.TenantIgnore;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxSettleMerchant;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.exception.MallinkException;
import com.iformall.service.WxSettleMerchantService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("wxSettleMerchant")
@Api(description = "结算表")
public class WxSettleMerchantController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxSettleMerchantService wxSettleMerchantService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(@ModelAttribute WxSettleMerchant wxSettleMerchant, Integer pageNum, Integer pageSize) {
if (null == wxSettleMerchant) wxSettleMerchant = new WxSettleMerchant();
wxSettleMerchant.updateTenantInfo(getTenantInfo());
wxSettleMerchant.setSortColumns(BaseEntity.SortField.CreateDate_DESC);
final PageInfo<WxSettleMerchant> page = wxSettleMerchantService.listAsPage(wxSettleMerchant, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("新增接口")
@PostMapping("saveOrUpdate")
public ResultData add(@RequestBody WxSettleMerchant wxSettleMerchant) {
wxSettleMerchant.updateTenantInfo(getTenantInfo());
try {
wxSettleMerchantService.saveOrUpdate(wxSettleMerchant,this.getUser());
return new ResultData();
} catch (MallinkException e) {
logger.error(e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
}
}

@TenantIgnore
@ApiOperation("导出")
@GetMapping("/exportData")
public void exportData(@ModelAttribute WxSettleMerchant wxSettleMerchant, HttpServletRequest request, HttpServletResponse response) {
if (null == wxSettleMerchant.getId()) {
return;
}
WxSettleMerchant record = wxSettleMerchantService.getById(getTenantInfo(), wxSettleMerchant.getId());
if (null == record) {
return;
}
wxSettleMerchantService.exportData(record, request, response);
}

}

+ 46
- 0
mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql Просмотреть файл

@@ -0,0 +1,46 @@
CREATE TABLE `wx_settle_merchant` (
`id` bigint(20) NOT NULL COMMENT '主键ID',
`tenant_id` varchar(5) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '租户ID',
`parent_tenant_id` varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '父租户ID',
`merchant_id` bigint(20) NOT NULL COMMENT '商户编号',
`begin_time` datetime NOT NULL COMMENT '开始时间',
`end_time` datetime NOT NULL COMMENT '结束时间',
`confirm_time` datetime NOT NULL COMMENT '对账时间',
`create_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_date` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`total_money` decimal(10,3) NOT NULL COMMENT '对账金额',
`actual_money` decimal(10,3) DEFAULT NULL COMMENT '实际结算金额',
`card_sale_money` decimal(10,3) DEFAULT NULL COMMENT '储值卡销售金额',
`card_rate` decimal(10,3) DEFAULT NULL COMMENT '储值卡扣款费率',
`card_money` decimal(10,3) DEFAULT NULL COMMENT '储值卡结算金额',
`zfb_sale_money` decimal(10,3) DEFAULT NULL COMMENT '支付宝销售金额',
`zfb_rate` decimal(10,3) DEFAULT NULL COMMENT '支付宝扣款费率',
`zfb_money` decimal(10,3) DEFAULT NULL COMMENT '支付宝结算金额',
`wx_sale_money` decimal(10,3) DEFAULT NULL COMMENT '微信销售金额',
`wx_rate` decimal(10,3) DEFAULT NULL COMMENT '微信扣款费率',
`wx_money` decimal(10,3) DEFAULT NULL COMMENT '微信结算金额',
`erase_zero_sale_money` decimal(10,3) DEFAULT NULL COMMENT '抹零销售金额',
`erase_zero_rate` decimal(10,3) DEFAULT NULL COMMENT '抹零扣款费率',
`erase_zero_money` decimal(10,3) DEFAULT NULL COMMENT '抹零结算金额',
`cash_sale_money` decimal(10,3) DEFAULT NULL COMMENT '现金销售金额',
`cash_rate` decimal(10,3) DEFAULT NULL COMMENT '现金扣款费率',
`cash_money` decimal(10,3) DEFAULT NULL COMMENT '现金结算金额',
`rent_money` decimal(10,3) DEFAULT NULL COMMENT '租金费用',
`rent_contract_money` decimal(10,3) DEFAULT NULL COMMENT '物业管理费',
`employee_manage_money` decimal(10,3) DEFAULT NULL COMMENT '员工管理费',
`sales_slip_money` decimal(10,3) DEFAULT NULL COMMENT '小票费用',
`salary` decimal(10,3) DEFAULT NULL COMMENT '工资',
`earnest_money` decimal(10,3) DEFAULT NULL COMMENT '保证金',
`other_money` decimal(10,3) DEFAULT NULL COMMENT '其他',
`last_remaining` decimal(10,3) DEFAULT NULL COMMENT '上次未结清',
`merchant_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户名称',
`merchant_code` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户代码',
`merchant_person` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户联系人',
`merchant_phone` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户联系电话',
`account_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收款人名称',
`account_bank` varchar(300) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '开户行',
`account_number` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '收款人账户',
`create_by` bigint(20) NOT NULL COMMENT '创建人',
`update_by` bigint(20) NOT NULL COMMENT '修改人',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='卡券';

Двоичные данные
mallinkAdmin/src/main/resources/excel/settle.xlsx Просмотреть файл


+ 111
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java Просмотреть файл

@@ -0,0 +1,111 @@
package com.iformall.domain.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.base.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.math.BigDecimal;
import java.util.Date;

@TableName(value = "wx_settle_merchant")
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class WxSettleMerchant extends TenantEntity {

private Long id;

@io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate")
private Date createDate;
@io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate")
private Date updateDate;
@io.swagger.annotations.ApiModelProperty(value = "商户编号", name = "merchantId")
private Long merchantId;
@io.swagger.annotations.ApiModelProperty(value = "开始时间", name = "beginTime")
private Date beginTime;
@io.swagger.annotations.ApiModelProperty(value = "结束时间", name = "endTime")
private Date endTime;
@io.swagger.annotations.ApiModelProperty(value = "对账时间", name = "confirmTime")
private Date confirmTime;
@io.swagger.annotations.ApiModelProperty(value = "对账金额", name = "totalMoney")
private BigDecimal totalMoney;
@io.swagger.annotations.ApiModelProperty(value = "实际结算金额", name = "actualMoney")
private BigDecimal actualMoney;
@io.swagger.annotations.ApiModelProperty(value = "储值卡销售金额", name = "cardSaleMoney")
private BigDecimal cardSaleMoney;
@io.swagger.annotations.ApiModelProperty(value = "储值卡扣款费率", name = "cardRate")
private BigDecimal cardRate;
@io.swagger.annotations.ApiModelProperty(value = "储值卡结算金额", name = "cardMoney")
private BigDecimal cardMoney;
@io.swagger.annotations.ApiModelProperty(value = "支付宝销售金额", name = "zfbSaleMoney")
private BigDecimal zfbSaleMoney;
@io.swagger.annotations.ApiModelProperty(value = "支付宝扣款费率", name = "zfbRate")
private BigDecimal zfbRate;
@io.swagger.annotations.ApiModelProperty(value = "支付宝结算金额", name = "zfbMoney")
private BigDecimal zfbMoney;
@io.swagger.annotations.ApiModelProperty(value = "银联销售金额", name = "unionSaleMoney")
private BigDecimal unionSaleMoney;
@io.swagger.annotations.ApiModelProperty(value = "银联扣款费率", name = "unionRate")
private BigDecimal unionRate;
@io.swagger.annotations.ApiModelProperty(value = "银联结算金额", name = "unionMoney")
private BigDecimal unionMoney;
@io.swagger.annotations.ApiModelProperty(value = "微信销售金额", name = "wxSaleMoney")
private BigDecimal wxSaleMoney;
@io.swagger.annotations.ApiModelProperty(value = "微信扣款费率", name = "wxRate")
private BigDecimal wxRate;
@io.swagger.annotations.ApiModelProperty(value = "微信结算金额", name = "wxMoney")
private BigDecimal wxMoney;
@io.swagger.annotations.ApiModelProperty(value = "抹零销售金额", name = "eraseZeroSaleMoney")
private BigDecimal eraseZeroSaleMoney;
@io.swagger.annotations.ApiModelProperty(value = "抹零扣款费率", name = "eraseZeroRate")
private BigDecimal eraseZeroRate;
@io.swagger.annotations.ApiModelProperty(value = "抹零结算金额", name = "eraseZeroMoney")
private BigDecimal eraseZeroMoney;
@io.swagger.annotations.ApiModelProperty(value = "现金销售金额", name = "cashSaleMoney")
private BigDecimal cashSaleMoney;
@io.swagger.annotations.ApiModelProperty(value = "现金扣款费率", name = "cashRate")
private BigDecimal cashRate;
@io.swagger.annotations.ApiModelProperty(value = "现金结算金额", name = "cashMoney")
private BigDecimal cashMoney;
@io.swagger.annotations.ApiModelProperty(value = "租金费用", name = "rentMoney")
private BigDecimal rentMoney;
@io.swagger.annotations.ApiModelProperty(value = "物业管理费", name = "rentContractMoney")
private BigDecimal rentContractMoney;
@io.swagger.annotations.ApiModelProperty(value = "员工管理费", name = "employeeManageMoney")
private BigDecimal employeeManageMoney;
@io.swagger.annotations.ApiModelProperty(value = "小票费用", name = "salesSlipMoney")
private BigDecimal salesSlipMoney;
@io.swagger.annotations.ApiModelProperty(value = "工资", name = "salary")
private BigDecimal salary;
@io.swagger.annotations.ApiModelProperty(value = "保证金", name = "earnestMoney")
private BigDecimal earnestMoney;
@io.swagger.annotations.ApiModelProperty(value = "其他", name = "otherMoney")
private BigDecimal otherMoney;
@io.swagger.annotations.ApiModelProperty(value = "上次未结清", name = "lastRemaining")
private BigDecimal lastRemaining;
@io.swagger.annotations.ApiModelProperty(value = "商户名称", name = "lastRemaining")
private String merchantName;
@io.swagger.annotations.ApiModelProperty(value = "商户代码", name = "merchantCode")
private String merchantCode;
@io.swagger.annotations.ApiModelProperty(value = "商户联系人", name = "merchantPerson")
private String merchantPerson;
@io.swagger.annotations.ApiModelProperty(value = "商户联系电话", name = "merchantPhone")
private String merchantPhone;
@io.swagger.annotations.ApiModelProperty(value = "收款人名称", name = "accountName")
private String accountName;
@io.swagger.annotations.ApiModelProperty(value = "开户行", name = "accountBank")
private String accountBank;
@io.swagger.annotations.ApiModelProperty(value = "收款人账户", name = "accountNumber")
private String accountNumber;
@io.swagger.annotations.ApiModelProperty(value = "创建人", name = "createBy")
private Long createBy;
@io.swagger.annotations.ApiModelProperty(value = "修改人", name = "updateBy")
private Long updateBy;
@TableField(exist = false)
private Date begin;
@TableField(exist = false)
private Date end;
}

+ 16
- 0
mallinkService/src/main/java/com/iformall/mapper/WxSettleMerchantMapper.java Просмотреть файл

@@ -0,0 +1,16 @@
package com.iformall.mapper;

import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxSettleMerchant;

import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface WxSettleMerchantMapper extends CommonMapper<WxSettleMerchant, Long> {

WxSettleMerchant selectById(@Param("id")Long id,@Param("tenantId")String tenantId);
List<WxSettleMerchant> findList(WxSettleMerchant wxSettleMerchant);
}

+ 41
- 0
mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java Просмотреть файл

@@ -0,0 +1,41 @@
package com.iformall.service;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxSettleMerchant;
import com.iformall.domain.po.base.TenantEntity;

public interface WxSettleMerchantService {

/**
* 根据实体查询分页列表
*
* @param record
* @param pageIndex
* @param pageSize
* @return
*/
PageInfo<WxSettleMerchant> listAsPage(WxSettleMerchant record, Integer pageIndex, Integer pageSize);

/**
* 根据Id获得实体
*
* @param id
* @return
*/
WxSettleMerchant getById(TenantEntity tenantEntity,Long id);

/**
* 保存或更新实体
*
* @param record
*/
void saveOrUpdate(WxSettleMerchant record,MallUserInfo operator);
void exportData(WxSettleMerchant record, HttpServletRequest request, HttpServletResponse response);

}

+ 143
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java Просмотреть файл

@@ -0,0 +1,143 @@
package com.iformall.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxSettleMerchant;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCUserBasicInfoVo;
import com.iformall.mapper.WxSettleMerchantMapper;
import com.iformall.service.ExcelService;
import com.iformall.service.WxSettleMerchantService;
import com.iformall.utils.DateUtils;
import com.iformall.utils.ExcelExportUtils;

import cn.afterturn.easypoi.cache.manager.FileLoaderImpl;
import cn.afterturn.easypoi.cache.manager.POICacheManager;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.afterturn.easypoi.handler.inter.IExcelExportServer;

import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* @author gongbiao
*/
@Service
public class WxSettleMerchantServiceImpl implements WxSettleMerchantService{
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
WxSettleMerchantMapper wxSettleMerchantMapper;
@Override
public PageInfo<WxSettleMerchant> listAsPage(WxSettleMerchant record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxSettleMerchantMapper.findList(record));
}

@Override
public WxSettleMerchant getById(TenantEntity tenantEntity,Long id) {
return wxSettleMerchantMapper.selectById(id, tenantEntity.getTenantId());
}

@Override
public void saveOrUpdate(WxSettleMerchant record,MallUserInfo operator) {
Date date = new Date();
if (record.getId() == null) {
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
record.setCreateDate(date);
record.setUpdateDate(date);
record.setCreateBy(operator.getId());
record.setUpdateBy(operator.getId());
wxSettleMerchantMapper.insert(record);
} else {
record.setUpdateDate(date);
record.setUpdateBy(operator.getId());
wxSettleMerchantMapper.updateById(record);
}
}

@Override
public void exportData(WxSettleMerchant record, HttpServletRequest request, HttpServletResponse response) {
Map<String,Object> valueMap = new HashMap<String,Object>();
valueMap.put("beginTime", DateUtils.format(record.getBeginTime()));
valueMap.put("endTime", DateUtils.format(record.getEndTime()));
valueMap.put("confirmTime", DateUtils.format(record.getConfirmTime()));
valueMap.put("merchantName", record.getMerchantName());
valueMap.put("merchantCode", record.getMerchantCode());
valueMap.put("merchantPerson", record.getMerchantPerson());
valueMap.put("merchantPhone", record.getMerchantPhone());
valueMap.put("totalMoney", record.getTotalMoney());
valueMap.put("cardSaleMoney", valueMap);
valueMap.put("cardRate", valueMap);
valueMap.put("cardMoney", valueMap);
valueMap.put("zfbSaleMoney", valueMap);
valueMap.put("zfbRate", valueMap);
valueMap.put("zfbMoney", valueMap);
valueMap.put("unionSaleMoney", valueMap);
valueMap.put("unionRate", valueMap);
valueMap.put("unionMoney", valueMap);
valueMap.put("wxSaleMoney", valueMap);
valueMap.put("wxRate", valueMap);
valueMap.put("wxMoney", valueMap);
valueMap.put("eraseZeroSaleMoney", valueMap);
valueMap.put("eraseZeroRate", valueMap);
valueMap.put("eraseZeroMoney", valueMap);
valueMap.put("cashSaleMoney", valueMap);
valueMap.put("cashRate", valueMap);
valueMap.put("cashMoney", valueMap);
valueMap.put("totalSaleMoney", valueMap);
valueMap.put("totalReduceMoney", valueMap);
valueMap.put("rentMoney", valueMap);
valueMap.put("rentContractMoney", valueMap);
valueMap.put("employeeManageMoney", valueMap);
valueMap.put("salesSlipMoney", valueMap);
valueMap.put("salary", valueMap);
valueMap.put("earnestMoney", valueMap);
valueMap.put("otherMoney", valueMap);
valueMap.put("lastRemaining", valueMap);
valueMap.put("totalTempMoney", valueMap);
valueMap.put("totalMoneyDX", valueMap);
valueMap.put("actualMoneyDX", valueMap);
valueMap.put("actualMoney", valueMap);
valueMap.put("accountName", valueMap);
valueMap.put("accountBank", valueMap);
valueMap.put("accountNumber", valueMap);
ExcelExportUtils.exportByModel("excel/settle.xlsx","供应商结算单_"+record.getMerchantName(),"供应商结算单", valueMap,request,response);
}

public List<Object> selectListForExcelExport(Object queryParams, int page) {
WxSettleMerchant record = (WxSettleMerchant) queryParams;
WxSettleMerchant _r = wxSettleMerchantMapper.selectById(record.getId(), record.getTenantId());
if (null == _r) {
return null;
}
List<Object> retList = new ArrayList<Object>();
retList.add(_r);
return retList;
}


}

+ 86
- 0
mallinkService/src/main/java/com/iformall/utils/ExcelExportUtils.java Просмотреть файл

@@ -0,0 +1,86 @@
package com.iformall.utils;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

import cn.afterturn.easypoi.cache.manager.FileLoaderImpl;
import cn.afterturn.easypoi.cache.manager.POICacheManager;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.afterturn.easypoi.view.EasypoiTemplateExcelView;

public class ExcelExportUtils {
public static void exportByModel(String modelPath,String fileName,String sheetName,Map<String,Object> valueMap,HttpServletRequest request, HttpServletResponse response) {
String templateFile = convertTemplatePath(modelPath);
TemplateExportParams exportTemplateParams = new TemplateExportParams(templateFile,sheetName);
exportTemplateParams.setColForEach(true);
POICacheManager.setFileLoader(new FileLoaderImpl());
Workbook book = ExcelExportUtil.exportExcel(exportTemplateParams, valueMap);
EasypoiTemplateExcelView easypoiTemplateExcelView = new EasypoiTemplateExcelView();
try {
easypoiTemplateExcelView.out(book, fileName, request, response);
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 模板路径处理,避免出现NPE
* @param path
* @return
*/
private static String convertTemplatePath(String path) {
if (System.getProperties().getProperty("os.name").contains("Windows")) {
return path;
}
Resource resource = new ClassPathResource(path);
FileOutputStream fileOutputStream = null;
String folder = System.getProperty("catalina.home");
File tempFile = new File(folder + File.separator + path);
if (tempFile.exists()) {
return tempFile.getPath();
}
File parentFile = tempFile.getParentFile();
if (!parentFile.exists()) {
parentFile.mkdirs();
}
try {
BufferedInputStream inputStream = new BufferedInputStream(resource.getInputStream());
fileOutputStream = new FileOutputStream(tempFile);
byte[] buffer = new byte[10240];
int len = 0;
while ((len = inputStream.read(buffer)) != -1 ) {
fileOutputStream.write(buffer,0,len);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (fileOutputStream != null) {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return tempFile.getPath();
}
}

+ 114
- 0
mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml Просмотреть файл

@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.iformall.mapper.WxSettleMerchantMapper">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxSettleMerchant">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId" />
<result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" />
<result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
<result column="merchant_id" jdbcType="BIGINT" property="merchantId" />
<result column="begin_time" jdbcType="TIMESTAMP" property="beginTime" />
<result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
<result column="confirm_time" jdbcType="TIMESTAMP" property="confirmTime" />
<result column="total_money" jdbcType="DECIMAL" property="totalMoney" />
<result column="actual_money" jdbcType="DECIMAL" property="actualMoney" />
<result column="card_sale_money" jdbcType="DECIMAL" property="cardSaleMoney" />
<result column="card_rate" jdbcType="DECIMAL" property="cardRate" />
<result column="card_money" jdbcType="DECIMAL" property="cardMoney" />
<result column="zfb_sale_money" jdbcType="DECIMAL" property="zfbSaleMoney" />
<result column="zfb_rate" jdbcType="DECIMAL" property="zfbRate" />
<result column="zfb_money" jdbcType="DECIMAL" property="zfbMoney" />
<result column="union_sale_money" jdbcType="DECIMAL" property="unionSaleMoney" />
<result column="union_rate" jdbcType="DECIMAL" property="unionRate" />
<result column="union_money" jdbcType="DECIMAL" property="unionMoney" />
<result column="wx_sale_money" jdbcType="DECIMAL" property="wxSaleMoney" />
<result column="wx_rate" jdbcType="DECIMAL" property="wxRate" />
<result column="wx_money" jdbcType="DECIMAL" property="wxMoney" />
<result column="erase_zero_sale_money" jdbcType="DECIMAL" property="eraseZeroSaleMoney" />
<result column="erase_zero_rate" jdbcType="DECIMAL" property="eraseZeroRate" />
<result column="erase_zero_money" jdbcType="DECIMAL" property="eraseZeroMoney" />
<result column="cash_sale_money" jdbcType="DECIMAL" property="cashSaleMoney" />
<result column="cash_rate" jdbcType="DECIMAL" property="cashRate" />
<result column="cash_money" jdbcType="DECIMAL" property="cashMoney" />
<result column="rent_money" jdbcType="DECIMAL" property="rentMoney" />
<result column="rent_contract_money" jdbcType="DECIMAL" property="rentContractMoney" />
<result column="employee_manage_money" jdbcType="DECIMAL" property="employeeManageMoney" />
<result column="sales_slip_money" jdbcType="DECIMAL" property="salesSlipMoney" />
<result column="salary" jdbcType="DECIMAL" property="salary" />
<result column="earnest_money" jdbcType="DECIMAL" property="earnestMoney" />
<result column="other_money" jdbcType="DECIMAL" property="otherMoney" />
<result column="last_remaining" jdbcType="DECIMAL" property="lastRemaining" />
<result column="merchant_name" jdbcType="VARCHAR" property="merchantName" />
<result column="merchant_code" jdbcType="VARCHAR" property="merchantCode" />
<result column="merchant_person" jdbcType="VARCHAR" property="merchantPerson" />
<result column="merchant_phone" jdbcType="VARCHAR" property="merchantPhone" />
<result column="account_name" jdbcType="VARCHAR" property="accountName" />
<result column="account_bank" jdbcType="VARCHAR" property="accountBank" />
<result column="account_number" jdbcType="VARCHAR" property="accountNumber" />
<result column="create_by" jdbcType="BIGINT" property="createBy" />
<result column="update_by" jdbcType="BIGINT" property="updateBy" />
</resultMap>

<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`create_date`,`update_date`,`merchant_id`,`begin_time`,`end_time`,`confirm_time`,`total_money`,
`actual_money`,`card_sale_money`,`card_rate`,`card_money`,`zfb_sale_money`,`zfb_rate`,`zfb_money`,`union_sale_money`,`union_rate`,
`union_money`,`wx_sale_money`,`wx_rate`,`wx_money`,`erase_zero_sale_money`,`erase_zero_rate`,`erase_zero_money`,`cash_sale_money`,
`cash_rate`,`cash_money`,`rent_money`,`rent_contract_money`,`employee_manage_money`,`sales_slip_money`,`salary`,`earnest_money`,
`other_money`,`last_remaining`,`merchant_name`,`merchant_code`,`merchant_person`,`merchant_phone`,`account_name`,`account_bank`,
`account_number`,`create_by`,`update_by`
</sql>

<sql id="dynamicWhereConditions">
where 1 = 1

<if test=" null != id ">
and `id` = #{id}
</if>

<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != begin">
and `start_time` &gt;= #{begin}
</if>
<if test=" null != end">
and `end_time` &lt;= #{end}
</if>
<if test=" null != merchantName and merchantName != '' ">
and `merchant_name` like concat('%', #{merchantName},'%')
</if>
<if test=" null != merchantId ">
and `merchant_id` = #{merchantId}
</if>
<if test=" null != createBy ">
and `create_by` = #{createBy}
</if>
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
<if test=" null != sortColumns"> order by ${sortColumns} </if>
</sql>

<select id="selectById" parameterType="java.util.HashMap" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_settle_merchant where id = #{id} and tenant_id=#{tenantId}
</select>

<select id="findList" parameterType="com.iformall.domain.po.WxSettleMerchant" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_settle_merchant
<include refid="dynamicWhereConditions" />
</select>
</mapper>

Загрузка…
Отмена
Сохранить