Commit a22e7af3 by Warden

订单管理

parent a6c5c26d
package com.winsun.bean;
import java.io.Serializable;
import java.sql.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
/**
* 订单
*
*/
@Data
@TableName("hhr_order")
public class Order implements Serializable{
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private int id;
/**
* 订单号
*/
private String orderNumber;
/**
* 小白卡订单号id
*/
private String xbOrderId;
/**
* 订单id
*/
private String orderId;
/**
* 订单状态
*/
private String orderStatus;
/**
* 合伙人id
*/
private String hehuorenId;
/**
* 套餐id
*/
private String packageId;
/**
* 客户姓名
*/
private String customerName;
/**
* 办理号码
*/
private String businessNumber;
/**
* 联系号码
*/
private String contactNumber;
/**
* 身份证号码
*/
private String idCard;
/**
* 办理号码ICCID
*/
private String businessIccid;
/**
* 卡品
*/
private String kapin;
/**
* 身份证正面地址
*/
private String idCardz;
/**
* 身份证反面地址
*/
private String idCardf;
/**
* 手持身份证正面地址
*/
private String idCardzs;
/**
* 学生卡
*/
private String studenCard;
/**
* 创建时间
*/
private Date createTime;
/**
* 订单完成时间
*/
private Date successTime;
/**
* 地址
*/
private String address;
/**
* 备注
*/
private String remarks;
/**
* 快递公司
*/
private String company;
/**
* 快递单号
*/
private String kuaidiOrder;
/**
* 省市县
*/
private String site;
/**
* 预实名返回值
*/
private String msg;
/**
* 派送方式
*/
private String sendType;
/**
* 现有套餐
*/
private String nowPackage;
/**
* 办理套餐
*/
private String businessPackage;
/**
* 老用户id
*/
private String userId;
/**
* 老用户办理类型1:套餐更换,2:单宽进融合,3融合提速,4充值
*/
private String userBussinessType;
/**
* 用户类型(1:老客户;0新客户;2:老客户续约3:融合 4:抽奖;5:单宽;6:羊城通卡)
*/
private String userType;
/**
* 受理结果(通过/不通过)
*/
private String acceptResult;
/**
* 受理人
*/
private String acceptName;
/**
* 受理意见
*/
private String acceptComment;
/**
* 受理时间
*/
private Date acceptDate;
/**
* 提交佣金系统次数
*/
private int yjCount;
/**
* 提交佣金系统结果
*/
private String yjType;
/**
* 新用户提交方式0督导1本人
*/
private int tjType;
/**
* 小白卡1单移 2融合
*/
private int xbType;
/**
* 宽带账号
*/
private String netNumber;
/**
* 宽带密码
*/
private String netPassword;
/**
* 学校
*/
//private String userSchool;
/**
* 学生证审核状态, 0 未审核,1已审核
*/
private String studentCardCheckStatus;
/**
* 失败原因
*/
private String checkFail;
/**
* 资费
*/
private String expenses;
/**
* 办理标识
*/
private String identifying;
/**
* 宽带id
*/
private String kdOrderId;
/**
* 奖品的账号
*/
private String giftAccount;
/**
* 奖品的密码
*/
private String giftPassword;
/**
* 合伙人县分
*/
private String hehuorenArea;
/**
* 合伙人县分
*/
private String hehuorenName;
/**
*
*/
private String hehuorenSchool;
/**
*
*/
private String hehuorenPhone;
/**
*
*/
private String supervisorName;
/**
*
*/
private String lzgh;
/**
* 对应的智能平台上订单的状态
*/
private String thStatus;
/**
*
*/
private String studentNumber;
/**
* 班级
*/
private String classNumber;
/**
* 父母名字
*/
private String parentName;
}
package com.winsun.mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.winsun.bean.Order;
import com.winsun.bean.OrderView;
@Mapper
@Component
public interface OrderMapper extends BaseMapper<Order> {
@Select("<script>SELECT * FROM `hhr_order` <where> ${ew.sqlSegment} </where> </script>")
List<Map<String, Object>> downloadOrder(@Param("ew") Wrapper<Order> wrapper);
}
package com.winsun.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.auth.core.util.IOUtils;
import com.winsun.bean.Order;
import com.winsun.bean.OrderView;
import com.winsun.constant.OrderStatus;
import com.winsun.mapper.OrderMapper;
import lombok.extern.slf4j.Slf4j;
/**
* @Author: dongyp
* @Date: 2020/2/14 17:08
*/
@Slf4j
@RestController
@RequestMapping("/order")
public class OrderController extends BaseController {
private static OrderMapper orderMapper;
@Autowired
public OrderController(OrderMapper orderMapper) {
OrderController.orderMapper = orderMapper;
}
/**
*
* @param createTimeStart 订单创建时间开始
* @param createTimeEnd 订单创建时间结束
* @param successTimeStart 订单完成时间开始
* @param successTimeEnd 订单完成时间结束
* @param userType 客户类型
* @param orderNumber 订单编号
* @param kapin 卡品
* @param businessNumber 办理号码
* @param contactNumber 联系号码
* @param hehuorenSchool 合伙人学校
* @param hehuorenName 合伙人姓名
* @param orderStatus 订单状态
* @param customerName 客户姓名
* @param pageIndex
* @param pageSize
* @return
*/
@Permission(menuname = "查询订单信息", value = "list", method = RequestMethod.POST)
//@RequestMapping(value="list", method = RequestMethod.POST)
public ResponseData<Page<Order>> listOrder(@RequestParam(name = "createTimeStart",required = false) String createTimeStart,
@RequestParam(name = "createTimeEnd",required = false) String createTimeEnd,@RequestParam(name = "successTimeStart",required = false) String successTimeStart,
@RequestParam(name = "successTimeEnd",required = false) String successTimeEnd,@RequestParam("userType") String userType,
@RequestParam(name = "orderNumber",required = false) String orderNumber,@RequestParam(name = "kapin",required = false) String kapin,
@RequestParam(name = "businessNumber",required = false) String businessNumber,@RequestParam(name = "contactNumber",required = false) String contactNumber,
@RequestParam(name = "hehuorenSchool",required = false) String hehuorenSchool, @RequestParam(name = "hehuorenName",required = false) String hehuorenName,
@RequestParam(name = "orderStatus",required = false) String orderStatus,
@RequestParam(name = "customerName",required = false) String customerName, @RequestParam(name = "pageNo", required = false) int pageNo,
@RequestParam(name = "pageSize", required = false) int pageSize) {
ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限");
}
Wrapper<Order> wrapper = new EntityWrapper();
wrapper.ge(StringUtils.isNotBlank(createTimeStart),"create_time",createTimeStart);
wrapper.le(StringUtils.isNotBlank(createTimeEnd),"create_time",createTimeEnd);
wrapper.ge(StringUtils.isNotBlank(successTimeStart),"success_time",successTimeStart);
wrapper.le(StringUtils.isNotBlank(successTimeEnd),"success_time",successTimeEnd);
wrapper.eq(StringUtils.isNotBlank(userType), "user_type", userType);
wrapper.eq(StringUtils.isNotBlank(orderNumber), "order_number", orderNumber);
wrapper.eq(StringUtils.isNotBlank(kapin), "kapin", kapin);
wrapper.eq(StringUtils.isNotBlank(customerName), "customer_name", customerName);
wrapper.eq(StringUtils.isNotBlank(businessNumber), "business_number", businessNumber);
wrapper.eq(StringUtils.isNotBlank(contactNumber), "contact_number", contactNumber);
wrapper.eq(StringUtils.isNotBlank(hehuorenSchool), "hehuoren_school", hehuorenSchool);
wrapper.like(StringUtils.isNotBlank(hehuorenName), "hehuoren_name", hehuorenName,SqlLike.DEFAULT);
wrapper.eq(StringUtils.isNotBlank(orderStatus), "order_status", orderStatus);
Page<Order> page = new Page<>(pageNo, pageSize);
List<Order> aPackage = orderMapper.selectPage(page, wrapper);
page.setRecords(aPackage);
return ResponseData.success(page, "查询完毕!");
}
@Permission(menuname = "导出订单", value = "download", method = RequestMethod.POST)
public void downloadOrderView(@RequestParam(name = "createTimeStart",required = false) String createTimeStart,
@RequestParam(name = "createTimeEnd",required = false) String createTimeEnd,@RequestParam(name = "successTimeStart",required = false) String successTimeStart,
@RequestParam(name = "successTimeEnd",required = false) String successTimeEnd,@RequestParam("userType") String userType,
@RequestParam(name = "orderNumber",required = false) String orderNumber,@RequestParam(name = "kapin",required = false) String kapin,
@RequestParam(name = "businessNumber",required = false) String businessNumber,@RequestParam(name = "contactNumber",required = false) String contactNumber,
@RequestParam(name = "hehuorenSchool",required = false) String hehuorenSchool, @RequestParam(name = "hehuorenName",required = false) String hehuorenName,
@RequestParam(name = "orderStatus",required = false) String orderStatus,
@RequestParam(name = "customerName",required = false) String customerName) {
String dateFormat = "YYYY-MM-DD";
if (StringUtils.isNotBlank(createTimeStart) && StringUtils.isNotBlank(createTimeEnd)) {
createTimeStart = createTimeStart.substring(0, dateFormat.length()) + " 00:00:00";
createTimeEnd = createTimeEnd.substring(0, dateFormat.length()) + " 23:59:59";
} else {
createTimeStart = null;
createTimeEnd = null;
}
String state=null;
if(StringUtils.isNotBlank(orderStatus)){
state = OrderStatus.findById(orderStatus).getId();
}
Wrapper<Order> wrapper = new EntityWrapper();
wrapper.ge(StringUtils.isNotBlank(createTimeStart),"create_time",createTimeStart);
wrapper.le(StringUtils.isNotBlank(createTimeEnd),"create_time",createTimeEnd);
wrapper.ge(StringUtils.isNotBlank(successTimeStart),"success_time",successTimeStart);
wrapper.le(StringUtils.isNotBlank(successTimeEnd),"success_time",successTimeEnd);
wrapper.eq(StringUtils.isNotBlank(userType), "user_type", userType);
wrapper.eq(StringUtils.isNotBlank(orderNumber), "order_number", orderNumber);
wrapper.eq(StringUtils.isNotBlank(kapin), "kapin", kapin);
wrapper.eq(StringUtils.isNotBlank(businessNumber), "business_number", businessNumber);
wrapper.eq(StringUtils.isNotBlank(contactNumber), "contact_number", contactNumber);
wrapper.eq(StringUtils.isNotBlank(hehuorenSchool), "hehuoren_school", hehuorenSchool);
wrapper.like(StringUtils.isNotBlank(hehuorenName), "hehuoren_name", hehuorenName,SqlLike.DEFAULT);
wrapper.eq(StringUtils.isNotBlank(orderStatus), "status", orderStatus);
List<Map<String, Object>> Orders = orderMapper.downloadOrder(wrapper);
List<String> tops = new ArrayList<>();
tops.add("客户姓名");
tops.add("订单编号");
tops.add("联系号码");
tops.add("办理号码");
tops.add("办理套餐");
tops.add("合伙人姓名");
tops.add("合伙人学校");
tops.add("合伙人手机");
tops.add("现有套餐");
tops.add("升级套餐");
tops.add("订单状态");
tops.add("订单类型");
tops.add("学生证审核状态");
List<String> columns = new ArrayList<>();
columns.add("customer_name");
columns.add("order_number");
columns.add("contact_number");
columns.add("business_number");
columns.add("business_package");
columns.add("hehuoren_name");
columns.add("hehuoren_school");
columns.add("hehuoren_phone");
columns.add("package_id");
columns.add("business_package");
columns.add("order_status");
columns.add("user_type");
columns.add("student_card_checkStatus");
ServletOutputStream os = null;
XSSFWorkbook workbook = new XSSFWorkbook();
try {
//创建工作表
XSSFSheet sheet = workbook.createSheet("订单清单");
//添加表头
final XSSFRow row = sheet.createRow(0);
//设置列宽度
sheet.setColumnWidth(1, 6500);
sheet.setColumnWidth(2, 6500);
sheet.setColumnWidth(5, 7000);
sheet.setColumnWidth(8, 4000);
sheet.setColumnWidth(11, 6500);
sheet.setColumnWidth(14, 6500);
sheet.setColumnWidth(15, 7000);
sheet.setColumnWidth(17, 7500);
sheet.setColumnWidth(18, 600);
//第一行字段名称
tops.forEach(column -> {
XSSFCell cell = row.createCell(Math.max(row.getLastCellNum(), 0));
cell.setCellValue(column);
});
//数据
int rowIndex = row.getRowNum();
for (Map<String, Object> maps: Orders) {
final XSSFRow rowdata = sheet.createRow(++rowIndex);
for (String column : columns) {
XSSFCell cell = rowdata.createCell(Math.max(rowdata.getLastCellNum(), 0));
if (maps.get(column) != null) {
cell.setCellValue(maps.get(column).toString());
}
}
}
HttpServletResponse response = getHttpServletResponse();
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/octet-stream");
os = response.getOutputStream();
workbook.write(os);
os.flush();
} catch (Exception e) {
log.error("文件出错!" + e.getMessage(), e);
} finally {
IOUtils.closeQuite(workbook, os);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment