From 6af0003840b6bf2d8f42382e0631271a2a640a8b Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 10 Jul 2025 09:52:12 +0800 Subject: [PATCH] style(clothesType): 优化 socialMuseUpdate 页面表格样式 - 添加 layui-table-cell 类的样式,设置单元格高度为自适应 --- src/main/java/cc/mrbird/febs/mall/controller/clothes/AdminClothesTypeController.java | 411 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 405 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/clothes/AdminClothesTypeController.java b/src/main/java/cc/mrbird/febs/mall/controller/clothes/AdminClothesTypeController.java index ba746f5..32587c8 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/clothes/AdminClothesTypeController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/clothes/AdminClothesTypeController.java @@ -4,21 +4,41 @@ import cc.mrbird.febs.common.controller.BaseController; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; -import cc.mrbird.febs.mall.dto.clothes.AdminClothesTypeInfoDto; -import cc.mrbird.febs.mall.dto.memberLevel.AdminMemberLabelAddDto; -import cc.mrbird.febs.mall.dto.memberLevel.AdminMemberLabelDto; -import cc.mrbird.febs.mall.dto.memberLevel.AdminMemberLabelUpdateDto; +import cc.mrbird.febs.common.enumerates.OrderDeliveryStateEnum; +import cc.mrbird.febs.common.enumerates.OrderStatusEnum; +import cc.mrbird.febs.common.utils.excl.ExcelSheetPO; +import cc.mrbird.febs.common.utils.excl.ExcelUtil; +import cc.mrbird.febs.common.utils.excl.ExcelVersion; +import cc.mrbird.febs.common.utils.excl.ResponseHeadUtil; +import cc.mrbird.febs.mall.dto.AdminHappyActivityCategoryDto; +import cc.mrbird.febs.mall.dto.DeliverGoodsDto; +import cc.mrbird.febs.mall.dto.activity.AdminCategoryAddDto; +import cc.mrbird.febs.mall.dto.activity.AdminCategoryUpdateDto; +import cc.mrbird.febs.mall.dto.clothes.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.service.ClothesTypeService; -import cc.mrbird.febs.mall.vo.clothes.AdminClothesTypeInfoVo; -import cc.mrbird.febs.mall.vo.memberLevel.AdminMemberLabelSetDto; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; import java.util.Map; @Slf4j @@ -29,6 +49,385 @@ public class AdminClothesTypeController extends BaseController { private final ClothesTypeService clothesTypeService; + + /** + * 分类列表 + * @return + */ + @GetMapping("groupList") + public FebsResponse groupList(AdminClothesSocialCategoryDto dto, QueryRequest request) { + + Map<String, Object> data = getDataTable(clothesTypeService.getGroupList(dto, request)); + return new FebsResponse().success().data(data); + } + /** + * 分类-新增 + */ + @PostMapping("addGroup") + @ControllerEndpoint(operation = "分类-新增", exceptionMessage = "操作失败") + public FebsResponse addGroup(@RequestBody @Valid AdminClothesCategoryAddDto dto) { + + return clothesTypeService.addGroup(dto); + } + + /** + * 分类-删除 + */ + @GetMapping("groupDelete/{id}") + @ControllerEndpoint(operation = "选项-删除", exceptionMessage = "操作失败") + public FebsResponse groupDelete(@NotNull(message = "{required}") @PathVariable Long id) { + + return clothesTypeService.groupDelete(id); + } + + /** + * 分类-更新 + */ + @PostMapping("groupUpdate") + @ControllerEndpoint(operation = "分类-更新", exceptionMessage = "操作失败") + public FebsResponse groupUpdate(@RequestBody @Valid AdminClothesCategoryUpdateDto dto) { + + return clothesTypeService.groupUpdate(dto); + } + /** + * 分类-开启 + */ + @GetMapping("groupState/{id}/{type}") + @ControllerEndpoint(operation = "分类-开启", exceptionMessage = "操作失败") + public FebsResponse groupState( + @NotNull(message = "{required}") @PathVariable Long id, + @NotNull(message = "{required}") @PathVariable Integer type) { + + return clothesTypeService.groupState(id,type); + } + + /** + * 社区列表 + * + * @param dto + * @param request + * @return + */ + @GetMapping("socialList") + public FebsResponse socialList(AdminClothesSocialListDto dto, QueryRequest request) { + String startTime = dto.getStartTime(); + String endTime = dto.getEndTime(); + if(StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){ + DateTime dateStartTime= DateUtil.parseDate(startTime); + DateTime dateEndTime = DateUtil.parseDate(endTime); + int compare = DateUtil.compare(dateStartTime, dateEndTime); + if(compare >= 0){ + return new FebsResponse().fail().message("请输入正确的开始时间和结束时间"); + } + } + Map<String, Object> data = getDataTable(clothesTypeService.getSocialListInPage(dto, request)); + return new FebsResponse().success().data(data); + } + + + /** + * 社区-新增 + */ + @PostMapping("socialAdd") + @ControllerEndpoint(operation = "新增", exceptionMessage = "操作失败") + public FebsResponse socialAdd(@RequestBody ClothesSocial dto) { + + return clothesTypeService.socialAdd(dto); + } + + + /** + * 社区-更新 + */ + @PostMapping("socialUpdate") + @ControllerEndpoint(operation = "社区-更新", exceptionMessage = "操作失败") + public FebsResponse socialUpdate(@RequestBody ClothesSocial dto) { + + return clothesTypeService.socialUpdate(dto); + } + + + /** + * 社区-灵感 + */ + @PostMapping("socialMuseUpdate") + @ControllerEndpoint(operation = "社区-灵感", exceptionMessage = "操作失败") + public FebsResponse socialMuseUpdate(@RequestBody ClothesSocialMuse dto) { + + return clothesTypeService.socialMuseUpdate(dto); + } + + /** + * 社区获取设计类型-工艺 + * @return + */ + @GetMapping(value = "/allArt/{typeId}") + public FebsResponse allArt(@NotNull(message = "{required}") @PathVariable Long typeId) { + + return new FebsResponse().success().data(clothesTypeService.allArt(typeId)); + } + + /** + * 社区获取设计类型-尺码 + * @return + */ + @GetMapping(value = "/allSize/{typeId}") + public FebsResponse allSize(@NotNull(message = "{required}") @PathVariable Long typeId) { + + return new FebsResponse().success().data(clothesTypeService.allSize(typeId)); + } + + /** + * 社区获取设计类型-位置 + * @return + */ + @GetMapping(value = "/allLocation/{typeId}") + public FebsResponse allLocation(@NotNull(message = "{required}") @PathVariable Long typeId) { + + return new FebsResponse().success().data(clothesTypeService.allLocation(typeId)); + } + + /** + * 社区获取设计类型-图案 + * @return + */ + @GetMapping(value = "/allPattern/{typeId}") + public FebsResponse allPattern(@NotNull(message = "{required}") @PathVariable Long typeId) { + + return new FebsResponse().success().data(clothesTypeService.allPattern(typeId)); + } + + /** + * 社区获取设计类型-布料 + * @return + */ + @GetMapping(value = "/allCloth/{typeId}") + public FebsResponse allCloth(@NotNull(message = "{required}") @PathVariable Long typeId) { + + return new FebsResponse().success().data(clothesTypeService.allCloth(typeId)); + } + + /** + * 社区获取设计类型 + * @return + */ + @GetMapping(value = "/allType") + public FebsResponse allType() { + + return new FebsResponse().success().data(clothesTypeService.allType()); + } + + /** + * 社区获取分类 + * @return + */ + @GetMapping(value = "/allGroup") + public FebsResponse allGroup() { + + return new FebsResponse().success().data(clothesTypeService.allGroup()); + } + + /** + * 社区-开启 + */ + @GetMapping("socialState/{id}/{state}") + @ControllerEndpoint(operation = "社区-开启", exceptionMessage = "操作失败") + public FebsResponse socialState(@NotNull(message = "{required}") @PathVariable Long id, + @NotNull(message = "{required}") @PathVariable Integer state) { + + return clothesTypeService.socialState(id,state); + } + + /** + * 社区-推荐首页 + */ + @GetMapping("socialHotState/{id}/{state}") + @ControllerEndpoint(operation = "社区-开启", exceptionMessage = "操作失败") + public FebsResponse socialHotState(@NotNull(message = "{required}") @PathVariable Long id, + @NotNull(message = "{required}") @PathVariable Integer state) { + + return clothesTypeService.socialHotState(id,state); + } + + /** + * 社区-删除 + */ + @GetMapping("socialDelete/{id}") + @ControllerEndpoint(operation = "社区-删除", exceptionMessage = "删除失败") + public FebsResponse socialDelete(@NotNull(message = "{required}") @PathVariable Long id) { + + return clothesTypeService.socialDelete(id); + } + + /** + * 订单列表 + * + * @param dto + * @param request + * @return + */ + @GetMapping("orderList") + public FebsResponse getOrderList(AdminClothesOrderListDto dto, QueryRequest request) { + String startTime = dto.getStartTime(); + String endTime = dto.getEndTime(); + if(StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){ + DateTime dateStartTime= DateUtil.parseDate(startTime); + DateTime dateEndTime = DateUtil.parseDate(endTime); + int compare = DateUtil.compare(dateStartTime, dateEndTime); + if(compare >= 0){ + return new FebsResponse().fail().message("请输入正确的开始时间和结束时间"); + } + } + Map<String, Object> data = getDataTable(clothesTypeService.getOrderListInPage(dto, request)); + return new FebsResponse().success().data(data); + } + + /** + * 订单列表-发货 + */ + @PostMapping("deliverGoods") + @ControllerEndpoint(operation = "订单列表-发货", exceptionMessage = "操作失败") + public FebsResponse deliverGoods(AdminClothesDeliverGoodsDto dto) { + + return clothesTypeService.deliverGoods(dto); + } + + /** + * 订单列表-修改物流编号 + */ + @PostMapping("deliverGoodsUpdate") + @ControllerEndpoint(operation = "订单列表-修改物流编号", exceptionMessage = "操作失败") + public FebsResponse deliverGoodsUpdate(@Valid AdminClothesDeliverGoodsDto dto) { + + return clothesTypeService.deliverGoodsUpdate(dto); + } + + /** + * 订单列表-仅退款 + */ + + @GetMapping("refundOrder/{id}") + @ControllerEndpoint(operation = "订单列表-仅退款", exceptionMessage = "仅退款") + public FebsResponse refundOrder(@NotNull(message = "{required}") @PathVariable Long id) { + AdminClothesRefundOrderDto dto = new AdminClothesRefundOrderDto(); + dto.setId(id); + return clothesTypeService.refundOrder(dto); + } + + @GetMapping("confirmOrder/{ids}") + @ControllerEndpoint(operation = "订单列表-确认收货", exceptionMessage = "操作失败") + public FebsResponse confirmOrder(@NotBlank(message = "{required}") @PathVariable String ids){ + List<String> List = StrUtil.splitTrim(ids, ","); + for(String id : List){ + long orderId = Long.parseLong(id); + clothesTypeService.confirmOrder(orderId); + } + return new FebsResponse().success(); + } + + @GetMapping("exportOrderList/{ids}") + @ControllerEndpoint(operation = "订单列表", exceptionMessage = "导出失败") + public FebsResponse exportOrderList(@NotBlank(message = "{required}") @PathVariable String ids, HttpServletResponse response) throws IOException { + List<String> List = StrUtil.splitTrim(ids, ","); + if(CollUtil.isNotEmpty( List)){ + ArrayList<Long> orderIds = new ArrayList<>(); + for (String id : List){ + long orderId = Long.parseLong(id); + orderIds.add(orderId); + } + if(CollUtil.isNotEmpty(orderIds)){ + + clothesTypeService.exportOrderList(orderIds,response); + } + } + return null; + } + + @PostMapping(value = "/importDeliver") + @ControllerEndpoint(operation = "导入发货", exceptionMessage = "导入失败") + public FebsResponse importDeliver(@RequestBody MultipartFile file) throws IOException { + if (file.isEmpty()) { + return new FebsResponse().fail(); + } + + String fileName = file.getOriginalFilename(); + String dirPath = "/home/javaweb/webresource/clothes/"; + + File saveFile = new File(new File(dirPath).getAbsolutePath() + File.separator + fileName); + if (!saveFile.exists()) { + if (!saveFile.getParentFile().exists()) { + saveFile.getParentFile().mkdirs(); + } + } + + file.transferTo(saveFile); + + List<ExcelSheetPO> data = ExcelUtil.readExcel(saveFile, null, null); + if (CollUtil.isEmpty(data)) { + return new FebsResponse().fail(); + } + + List<List<Object>> dataList = data.get(0).getDataList(); + + int orderIdNoIndex = -1; + int expressNoIndex = -1; + int expressComIndex = -1; + int expressCodeIndex = -1; + for (int i = 1; i < dataList.size(); i++) { + List<Object> objects = dataList.get(i); + + String orderId = ""; + String expressNo = ""; + String expressCode = ""; + String expressCom = ""; + for (int j = 0; j < objects.size(); j++) { + Object obj = objects.get(j); + if ("订单ID".equals(obj)) { + orderIdNoIndex = j; + } + if ("物流单号".equals(obj)) { + expressNoIndex = j; + } + + if ("物流公司".equals(obj)) { + expressComIndex = j; + } + + if ("物流公司码".equals(obj)) { + expressCodeIndex = j; + } + + if (j == orderIdNoIndex) { + orderId = (String) objects.get(j); + } + + + if (j == expressNoIndex) { + expressNo = (String) objects.get(j); + } + + if (j == expressComIndex) { + expressCom = (String) objects.get(j); + } + + if (j == expressCodeIndex) { + expressCode = (String) objects.get(j);; + } + + } + + if (StrUtil.isNotBlank(expressNo) && StrUtil.isNotBlank(expressCode) && StrUtil.isNotBlank(expressCom)) { + AdminClothesDeliverGoodsDto dto = new AdminClothesDeliverGoodsDto(); + dto.setId(Long.parseLong(orderId)); + dto.setExpressCom(expressCom); + dto.setExpressCode(expressCode); + dto.setExpressNo(expressNo); + clothesTypeService.deliverGoodsImport(dto); + } + } + return new FebsResponse().success(); + } + /** * 分类列表 * @return -- Gitblit v1.9.1