|
|
|
@@ -5,13 +5,27 @@ import com.github.pagehelper.PageInfo; |
|
|
|
import com.iformall.common.ResultData; |
|
|
|
import com.iformall.domain.po.WxMerchantSubsidy; |
|
|
|
import com.iformall.domain.vo.WxMerchantSubsidyVo; |
|
|
|
import com.iformall.enums.EnumMerchantSubsidyStatus; |
|
|
|
import com.iformall.enums.EnumOrderType; |
|
|
|
import com.iformall.mapper.WxMerchantSubsidyMapper; |
|
|
|
import com.iformall.service.WxMerchantSubsidyService; |
|
|
|
import com.iformall.utils.Constant; |
|
|
|
import org.apache.commons.io.FileUtils; |
|
|
|
import org.apache.poi.ss.usermodel.Cell; |
|
|
|
import org.apache.poi.ss.usermodel.Row; |
|
|
|
import org.apache.poi.xssf.usermodel.XSSFSheet; |
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import com.iformall.common.IdWorker; |
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import java.io.*; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.UUID; |
|
|
|
|
|
|
|
@Service |
|
|
|
public class WxMerchantSubsidyServiceImpl implements WxMerchantSubsidyService { |
|
|
|
@@ -50,21 +64,154 @@ public class WxMerchantSubsidyServiceImpl implements WxMerchantSubsidyService { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public ResultData update(WxMerchantSubsidy record) { |
|
|
|
int num = wxMerchantSubsidyMapper.updateByCond(record); |
|
|
|
return new ResultData(num); |
|
|
|
public int update(WxMerchantSubsidy record) { |
|
|
|
return wxMerchantSubsidyMapper.updateByCond(record); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void deleteById(Long id) { |
|
|
|
wxMerchantSubsidyMapper.deleteByPrimaryKey(id); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public void exportData(WxMerchantSubsidy wxMerchantSubsidy, HttpServletRequest request, HttpServletResponse response) { |
|
|
|
List<WxMerchantSubsidyVo> subsidyVoList = wxMerchantSubsidyMapper.findVoList(wxMerchantSubsidy); |
|
|
|
|
|
|
|
XSSFWorkbook workbook; |
|
|
|
String filepath = Constant.fileDirectory; |
|
|
|
File savefile = new File(filepath); |
|
|
|
if (!savefile.exists()) { |
|
|
|
savefile.mkdirs(); |
|
|
|
} |
|
|
|
String filename = UUID.randomUUID() + ".xlsx"; |
|
|
|
filepath = filepath + filename; |
|
|
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
|
|
|
|
try { |
|
|
|
File file = new File(filepath); |
|
|
|
workbook = new XSSFWorkbook(); |
|
|
|
XSSFSheet sheetTwo = workbook.createSheet("补贴记录"); |
|
|
|
Row rowtwo = sheetTwo.createRow(0); |
|
|
|
Cell idCellTwo = rowtwo.createCell(0); |
|
|
|
Cell merchantNameCellTwo = rowtwo.createCell(1); |
|
|
|
Cell cardNameCellTwo = rowtwo.createCell(2); |
|
|
|
Cell orderIdCellTwo = rowtwo.createCell(3); |
|
|
|
Cell orderTypeCellTwo = rowtwo.createCell(4); |
|
|
|
Cell orderPaymentCellTwo = rowtwo.createCell(5); |
|
|
|
Cell receiverPaymentCellTwo = rowtwo.createCell(6); |
|
|
|
Cell realPaymentCellTwo = rowtwo.createCell(7); |
|
|
|
Cell realReceivePayCellTwo = rowtwo.createCell(8); |
|
|
|
Cell subsidyCellTwo = rowtwo.createCell(9); |
|
|
|
Cell realSubsidyCellTwo = rowtwo.createCell(10); |
|
|
|
Cell createDateCellTwo = rowtwo.createCell(11); |
|
|
|
Cell statusCellTwo = rowtwo.createCell(12); |
|
|
|
|
|
|
|
idCellTwo.setCellValue("ID"); |
|
|
|
merchantNameCellTwo.setCellValue("商户"); |
|
|
|
cardNameCellTwo.setCellValue("卡券名"); |
|
|
|
orderIdCellTwo.setCellValue("订单号"); |
|
|
|
orderTypeCellTwo.setCellValue("支付类型"); |
|
|
|
orderPaymentCellTwo.setCellValue("订单金额"); |
|
|
|
receiverPaymentCellTwo.setCellValue("接收金额"); |
|
|
|
realPaymentCellTwo.setCellValue("实收金额"); |
|
|
|
realReceivePayCellTwo.setCellValue("实收金额"); |
|
|
|
subsidyCellTwo.setCellValue("补贴金额(包含通道费)"); |
|
|
|
realSubsidyCellTwo.setCellValue("补贴金额(不包含通道费)"); |
|
|
|
createDateCellTwo.setCellValue("创建时间"); |
|
|
|
statusCellTwo.setCellValue("状态"); |
|
|
|
|
|
|
|
for (int i = 0; i < subsidyVoList.size(); i++) { |
|
|
|
rowtwo = sheetTwo.createRow(i + 1); |
|
|
|
idCellTwo = rowtwo.createCell(0); |
|
|
|
merchantNameCellTwo = rowtwo.createCell(1); |
|
|
|
cardNameCellTwo = rowtwo.createCell(2); |
|
|
|
orderIdCellTwo = rowtwo.createCell(3); |
|
|
|
orderTypeCellTwo = rowtwo.createCell(4); |
|
|
|
orderPaymentCellTwo = rowtwo.createCell(5); |
|
|
|
receiverPaymentCellTwo = rowtwo.createCell(6); |
|
|
|
realPaymentCellTwo = rowtwo.createCell(7); |
|
|
|
subsidyCellTwo = rowtwo.createCell(8); |
|
|
|
realSubsidyCellTwo = rowtwo.createCell(9); |
|
|
|
createDateCellTwo = rowtwo.createCell(10); |
|
|
|
statusCellTwo = rowtwo.createCell(11); |
|
|
|
|
|
|
|
WxMerchantSubsidyVo entity = subsidyVoList.get(i); |
|
|
|
|
|
|
|
idCellTwo.setCellValue(entity.getId()); |
|
|
|
merchantNameCellTwo.setCellValue(entity.getMerchantName()); |
|
|
|
cardNameCellTwo.setCellValue(entity.getTitle()); |
|
|
|
orderIdCellTwo.setCellValue(entity.getOrderId()); |
|
|
|
String str = "券"; // 0:券1:付款码支付,2:C扫码支付,3,储值卡 |
|
|
|
if (entity.getOrderType().equals(EnumOrderType.COUPON.getCode())) { |
|
|
|
str = "券"; |
|
|
|
} else if (entity.getOrderType().equals(EnumOrderType.MICROPAY.getCode())) { |
|
|
|
str = "付款码支付"; |
|
|
|
} else if (entity.getOrderType().equals(EnumOrderType.NATIVEPAY.getCode())) { |
|
|
|
str = "C扫码支付"; |
|
|
|
} else if (entity.getOrderType().equals(EnumOrderType.PREPAIDCARD.getCode())) { |
|
|
|
str = "储值卡"; |
|
|
|
} |
|
|
|
orderTypeCellTwo.setCellValue(str); |
|
|
|
orderPaymentCellTwo.setCellValue(entity.getOrderPayment()/ 100); |
|
|
|
receiverPaymentCellTwo.setCellValue(entity.getReceiverPayment() / 100); |
|
|
|
realPaymentCellTwo.setCellValue(entity.getRealPayment() / 100); |
|
|
|
subsidyCellTwo.setCellValue(entity.getSubsidy() / 100); |
|
|
|
realSubsidyCellTwo.setCellValue(entity.getRealSubsidy()); |
|
|
|
if (entity.getCreateDate() != null) |
|
|
|
createDateCellTwo.setCellValue(sdf.format(entity.getCreateDate())); |
|
|
|
String statusStr = "未补贴"; |
|
|
|
if (entity.getStatus().equals(EnumMerchantSubsidyStatus.NOT_SUBSIDY.getCode())) { |
|
|
|
statusStr = "未补贴"; |
|
|
|
} else if (entity.getStatus().equals(EnumMerchantSubsidyStatus.AUTO_SUBSIDIED.getCode())) { |
|
|
|
statusStr = "已自动补贴"; |
|
|
|
} else if (entity.getStatus().equals(EnumMerchantSubsidyStatus.MANUAL_SUBSIDIED.getCode())) { |
|
|
|
statusStr = "已手工补贴"; |
|
|
|
} |
|
|
|
statusCellTwo.setCellValue(statusStr); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
FileOutputStream fileOut = new FileOutputStream(file); |
|
|
|
workbook.write(fileOut); |
|
|
|
fileOut.close(); |
|
|
|
workbook.close(); |
|
|
|
downFile(filepath, filename,"补贴记录.xlsx",response, request); |
|
|
|
FileUtils.forceDelete(file); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void downFile(String filePath, String filename, String exportFileName, |
|
|
|
HttpServletResponse response, HttpServletRequest req) throws IOException { |
|
|
|
try { |
|
|
|
response.reset(); |
|
|
|
response.setContentType("bin"); |
|
|
|
String agent = req.getHeader("user-agent"); |
|
|
|
if (agent.contains("Firefox")) { |
|
|
|
response.setHeader("Content-disposition", |
|
|
|
"attachment; filename=" |
|
|
|
+ new String(exportFileName.getBytes("GB2312"), |
|
|
|
"ISO-8859-1")); |
|
|
|
} else { |
|
|
|
response |
|
|
|
.setHeader("Content-disposition", |
|
|
|
"attachment; filename=" |
|
|
|
+ java.net.URLEncoder.encode(exportFileName, |
|
|
|
"UTF-8")); |
|
|
|
} |
|
|
|
// 循环取出流中的数据 |
|
|
|
byte[] b = new byte[1024]; |
|
|
|
int len; |
|
|
|
InputStream inStream = new FileInputStream(filePath); |
|
|
|
while ((len = inStream.read(b)) > 0) |
|
|
|
response.getOutputStream().write(b, 0, len); |
|
|
|
inStream.close(); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |