| | |
| | | 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.ClothesOrderStatusEnum; |
| | | import cc.mrbird.febs.common.enumerates.OrderDeliveryStateEnum; |
| | | import cc.mrbird.febs.common.enumerates.OrderStatusEnum; |
| | | import cc.mrbird.febs.common.exception.FebsException; |
| | | import cc.mrbird.febs.common.utils.AppContants; |
| | | import cc.mrbird.febs.common.utils.RedisUtils; |
| | | 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.controller.order.ViewMallOrderController; |
| | | 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.mapper.ClothesOrderMapper; |
| | | import cc.mrbird.febs.mall.mapper.ClothesTypeMapper; |
| | | import cc.mrbird.febs.mall.service.ClothesTypeService; |
| | | import cc.mrbird.febs.mall.vo.clothes.AdminClothesTypeInfoVo; |
| | | import cc.mrbird.febs.mall.vo.memberLevel.AdminMemberLabelSetDto; |
| | | import cc.mrbird.febs.mall.vo.clothes.AdminClothesPrintLocationVo; |
| | | import cc.mrbird.febs.mall.vo.clothes.AdminClothesPrintMemberStatureVo; |
| | | import cc.mrbird.febs.mall.vo.clothes.AdminClothesPrintOrderVo; |
| | | import cc.mrbird.febs.mall.vo.clothes.AdminClothesPrintPatternVo; |
| | | 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 cn.hutool.json.JSON; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | 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.util.Map; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.io.OutputStream; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLEncoder; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Slf4j |
| | | @Validated |
| | |
| | | public class AdminClothesTypeController extends BaseController { |
| | | |
| | | private final ClothesTypeService clothesTypeService; |
| | | private final ClothesOrderMapper clothesOrderMapper; |
| | | private final ClothesTypeMapper clothesTypeMapper; |
| | | private final RedisUtils redisUtils; |
| | | |
| | | /** |
| | | * 分类列表 |
| | | * @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); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 社区列表-评论列表 |
| | | */ |
| | | @GetMapping("socialComment") |
| | | public FebsResponse socialComment(ClothesSocialComment dto, QueryRequest request, Integer parentId) { |
| | | String existToken = redisUtils.getString(AppContants.SOCIAL_COMMENT); |
| | | long socialId = Long.parseLong(existToken); |
| | | dto.setSocialId(socialId); |
| | | Map<String, Object> data = getDataTable(clothesTypeService.socialComment(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("commentStateSwitch/{id}/{state}") |
| | | @ControllerEndpoint(operation = "社区-开启评论", exceptionMessage = "操作失败") |
| | | public FebsResponse commentStateSwitch(@NotNull(message = "{required}") @PathVariable Long id, |
| | | @NotNull(message = "{required}") @PathVariable Integer state) { |
| | | |
| | | return clothesTypeService.commentStateSwitch(id,state); |
| | | } |
| | | |
| | | /** |
| | | * 社区-评论-是否展示 |
| | | */ |
| | | @GetMapping("showStateSwitch/{id}/{state}") |
| | | @ControllerEndpoint(operation = "社区-评论-是否展示", exceptionMessage = "操作失败") |
| | | public FebsResponse showStateSwitch(@NotNull(message = "{required}") @PathVariable Long id, |
| | | @NotNull(message = "{required}") @PathVariable Integer state) { |
| | | |
| | | return clothesTypeService.showStateSwitch(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); |
| | | } |
| | | |
| | | /** |
| | | * 订单列表-修改物流编号 |
| | | */ |
| | | @GetMapping("printOrder/{id}") |
| | | @ControllerEndpoint(operation = "订单列表-修改物流编号", exceptionMessage = "操作失败") |
| | | public FebsResponse printOrder(@NotNull(message = "{required}") @PathVariable Long id) { |
| | | AdminClothesPrintOrderDto dto = new AdminClothesPrintOrderDto(); |
| | | dto.setId(id); |
| | | return clothesTypeService.printOrder(dto); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | AdminClothesPrintOrderVo vo = new AdminClothesPrintOrderVo(); |
| | | vo.setOrderNo("20201201"); |
| | | vo.setTypeName("T恤"); |
| | | vo.setTypeFront("https://excoin.oss-cn-hangzhou.aliyuncs.com/clothes/1752740706568ab67808fb49940a7930b9e0ab0793238.png"); |
| | | vo.setTypeBack("https://excoin.oss-cn-hangzhou.aliyuncs.com/clothes/1752740734639227e7f5a0f3a4de097a2785305bff825.png"); |
| | | vo.setClothName("棉"); |
| | | vo.setClothCode("TX"); |
| | | vo.setSizeName("XL"); |
| | | vo.setSizeCode("XL"); |
| | | vo.setArtName("印花"); |
| | | vo.setArtCode("C"); |
| | | List<AdminClothesPrintPatternVo> patterns = new ArrayList<>(); |
| | | AdminClothesPrintPatternVo pattern = new AdminClothesPrintPatternVo(); |
| | | pattern.setPatternName("胸口"); |
| | | pattern.setPatternCode("front-one"); |
| | | pattern.setPatternText("胸口"); |
| | | pattern.setPatternImage("https://excoin.oss-cn-hangzhou.aliyuncs.com/clothes/17527407868773d1ad92c4c2e454396a6fc051c2219bc.png"); |
| | | patterns.add(pattern); |
| | | |
| | | AdminClothesPrintPatternVo pattern1 = new AdminClothesPrintPatternVo(); |
| | | pattern1.setPatternName("左下"); |
| | | pattern1.setPatternCode("front-two"); |
| | | pattern1.setPatternText("左下"); |
| | | pattern1.setPatternImage("https://excoin.oss-cn-hangzhou.aliyuncs.com/clothes/17527407868773d1ad92c4c2e454396a6fc051c2219bc.png"); |
| | | patterns.add(pattern1); |
| | | AdminClothesPrintPatternVo pattern2 = new AdminClothesPrintPatternVo(); |
| | | pattern2.setPatternName("袖口"); |
| | | pattern2.setPatternCode("front-three"); |
| | | pattern2.setPatternText("袖口"); |
| | | pattern2.setPatternImage("https://excoin.oss-cn-hangzhou.aliyuncs.com/clothes/17527407868773d1ad92c4c2e454396a6fc051c2219bc.png"); |
| | | patterns.add(pattern2); |
| | | vo.setPatterns( patterns); |
| | | |
| | | List<AdminClothesPrintLocationVo> locations = new ArrayList<>(); |
| | | AdminClothesPrintLocationVo location = new AdminClothesPrintLocationVo(); |
| | | location.setLocationName("后背"); |
| | | location.setLocationCode("back-one"); |
| | | location.setLocationText("后背"); |
| | | location.setLocationImage("https://excoin.oss-cn-hangzhou.aliyuncs.com/clothes/17527407868773d1ad92c4c2e454396a6fc051c2219bc.png"); |
| | | locations.add(location); |
| | | vo.setLocations(locations); |
| | | |
| | | AdminClothesPrintMemberStatureVo adminClothesPrintMemberStatureVo = new AdminClothesPrintMemberStatureVo(); |
| | | adminClothesPrintMemberStatureVo.setName("会员身高"); |
| | | adminClothesPrintMemberStatureVo.setHeightLine(new BigDecimal("170")); |
| | | adminClothesPrintMemberStatureVo.setBustLine(new BigDecimal("90")); |
| | | adminClothesPrintMemberStatureVo.setWaistLine(new BigDecimal("80")); |
| | | adminClothesPrintMemberStatureVo.setWideLine(new BigDecimal("100")); |
| | | adminClothesPrintMemberStatureVo.setHipLine(new BigDecimal("100")); |
| | | vo.setMemberStature(adminClothesPrintMemberStatureVo); |
| | | |
| | | |
| | | //将vo转换成json字符串 |
| | | JSON parse = JSONUtil.parse(vo); |
| | | System.out.println(parse.toString()); |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 订单列表-修改物流编号 |
| | | */ |
| | | @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") |
| | | @ControllerEndpoint(operation = "订单列表", exceptionMessage = "导出失败") |
| | | public FebsResponse exportOrderList(ClothesOrder clothesOrder, HttpServletResponse response) throws IOException { |
| | | if(ObjectUtil.isNull(clothesOrder.getIds())){ |
| | | throw new FebsException("请选择要导出的订单"); |
| | | } |
| | | String ids = clothesOrder.getIds(); |
| | | 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)){ |
| | | |
| | | List<ExcelSheetPO> res = new ArrayList<>(); |
| | | |
| | | ExcelSheetPO orderSheet = new ExcelSheetPO(); |
| | | String title = "订单列表"; |
| | | orderSheet.setSheetName(title); |
| | | orderSheet.setTitle(title); |
| | | String[] header = {"订单ID", "订单编号", "收货姓名", "收货电话", "收货地址", "商品详情", "备注", "物流单号", "物流公司", "物流公司码"}; |
| | | orderSheet.setHeaders(header); |
| | | |
| | | QueryRequest request = new QueryRequest(); |
| | | request.setPageNum(1); |
| | | request.setPageSize(9999); |
| | | List<ClothesOrder> dataList = clothesOrderMapper.selectList( |
| | | Wrappers.lambdaQuery(ClothesOrder.class) |
| | | .in(ClothesOrder::getId, orderIds) |
| | | .eq(ClothesOrder::getDelFlag, 0) |
| | | .eq(ClothesOrder::getStatus, ClothesOrderStatusEnum.WAIT_SHIPPING.getValue())); |
| | | Map<Long, ClothesType> longClothesTypeHashMap = new HashMap<>(); |
| | | if(CollUtil.isNotEmpty(dataList)){ |
| | | Set<Long> typeIds = dataList.stream().map(ClothesOrder::getTypeId).collect(Collectors.toSet()); |
| | | List<ClothesType> clothesTypes = clothesTypeMapper.selectList( |
| | | Wrappers.lambdaQuery(ClothesType.class) |
| | | .in(ClothesType::getId, typeIds) |
| | | ); |
| | | if(CollUtil.isNotEmpty(clothesTypes)){ |
| | | //stream操作clothesTypes,返回一个HashMap<Long, ClothesType>, key为clothesType.id, value为clothesType |
| | | longClothesTypeHashMap = clothesTypes.stream().collect(Collectors.toMap(ClothesType::getId, clothesType -> clothesType)); |
| | | } |
| | | } |
| | | |
| | | List<List<Object>> list = new ArrayList<>(); |
| | | |
| | | if (dataList.size() > 0) { |
| | | for (ClothesOrder item : dataList) { |
| | | List<Object> temp = new ArrayList<>(); |
| | | temp.add(item.getId()); |
| | | temp.add(item.getOrderNo()); |
| | | temp.add(item.getName()); |
| | | temp.add(item.getPhone()); |
| | | temp.add(item.getAddress()); |
| | | temp.add(longClothesTypeHashMap.get(item.getTypeId()).getName()); |
| | | temp.add(item.getRemark()); |
| | | list.add(temp); |
| | | } |
| | | } |
| | | orderSheet.setDataList(list); |
| | | res.add(orderSheet); |
| | | response = ResponseHeadUtil.setExcelHead(response); |
| | | response.setHeader("Content-Disposition", |
| | | "attachment;filename=" + URLEncoder.encode(title + DateUtil.format(new Date(), "yyyyMMDDHHmmss") + ".xlsx".trim(), "UTF-8")); |
| | | OutputStream os = response.getOutputStream(); |
| | | ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true); |
| | | } |
| | | } |
| | | 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 |