| | |
| | | |
| | | import cc.mrbird.febs.common.controller.BaseController; |
| | | import cc.mrbird.febs.common.entity.FebsConstant; |
| | | import cc.mrbird.febs.common.enumerates.SocialPatternLocationTypeEnum; |
| | | import cc.mrbird.febs.common.utils.AppContants; |
| | | import cc.mrbird.febs.common.utils.FebsUtil; |
| | | import cc.mrbird.febs.common.utils.RedisUtils; |
| | | import cc.mrbird.febs.mall.entity.*; |
| | | import cc.mrbird.febs.mall.mapper.*; |
| | | import cc.mrbird.febs.mall.service.ClothesTypeService; |
| | | import cc.mrbird.febs.mall.service.IAdminBannerService; |
| | | import cc.mrbird.febs.mall.vo.AdminLabelSetVo; |
| | | import cc.mrbird.febs.mall.vo.AdminMallOrderVo; |
| | | import cc.mrbird.febs.mall.vo.clothes.AdminClothesDeliverGoodsVo; |
| | | import cc.mrbird.febs.mall.vo.clothes.AdminClothesLocationRemarkVo; |
| | | import cc.mrbird.febs.mall.vo.clothes.AdminClothesPatternRemarkVo; |
| | | import cc.mrbird.febs.mall.vo.clothes.AdminClothesTypeInfoVo; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | 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.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import lombok.RequiredArgsConstructor; |
| | |
| | | private final ClothesTypeClothMapper clothesTypeClothMapper; |
| | | private final ClothesTypePatternMapper clothesTypePatternMapper; |
| | | private final ClothesTypeLocationMapper clothesTypeLocationMapper; |
| | | private final ClothesOrderMapper clothesOrderMapper; |
| | | private final ClothesSocialCategoryMapper clothesSocialCategoryMapper; |
| | | private final ClothesSocialMapper clothesSocialMapper; |
| | | private final ClothesSocialMuseMapper clothesSocialMuseMapper; |
| | | private final ClothesSocialFileMapper clothesSocialFileMapper; |
| | | private final MallExpressInfoMapper mallExpressInfoMapper; |
| | | private final ClothesPatternRemarkMapper clothesPatternRemarkMapper; |
| | | private final ClothesLocationRemarkMapper clothesLocationRemarkMapper; |
| | | private final RedisUtils redisUtils; |
| | | |
| | | /** |
| | | * 社区分类列表 |
| | | */ |
| | | @GetMapping("groupList") |
| | | @RequiresPermissions("groupList:view") |
| | | public String groupList() { |
| | | |
| | | return FebsUtil.view("modules/clothesType/groupList"); |
| | | } |
| | | |
| | | /** |
| | | * 社区分类新增 |
| | | * @return |
| | | */ |
| | | @GetMapping(value = "/groupAdd") |
| | | @RequiresPermissions("groupAdd:add") |
| | | public String groupAdd() { |
| | | |
| | | return FebsUtil.view("modules/clothesType/groupAdd"); |
| | | } |
| | | |
| | | /** |
| | | * 社区分类编辑 |
| | | * @param id |
| | | * @param model |
| | | * @return |
| | | */ |
| | | @GetMapping("groupInfo/{id}") |
| | | @RequiresPermissions("groupInfo:view") |
| | | public String groupInfo(@PathVariable long id, Model model) { |
| | | |
| | | ClothesSocialCategory clothesSocialCategory = clothesSocialCategoryMapper.selectById(id); |
| | | model.addAttribute("voteActivityGroup", clothesSocialCategory); |
| | | return FebsUtil.view("modules/clothesType/groupInfo"); |
| | | } |
| | | |
| | | /** |
| | | * 社区列表 |
| | | */ |
| | | @GetMapping("socialList") |
| | | @RequiresPermissions("socialList:view") |
| | | public String socialList() { |
| | | |
| | | return FebsUtil.view("modules/clothesType/socialList"); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 社区列表-查看评论 |
| | | * @return |
| | | */ |
| | | @GetMapping("/socialComment/{id}") |
| | | @RequiresPermissions("socialComment:view") |
| | | public String socialComment(@PathVariable Long id, Model model) { |
| | | |
| | | String existToken = redisUtils.getString(AppContants.SOCIAL_COMMENT); |
| | | if (StrUtil.isNotBlank(existToken)) { |
| | | Object o = redisUtils.get(existToken); |
| | | if (ObjectUtil.isNotEmpty(o)) { |
| | | redisUtils.del(existToken); |
| | | } |
| | | } |
| | | redisUtils.set(AppContants.SOCIAL_COMMENT, id, -1); |
| | | return FebsUtil.view("modules/clothesType/socialComment"); |
| | | } |
| | | |
| | | /** |
| | | * 社区-新增 |
| | | */ |
| | | @GetMapping("socialAdd") |
| | | @RequiresPermissions("socialAdd:add") |
| | | public String socialAdd() { |
| | | return FebsUtil.view("modules/clothesType/socialAdd"); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 社区-修改 |
| | | */ |
| | | @GetMapping("socialUpdate/{id}") |
| | | @RequiresPermissions("socialUpdate:update") |
| | | public String socialUpdate(@PathVariable long id, Model model) { |
| | | ClothesSocial clothesSocial = clothesSocialMapper.selectById(id); |
| | | List<ClothesSocialFile> clothesSocialFiles = clothesSocialFileMapper.selectList( |
| | | Wrappers.lambdaQuery(ClothesSocialFile.class) |
| | | .eq(ClothesSocialFile::getSocialId, id) |
| | | ); |
| | | if(CollUtil.isNotEmpty(clothesSocialFiles)){ |
| | | clothesSocial.setImages(clothesSocialFiles.stream().map(ClothesSocialFile::getFileUrl).collect(Collectors.toList())); |
| | | } |
| | | ClothesSocialMuse clothesSocialMuse = clothesSocialMuseMapper.selectOne( |
| | | Wrappers.lambdaQuery(ClothesSocialMuse.class) |
| | | .eq(ClothesSocialMuse::getSocialId, clothesSocial.getId()) |
| | | .last("LIMIT 1") |
| | | ); |
| | | if(ObjectUtil.isNotNull(clothesSocialMuse)){ |
| | | clothesSocial.setTypeId(clothesSocialMuse.getTypeId()); |
| | | } |
| | | model.addAttribute("activity", clothesSocial); |
| | | |
| | | return FebsUtil.view("modules/clothesType/socialUpdate"); |
| | | } |
| | | |
| | | /** |
| | | * 社区-灵感 |
| | | */ |
| | | @GetMapping("socialMuseUpdate/{id}") |
| | | @RequiresPermissions("socialMuseUpdate:update") |
| | | public String socialMuseUpdate(@PathVariable long id, Model model) { |
| | | ClothesSocial clothesSocial = clothesSocialMapper.selectById(id); |
| | | |
| | | ClothesSocialMuse clothesSocialMuse = clothesSocialMuseMapper.selectOne( |
| | | Wrappers.lambdaQuery(ClothesSocialMuse.class) |
| | | .eq(ClothesSocialMuse::getSocialId, clothesSocial.getId()) |
| | | .last("LIMIT 1") |
| | | ); |
| | | |
| | | List<AdminClothesPatternRemarkVo> patternData = new ArrayList<>(); |
| | | List<ClothesPatternRemark> patternRemarks = clothesPatternRemarkMapper.selectList( |
| | | Wrappers.lambdaQuery(ClothesPatternRemark.class) |
| | | .eq(ClothesPatternRemark::getSourceId, clothesSocialMuse.getId()) |
| | | .eq(ClothesPatternRemark::getType, SocialPatternLocationTypeEnum.MUSE.getValue()) |
| | | ); |
| | | if(CollUtil.isNotEmpty(patternRemarks)){ |
| | | for (ClothesPatternRemark entity : patternRemarks){ |
| | | AdminClothesPatternRemarkVo vo = new AdminClothesPatternRemarkVo(); |
| | | vo.setPatternId(entity.getPatternId()); |
| | | ClothesPattern clothesPattern = clothesPatternMapper.selectById(entity.getPatternId()); |
| | | vo.setPatternName(clothesPattern.getName()); |
| | | JSON parse = JSONUtil.parse(entity.getRemark()); |
| | | vo.setPatternText(parse.getByPath("text", String.class)); |
| | | vo.setSkuPatternImage(parse.getByPath("file", String.class)); |
| | | patternData.add(vo); |
| | | } |
| | | clothesSocialMuse.setPatternData(patternData); |
| | | } |
| | | List<AdminClothesLocationRemarkVo> locationData = new ArrayList<>(); |
| | | List<ClothesLocationRemark> locationRemarks = clothesLocationRemarkMapper.selectList( |
| | | Wrappers.lambdaQuery(ClothesLocationRemark.class) |
| | | .eq(ClothesLocationRemark::getSourceId, clothesSocialMuse.getId()) |
| | | .eq(ClothesLocationRemark::getType, SocialPatternLocationTypeEnum.MUSE.getValue()) |
| | | ); |
| | | if(CollUtil.isNotEmpty(locationRemarks)){ |
| | | for (ClothesLocationRemark entity : locationRemarks){ |
| | | AdminClothesLocationRemarkVo vo = new AdminClothesLocationRemarkVo(); |
| | | vo.setLocationId(entity.getLocationId()); |
| | | ClothesLocation clothesLocation = clothesLocationMapper.selectById(entity.getLocationId()); |
| | | vo.setLocationName(clothesLocation.getName()); |
| | | JSON parse = JSONUtil.parse(entity.getRemark()); |
| | | vo.setLocationText(parse.getByPath("text", String.class)); |
| | | vo.setSkuLocationImage(parse.getByPath("file", String.class)); |
| | | locationData.add(vo); |
| | | } |
| | | clothesSocialMuse.setLocationData(locationData); |
| | | } |
| | | |
| | | model.addAttribute("socialMuse", clothesSocialMuse); |
| | | |
| | | return FebsUtil.view("modules/clothesType/socialMuseUpdate"); |
| | | } |
| | | |
| | | /** |
| | | * 订单列表 |
| | | */ |
| | | @GetMapping("orderList") |
| | | @RequiresPermissions("orderList:view") |
| | | public String orderList() { |
| | | |
| | | return FebsUtil.view("modules/clothesType/orderList"); |
| | | } |
| | | |
| | | /** |
| | | * 订单-发货 |
| | | * @param id |
| | | * @param model |
| | | * @return |
| | | */ |
| | | @GetMapping("deliverGoods/{id}") |
| | | @RequiresPermissions("deliverGoods:update") |
| | | public String deliverGoods(@PathVariable Long id, Model model) { |
| | | AdminClothesDeliverGoodsVo data = new AdminClothesDeliverGoodsVo(); |
| | | ClothesOrder clothesOrder = clothesOrderMapper.selectById(id); |
| | | data.setId(clothesOrder.getId()); |
| | | data.setName(clothesOrder.getName()); |
| | | data.setPhone(clothesOrder.getPhone()); |
| | | data.setAddress(clothesOrder.getAddress()); |
| | | data.setExpressCom("极兔快递"); |
| | | MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectOne( |
| | | Wrappers.lambdaQuery(MallExpressInfo.class) |
| | | .eq(MallExpressInfo::getOrderId, id) |
| | | .eq(MallExpressInfo::getOrderNo, clothesOrder.getOrderNo()) |
| | | .last("limit 1") |
| | | ); |
| | | if(ObjectUtil.isNotNull(mallExpressInfo)){ |
| | | data.setExpressNo(mallExpressInfo.getExpressNo()); |
| | | data.setExpressCom(mallExpressInfo.getExpressCom()); |
| | | }else{ |
| | | data.setExpressCom("极兔快递"); |
| | | data.setExpressNo("JT"); |
| | | } |
| | | model.addAttribute("deliverInfo", data); |
| | | return FebsUtil.view("modules/clothesType/deliverGoods"); |
| | | } |
| | | |
| | | /** |
| | | * 种类列表 |