Browse Source

修复商品品牌

zyj
sj 3 years ago
parent
commit
173a6145af
  1. 4
      zsw-bxg/src/main/java/co/yixiang/modules/product/domain/YxStoreProduct.java
  2. 9
      zsw-bxg/src/main/java/co/yixiang/modules/product/service/dto/StoreProductDto.java
  3. 3
      zsw-bxg/src/main/java/co/yixiang/modules/product/service/dto/YxStoreProductDto.java
  4. 2
      zsw-bxg/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java
  5. 70
      zsw-bxg/src/main/java/co/yixiang/modules/store/domain/YxStoreBrand.java
  6. 86
      zsw-bxg/src/main/java/co/yixiang/modules/store/rest/YxStoreBrandController.java
  7. 48
      zsw-bxg/src/main/java/co/yixiang/modules/store/service/YxStoreBrandService.java
  8. 46
      zsw-bxg/src/main/java/co/yixiang/modules/store/service/dto/YxStoreBrandDto.java
  9. 19
      zsw-bxg/src/main/java/co/yixiang/modules/store/service/dto/YxStoreBrandQueryCriteria.java
  10. 84
      zsw-bxg/src/main/java/co/yixiang/modules/store/service/impl/YxStoreBrandServiceImpl.java
  11. 22
      zsw-bxg/src/main/java/co/yixiang/modules/store/service/mapper/YxStoreBrandMapper.java
  12. 8
      zsw-bxg/src/main/java/co/yixiang/modules/store/service/vo/YxStoreBrandVO.java
  13. 1
      zsw-bxg/src/main/java/co/yixiang/tools/service/impl/QiNiuServiceImpl.java

4
zsw-bxg/src/main/java/co/yixiang/modules/product/domain/YxStoreProduct.java

