package com.stylefeng.guns.modular.system.controller.general;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.mapper.Wrapper;
|
import com.baomidou.mybatisplus.plugins.Page;
|
import com.stylefeng.guns.core.base.controller.BaseController;
|
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
|
import com.stylefeng.guns.core.util.ExcelUtil;
|
import com.stylefeng.guns.core.util.ToolUtil;
|
import com.stylefeng.guns.modular.system.model.PaymentRecord;
|
import com.stylefeng.guns.modular.system.model.TBalanceModifyRecord;
|
import com.stylefeng.guns.modular.system.model.TUser;
|
import com.stylefeng.guns.modular.system.service.IPaymentRecordService;
|
import com.stylefeng.guns.modular.system.service.ITBalanceModifyRecordService;
|
import com.stylefeng.guns.modular.system.service.ITUserService;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.OutputStream;
|
import java.text.DateFormat;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
@Controller
|
@RequestMapping("/paymentRecord")
|
public class PaymentRecordController extends BaseController {
|
|
private String PREFIX = "/system/paymentRecord/";
|
|
|
@Autowired
|
private IPaymentRecordService paymentRecordService;
|
|
@Autowired
|
private ITUserService tUserService;
|
|
@Autowired
|
private ITBalanceModifyRecordService balanceModifyRecordService;
|
|
/**
|
* 跳转列表
|
*
|
* @return
|
*/
|
@RequestMapping("")
|
public String index() {
|
return PREFIX + "paymentRecord.html";
|
}
|
|
|
/**
|
* 跳转余额修改记录列表
|
*
|
* @return
|
*/
|
@RequestMapping("/balanceModify")
|
public String balanceModifyIndex() {
|
return PREFIX + "balanceModify.html";
|
}
|
|
|
|
/**
|
* @return
|
*/
|
@RequestMapping("/balanceModifylist")
|
@ResponseBody
|
public Object balanceModifylist(String userName, String phone, String userId, String startTime, String endTime) {
|
Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
Wrapper wrapper = new EntityWrapper<TBalanceModifyRecord>();
|
|
if (ToolUtil.isNotEmpty(userName)){
|
wrapper.like("userName",userName);
|
}
|
if (ToolUtil.isNotEmpty(phone)){
|
wrapper.like("phone",phone);
|
}
|
if (ToolUtil.isNotEmpty(userId)){
|
wrapper.like("userId",userId);
|
}
|
if (ToolUtil.isNotEmpty(startTime) && ToolUtil.isNotEmpty(endTime)){
|
wrapper.between("createTime",startTime + " 00:00:00",endTime + " 23:59:59");
|
}
|
page.setRecords(balanceModifyRecordService.selectMapsPage(page,wrapper).getRecords());
|
return super.packForBT(page);
|
}
|
|
|
|
/**
|
* @return
|
*/
|
@RequestMapping("/list")
|
@ResponseBody
|
public Object list(String userName, String phone, String code, String startTime, String endTime) {
|
|
Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
Wrapper wrapper = new EntityWrapper<PaymentRecord>().eq("type",1).eq("category",2).orderBy("id",false);
|
|
if (ToolUtil.isNotEmpty(code)){
|
wrapper.like("code",code);
|
}
|
if (ToolUtil.isNotEmpty(startTime) && ToolUtil.isNotEmpty(endTime)){
|
wrapper.between("insertTime",startTime + " 00:00:00",endTime + " 23:59:59");
|
}
|
|
|
Wrapper wrapper1 = new EntityWrapper<TUser>();
|
if (ToolUtil.isNotEmpty(userName)){
|
wrapper1.like("nickName",userName);
|
}
|
if (ToolUtil.isNotEmpty(phone)){
|
wrapper1.like("phone",phone);
|
}
|
List<TUser> listUser = tUserService.selectList(wrapper1);
|
|
List<Integer> integerList = new ArrayList<>();
|
for (TUser tUser : listUser) {
|
integerList.add(tUser.getId());
|
}
|
|
if (integerList.size() == 0){
|
integerList.add(-1);
|
}
|
|
if (ToolUtil.isNotEmpty(userName) || ToolUtil.isNotEmpty(phone)){
|
wrapper.in("userId",integerList);
|
}
|
|
List<Map<String, Object>> list = paymentRecordService.selectMapsPage(page,wrapper).getRecords();
|
|
for (Map<String, Object> map : list) {
|
TUser user = tUserService.selectById(map.get("userId").toString());
|
if (ToolUtil.isNotEmpty(user) && ToolUtil.isNotEmpty(user.getNickName())){
|
map.put("userName",user.getNickName());
|
}
|
if (ToolUtil.isNotEmpty(user) && ToolUtil.isNotEmpty(user.getPhone())){
|
map.put("phone",user.getPhone());
|
}
|
}
|
page.setRecords(list);
|
return super.packForBT(page);
|
}
|
|
|
|
@RequestMapping("/delete")
|
@ResponseBody
|
public Object delete(Integer paymentRecordId){
|
paymentRecordService.deleteById(paymentRecordId);
|
return SUCCESS_TIP;
|
}
|
|
|
@RequestMapping("/deleteBalanceModify")
|
@ResponseBody
|
public Object deleteBalanceModify(Integer balanceModifyId){
|
balanceModifyRecordService.deleteById(balanceModifyId);
|
return SUCCESS_TIP;
|
}
|
|
|
|
@RequestMapping("/exportRecord")
|
@ResponseBody
|
public Object exportRecord(HttpServletResponse response, @RequestParam String userName,
|
@RequestParam String phone, @RequestParam String code,
|
@RequestParam String startTime, @RequestParam String endTime){
|
try {
|
Date date = new Date();
|
DateFormat format = new SimpleDateFormat("yyyyMMdd");
|
String time = format.format(date);
|
String fileName = "用户充值记录"+time+".xls";
|
String[] title = new String[] {"充值时间","流水ID","用户ID","用户名称","用户手机号","充值金额","充值方式","状态"};
|
List<Map<String,Object>> mapList = paymentRecordService.exportRecord(userName, phone, code, startTime, endTime);
|
|
String[][] values = new String[mapList.size()][];
|
for (int i = 0; i < mapList.size(); i++) {
|
Map<String,Object> d=mapList.get(i);
|
values[i] = new String[title.length];
|
values[i][0]=d.get("insertTimeStr").toString();
|
values[i][1]=d.get("code").toString();
|
values[i][2]=d.get("userId").toString();
|
if (ToolUtil.isNotEmpty(d.get("nickName"))){
|
values[i][3]=d.get("nickName").toString();
|
}else {
|
values[i][3]="";
|
}
|
if (ToolUtil.isNotEmpty(d.get("phone"))){
|
values[i][4]=d.get("phone").toString();
|
}else {
|
values[i][4]="";
|
}
|
values[i][5]=d.get("amount").toString();
|
values[i][6]=d.get("payTypeStr").toString();
|
values[i][7]=d.get("stateStr").toString();
|
}
|
String fileNameTitle="用户充值记录";
|
HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(fileNameTitle+time, title, values, null);
|
this.setResponseHeader(response, fileName);
|
OutputStream os = response.getOutputStream();
|
wb.write(os);
|
os.flush();
|
os.close();
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
/*return ApiUtil.putFailObj("导出失败");*/
|
}
|
return SUCCESS_TIP;
|
}
|
|
|
@RequestMapping("/exportRecordBalanceModify")
|
@ResponseBody
|
public Object exportRecordBalanceModify(HttpServletResponse response, @RequestParam String userName,
|
@RequestParam String phone, @RequestParam String userId,
|
@RequestParam String startTime, @RequestParam String endTime){
|
try {
|
Date date = new Date();
|
DateFormat format = new SimpleDateFormat("yyyyMMdd");
|
String time = format.format(date);
|
String fileName = "余额修改记录"+time+".xls";
|
String[] title = new String[] {"修改时间","流水ID","用户ID","用户名称","用户手机号","金额","类型"};
|
|
Wrapper wrapper = new EntityWrapper<TBalanceModifyRecord>();
|
|
if (ToolUtil.isNotEmpty(userName)){
|
wrapper.like("userName",userName);
|
}
|
if (ToolUtil.isNotEmpty(phone)){
|
wrapper.like("phone",phone);
|
}
|
if (ToolUtil.isNotEmpty(userId)){
|
wrapper.like("userId",userId);
|
}
|
if (ToolUtil.isNotEmpty(startTime) && ToolUtil.isNotEmpty(endTime)){
|
wrapper.between("createTime",startTime + " 00:00:00",endTime + " 23:59:59");
|
}
|
List<Map<String,Object>> mapList = balanceModifyRecordService.selectMaps(wrapper);
|
for (Map<String, Object> map : mapList) {
|
if (map.get("type").toString().equals("1")){
|
map.put("typeStr","增加");
|
}else if (map.get("type").toString().equals("2")){
|
map.put("typeStr","减少");
|
}
|
}
|
|
String[][] values = new String[mapList.size()][];
|
for (int i = 0; i < mapList.size(); i++) {
|
Map<String,Object> d=mapList.get(i);
|
values[i] = new String[title.length];
|
values[i][0]=d.get("createTime").toString();
|
values[i][1]=d.get("recordID").toString();
|
values[i][2]=d.get("userId").toString();
|
if (ToolUtil.isNotEmpty(d.get("userName"))){
|
values[i][3]=d.get("userName").toString();
|
}else {
|
values[i][3]="";
|
}
|
if (ToolUtil.isNotEmpty(d.get("phone"))){
|
values[i][4]=d.get("phone").toString();
|
}else {
|
values[i][4]="";
|
}
|
values[i][5]=d.get("money").toString();
|
values[i][6]=d.get("typeStr").toString();
|
}
|
String fileNameTitle="余额修改记录";
|
HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(fileNameTitle+time, title, values, null);
|
this.setResponseHeader(response, fileName);
|
OutputStream os = response.getOutputStream();
|
wb.write(os);
|
os.flush();
|
os.close();
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
/*return ApiUtil.putFailObj("导出失败");*/
|
}
|
return SUCCESS_TIP;
|
}
|
|
|
/**
|
* 设置文件响应头
|
* @param response
|
* @param fileName
|
*/
|
private void setResponseHeader(HttpServletResponse response, String fileName) {
|
try {
|
response.setContentType("application/octet-stream;charset=UTF-8");
|
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"iso-8859-1"));
|
response.addHeader("Pargam", "no-cache");
|
response.addHeader("Cache-Control", "no-cache");
|
} catch (Exception ex) {
|
ex.printStackTrace();
|
}
|
}
|
}
|