package com.izouma.awesomeadmin.web; import com.izouma.awesomeadmin.constant.AppConstant; import com.izouma.awesomeadmin.dto.Page; import com.izouma.awesomeadmin.dto.Result; import com.izouma.awesomeadmin.model.UserOrder; import com.izouma.awesomeadmin.service.UserOrderService; import com.izouma.awesomeadmin.util.ExportExcelUtil; import org.apache.shiro.authz.annotation.RequiresAuthentication; 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.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.List; import java.util.Map; /** * controller类 */ @Controller @RequestMapping("/userOrder") public class UserOrderController { @Autowired private UserOrderService userOrderService; /** *

获取全部记录。

*/ @RequiresAuthentication @RequestMapping(value = "/all", method = RequestMethod.GET) @ResponseBody public Result all(UserOrder record) { List pp = userOrderService.getUserOrderList(record); return new Result(true, pp); } /** *

根据Id。

*/ @RequestMapping(value = "/getUserOrder", method = RequestMethod.GET) @ResponseBody public Result getUserOrder(@RequestParam(required = false, value = "id") String id) { UserOrder data = userOrderService.getUserOrderById(id); return new Result(true, data); } /** *

根据条件获取。

*/ @RequestMapping(value = "/getOne", method = RequestMethod.GET) @ResponseBody public Result getOne(UserOrder record) { UserOrder data = userOrderService.getUserOrder(record); return new Result(true, data); } /** *

分页查询。

*/ @RequestMapping(value = "/page", method = RequestMethod.GET) @ResponseBody public Result page(Page page, UserOrder record) { Map result = new HashMap<>(); List pp = userOrderService.getUserOrderByPage(page, record); result.put(AppConstant.PAGE, page); result.put("pp", pp); return new Result(true, result); } /** *

保存。

*/ @RequestMapping(value = "/save", method = RequestMethod.POST) @ResponseBody public Result save(UserOrder record) { boolean num = userOrderService.createUserOrder(record); if (num) { return new Result(true, record.getId()); } return new Result(false, "保存异常"); } /** *

更新信息。

*/ @RequestMapping(value = "/update", method = RequestMethod.POST) @ResponseBody public Result updateUserOrder(UserOrder record) { boolean num = userOrderService.updateUserOrder(record); if (num) { return new Result(true, "保存成功"); } return new Result(false, "保存异常"); } /** *

删除。

*/ @RequestMapping(value = "/del", method = RequestMethod.POST) @ResponseBody public Result deleteUserOrder(@RequestParam(required = true, value = "id") String id) { boolean num = userOrderService.deleteUserOrder(id); if (num) { return new Result(true, "删除成功"); } return new Result(false, "删除异常"); } /** * 导出Excel * * @param request * @param response * @param record * @throws Exception */ @RequestMapping(value = "/exportExcel", method = RequestMethod.GET) @ResponseBody public void exportExcel(HttpServletRequest request, HttpServletResponse response, UserOrder record) throws Exception { List userOrders = userOrderService.getUserOrderList(record); String sheetName = "user_order"; String titleName = "用户订单数据表"; String fileName = "用户订单表"; int columnNumber = 25; int[] columnWidth = {20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20}; String[] columnName = {"", "删除标识", "更新时间", "更新人", "创建时间", "创建人", "用户", "订单编码", "店铺", "商品类型", "商品ID", "商品名称", "规格", "单价", "数量", "优惠券", "优惠金额", "总价", "成交价", "支付方式", "支付时间", "备注", "显示标识", "状态", "手续费"}; String[][] dataList = new String[userOrders.size()][25]; for (int i = 0; i < userOrders.size(); i++) { dataList[i][0] = String.valueOf(userOrders.get(i).getId()); dataList[i][1] = String.valueOf(userOrders.get(i).getDelFlag()); dataList[i][2] = String.valueOf(userOrders.get(i).getUpdateTime()); dataList[i][3] = String.valueOf(userOrders.get(i).getUpdateUser()); dataList[i][4] = String.valueOf(userOrders.get(i).getCreateTime()); dataList[i][5] = String.valueOf(userOrders.get(i).getCreateUser()); dataList[i][6] = String.valueOf(userOrders.get(i).getUserId()); dataList[i][7] = String.valueOf(userOrders.get(i).getOrderCode()); dataList[i][8] = String.valueOf(userOrders.get(i).getStoreId()); dataList[i][9] = String.valueOf(userOrders.get(i).getProductType()); dataList[i][10] = String.valueOf(userOrders.get(i).getProductId()); dataList[i][11] = String.valueOf(userOrders.get(i).getProductName()); dataList[i][12] = String.valueOf(userOrders.get(i).getSpecification()); dataList[i][13] = String.valueOf(userOrders.get(i).getUnitPrice()); dataList[i][14] = String.valueOf(userOrders.get(i).getQuantity()); dataList[i][15] = String.valueOf(userOrders.get(i).getUserCouponId()); dataList[i][16] = String.valueOf(userOrders.get(i).getOffPrice()); dataList[i][17] = String.valueOf(userOrders.get(i).getTotlePrice()); dataList[i][18] = String.valueOf(userOrders.get(i).getDealPrice()); dataList[i][19] = String.valueOf(userOrders.get(i).getPayMode()); dataList[i][20] = String.valueOf(userOrders.get(i).getPayTime()); dataList[i][21] = String.valueOf(userOrders.get(i).getRemark()); dataList[i][22] = String.valueOf(userOrders.get(i).getShowFlag()); dataList[i][23] = String.valueOf(userOrders.get(i).getStatusFlag()); dataList[i][24] = String.valueOf(userOrders.get(i).getFee()); } ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName, columnNumber, columnWidth, columnName, dataList, response); } @RequestMapping(value = "/pay", method = RequestMethod.POST) @ResponseBody public Result pay(@RequestParam(required = true, value = "orderId") String orderId, @RequestParam(required = true, value = "coin") double coin, @RequestParam(required = true, value = "point") double point, @RequestParam(required = true, value = "cash") double cash) { return userOrderService.payOrder(orderId, coin, point, cash, AppConstant.PayMode.COIN); } /** * 取消订单 * * @param record id cancelReason * @return */ @RequestMapping(value = "/cancel", method = RequestMethod.POST) @ResponseBody public Result cancel(UserOrder record) { return userOrderService.cancel(record); } /** * 确认完成订单 * * @param record * @return */ @RequestMapping(value = "/confirm", method = RequestMethod.POST) @ResponseBody public Result confirm(UserOrder record) { return userOrderService.confirm(record); } /** *

退款。

* * @param orderId * @return */ @RequestMapping(value = "/refund", method = RequestMethod.POST) @ResponseBody public Result refund(@RequestParam(required = true, value = "orderId") String orderId) { return userOrderService.refundOrder(orderId); } /** * 退款失败 * * @param orderId * @return */ @RequestMapping(value = "/refundFail", method = RequestMethod.POST) @ResponseBody public Result refundFail(@RequestParam(required = true, value = "orderId") String orderId) { return userOrderService.refundFail(orderId); } @RequestMapping(value = "/ziDong", method = RequestMethod.GET) @ResponseBody public Result ziDong() { return userOrderService.ziDong(); } /** *

返修。

*/ @RequestMapping(value = "/repair", method = RequestMethod.POST) @ResponseBody public Result repair(UserOrder record) { boolean num = userOrderService.repair(record); if (num) { return new Result(true, "保存成功"); } return new Result(false, "保存异常"); } }