@ -12,6 +12,7 @@ import co.yixiang.modules.category.domain.YxStoreCategory;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@ -88,6 +89,9 @@ public class YxStoreProduct extends BaseDomain {
@ApiModelProperty(value = "分类id") @ApiModelProperty(value = "分类id")
private String cateId; private String cateId;
/** 品牌id (默认无品牌)*/
@JsonProperty("brand_id")
private String brandId;
/** 商品价格 */ /** 商品价格 */
@ApiModelProperty(value = "商品价格") @ApiModelProperty(value = "商品价格")

9
zsw-bxg/src/main/java/co/yixiang/modules/product/service/dto/StoreProductDto.java

@ -8,7 +8,6 @@ import lombok.ToString;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
@ -28,11 +27,11 @@ public class StoreProductDto
/** 商品图片 */ /** 商品图片 */
@NotBlank(message = "商品图片必传") // @NotBlank(message = "商品图片必传")
private String image; private String image;
/** 轮播图 */ /** 轮播图 */
@NotNull(message = "轮播图不为空") // @NotNull(message = "轮播图不为空")
@JsonProperty("slider_image") @JsonProperty("slider_image")
private List<String> sliderImage; private List<String> sliderImage;
@ -58,6 +57,10 @@ public class StoreProductDto
@JsonProperty("cate_id") @JsonProperty("cate_id")
private String cateId; private String cateId;
/** 品牌id (默认无品牌)*/
@JsonProperty("brand_id")
private String brandId;
/** 商品价格 */ /** 商品价格 */
private Double price; private Double price;

3
zsw-bxg/src/main/java/co/yixiang/modules/product/service/dto/YxStoreProductDto.java

@ -46,6 +46,9 @@ public class YxStoreProductDto implements Serializable {
/** 分类id */ /** 分类id */
private String cateId; private String cateId;
/** 品牌id */
private String brandId;
/** 商品价格 */ /** 商品价格 */
private BigDecimal price; private BigDecimal price;

2
zsw-bxg/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java

@ -539,7 +539,9 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
*/ */
@Override @Override
public void insertAndEditYxStoreProduct(StoreProductDto storeProductDto) { public void insertAndEditYxStoreProduct(StoreProductDto storeProductDto) {
//描述
storeProductDto.setDescription(RegexUtil.converProductDescription(storeProductDto.getDescription())); storeProductDto.setDescription(RegexUtil.converProductDescription(storeProductDto.getDescription()));
//价格
ProductResultDto resultDTO = this.computedProduct(storeProductDto.getAttrs()); ProductResultDto resultDTO = this.computedProduct(storeProductDto.getAttrs());
//添加商品 //添加商品

70
zsw-bxg/src/main/java/co/yixiang/modules/store/domain/YxStoreBrand.java

@ -0,0 +1,70 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.store.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.validation.constraints.*;
import java.sql.Timestamp;
import java.io.Serializable;
/**
* @author ssj
* @date 2022-09-15
*/
@Data
@TableName("yx_store_brand")
public class YxStoreBrand implements Serializable {
/** 商品品牌表ID */
@TableId
private Integer id;
/** 品牌名称 */
@NotBlank
private String brandName;
/** 排序 */
private Integer sort;
/** 图标 */
private String pic;
/** 是否推荐 */
private Integer isShow;
/** 添加时间 */
@TableField(fill= FieldFill.INSERT)
private Timestamp createTime;
@TableField(fill= FieldFill.INSERT_UPDATE)
private Timestamp updateTime;
/** 删除状态 */
private Integer isDel;
private Long tenantId;
public void copy(YxStoreBrand source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
}
}

86
zsw-bxg/src/main/java/co/yixiang/modules/store/rest/YxStoreBrandController.java

@ -0,0 +1,86 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.store.rest;
import java.util.Arrays;
import co.yixiang.domain.PageResult;
import co.yixiang.dozer.service.IGenerator;
import co.yixiang.logging.aop.log.Log;
import lombok.AllArgsConstructor;
import co.yixiang.modules.store.domain.YxStoreBrand;
import co.yixiang.modules.store.service.YxStoreBrandService;
import co.yixiang.modules.store.service.dto.YxStoreBrandQueryCriteria;
import co.yixiang.modules.store.service.dto.YxStoreBrandDto;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
/**
* @author ssj
* @date 2022-09-15
*/
@AllArgsConstructor
@Api(tags = "brand管理")
@RestController
@RequestMapping("/api/yxStoreBrand")
public class YxStoreBrandController {
private final YxStoreBrandService yxStoreBrandService;
private final IGenerator generator;
@Log("导出数据")
@ApiOperation("导出数据")
@GetMapping(value = "/download")
@PreAuthorize("@ss.hasAnyPermissions('admin','yxStoreBrand:list')")
public void download(HttpServletResponse response, YxStoreBrandQueryCriteria criteria) throws IOException {
yxStoreBrandService.download(generator.convert(yxStoreBrandService.queryAll(criteria), YxStoreBrandDto.class), response);
}
@GetMapping
@Log("查询brand")
@ApiOperation("查询brand")
@PreAuthorize("@ss.hasAnyPermissions('admin','yxStoreBrand:list')")
public ResponseEntity<PageResult<YxStoreBrandDto>> getYxStoreBrands(YxStoreBrandQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(yxStoreBrandService.queryAll(criteria,pageable),HttpStatus.OK);
}
@PostMapping
@Log("新增brand")
@ApiOperation("新增brand")
@PreAuthorize("@ss.hasAnyPermissions('admin','yxStoreBrand:add')")
public ResponseEntity<Object> create(@Validated @RequestBody YxStoreBrand resources){
return new ResponseEntity<>(yxStoreBrandService.save(resources),HttpStatus.CREATED);
}
@PutMapping
@Log("修改brand")
@ApiOperation("修改brand")
@PreAuthorize("@ss.hasAnyPermissions('admin','yxStoreBrand:edit')")
public ResponseEntity<Object> update(@Validated @RequestBody YxStoreBrand resources){
yxStoreBrandService.updateById(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除brand")
@ApiOperation("删除brand")
@PreAuthorize("@ss.hasAnyPermissions('admin','yxStoreBrand:del')")
@DeleteMapping
public ResponseEntity<Object> deleteAll(@RequestBody Integer[] ids) {
Arrays.asList(ids).forEach(id->{
yxStoreBrandService.removeById(id);
});
return new ResponseEntity<>(HttpStatus.OK);
}
}

48
zsw-bxg/src/main/java/co/yixiang/modules/store/service/YxStoreBrandService.java

@ -0,0 +1,48 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.store.service;
import co.yixiang.common.service.BaseService;
import co.yixiang.domain.PageResult;
import co.yixiang.modules.store.domain.YxStoreBrand;
import co.yixiang.modules.store.service.dto.YxStoreBrandDto;
import co.yixiang.modules.store.service.dto.YxStoreBrandQueryCriteria;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
/**
* @author ssj
* @date 2022-09-15
*/
public interface YxStoreBrandService extends BaseService<YxStoreBrand> {
/**
* 查询数据分页
* @param criteria 条件
* @param pageable 分页参数
* @return Map<String,Object>
*/
PageResult<YxStoreBrandDto> queryAll(YxStoreBrandQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<YxStoreBrandDto>
*/
List<YxStoreBrand> queryAll(YxStoreBrandQueryCriteria criteria);
/**
* 导出数据
* @param all 待导出的数据
* @param response /
* @throws IOException /
*/
void download(List<YxStoreBrandDto> all, HttpServletResponse response) throws IOException;
}

46
zsw-bxg/src/main/java/co/yixiang/modules/store/service/dto/YxStoreBrandDto.java

@ -0,0 +1,46 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.store.service.dto;
import lombok.Data;
import java.sql.Timestamp;
import java.io.Serializable;
/**
* @author ssj
* @date 2022-09-15
*/
@Data
public class YxStoreBrandDto implements Serializable {
/** 商品品牌表ID */
private Integer id;
/** 品牌名称 */
private String brandName;
/** 排序 */
private Integer sort;
/** 图标 */
private String pic;
/** 是否推荐 */
private Integer isShow;
/** 添加时间 */
private Timestamp createTime;
private Timestamp updateTime;
/** 删除状态 */
private Integer isDel;
private Long tenantId;
}

19
zsw-bxg/src/main/java/co/yixiang/modules/store/service/dto/YxStoreBrandQueryCriteria.java

@ -0,0 +1,19 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.store.service.dto;
import lombok.Data;
/**
* @author ssj
* @date 2022-09-15
*/
@Data
public class YxStoreBrandQueryCriteria{
}

84
zsw-bxg/src/main/java/co/yixiang/modules/store/service/impl/YxStoreBrandServiceImpl.java

@ -0,0 +1,84 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.store.service.impl;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.domain.PageResult;
import co.yixiang.dozer.service.IGenerator;
import co.yixiang.modules.store.domain.YxStoreBrand;
import co.yixiang.modules.store.service.vo.YxStoreBrandVO;
import co.yixiang.utils.FileUtil;
import lombok.AllArgsConstructor;
import com.github.pagehelper.PageInfo;
import co.yixiang.modules.store.service.YxStoreBrandService;
import co.yixiang.modules.store.service.dto.YxStoreBrandDto;
import co.yixiang.modules.store.service.dto.YxStoreBrandQueryCriteria;
import co.yixiang.modules.store.service.mapper.YxStoreBrandMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
// 默认不使用缓存
//import org.springframework.cache.annotation.CacheConfig;
//import org.springframework.cache.annotation.CacheEvict;
//import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
/**
* @author ssj
* @date 2022-09-15
*/
@Service
@AllArgsConstructor
//@CacheConfig(cacheNames = "yxStoreBrand")
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class YxStoreBrandServiceImpl extends BaseServiceImpl<YxStoreBrandMapper, YxStoreBrand> implements YxStoreBrandService {
private final IGenerator generator;
@Override
//@Cacheable
public PageResult<YxStoreBrandDto> queryAll(YxStoreBrandQueryCriteria criteria, Pageable pageable) {
getPage(pageable);
PageInfo<YxStoreBrand> page = new PageInfo<>(queryAll(criteria));
return generator.convertPageInfo(page, YxStoreBrandDto.class);
}
@Override
//@Cacheable
public List<YxStoreBrand> queryAll(YxStoreBrandQueryCriteria criteria){
return baseMapper.selectList(QueryHelpPlus.getPredicate(YxStoreBrand.class, criteria));
}
@Override
public void download(List<YxStoreBrandDto> all, HttpServletResponse response) throws IOException {
List<Map<String, Object>> list = new ArrayList<>();
for (YxStoreBrandDto yxStoreBrand : all) {
Map<String,Object> map = new LinkedHashMap<>();
map.put("品牌名称", yxStoreBrand.getBrandName());
map.put("排序", yxStoreBrand.getSort());
map.put("图标", yxStoreBrand.getPic());
map.put("是否推荐", yxStoreBrand.getIsShow());
map.put("添加时间", yxStoreBrand.getCreateTime());
map.put(" updateTime", yxStoreBrand.getUpdateTime());
map.put("删除状态", yxStoreBrand.getIsDel());
map.put(" tenantId", yxStoreBrand.getTenantId());
list.add(map);
}
FileUtil.downloadExcel(list, response);
}
}

22
zsw-bxg/src/main/java/co/yixiang/modules/store/service/mapper/YxStoreBrandMapper.java

@ -0,0 +1,22 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖分享上传到码云github等开源平台
* 一经发现盗用分享等行为将追究法律责任后果自负
*/
package co.yixiang.modules.store.service.mapper;
import co.yixiang.common.mapper.CoreMapper;
import co.yixiang.modules.store.domain.YxStoreBrand;
import org.springframework.stereotype.Repository;
/**
* @author ssj
* @date 2022-09-15
*/
@Repository
public interface YxStoreBrandMapper extends CoreMapper<YxStoreBrand> {
}

8
zsw-bxg/src/main/java/co/yixiang/modules/store/service/vo/YxStoreBrandVO.java

@ -0,0 +1,8 @@
package co.yixiang.modules.store.service.vo;
import co.yixiang.modules.store.domain.YxStoreBrand;
import lombok.Data;
@Data
public class YxStoreBrandVO extends YxStoreBrand {
}

1
zsw-bxg/src/main/java/co/yixiang/tools/service/impl/QiNiuServiceImpl.java

@ -94,7 +94,6 @@ public class QiNiuServiceImpl implements QiNiuService {
// @CacheEvict(allEntries = true) // @CacheEvict(allEntries = true)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public QiniuContent upload(MultipartFile file, QiniuConfig qiniuConfig) { public QiniuContent upload(MultipartFile file, QiniuConfig qiniuConfig) {
System.out.println("走到了这里");
if(qiniuConfig.getId() == null){ if(qiniuConfig.getId() == null){
throw new BadRequestException("请先添加相应配置,再操作"); throw new BadRequestException("请先添加相应配置,再操作");
} }

Loading…
Cancel
Save