商品增加无理由退款等配置
This commit is contained in:
+8
@@ -119,6 +119,10 @@ public class AppStoreSeckillController {
|
||||
JSONObject jsonObject = JSON.parseObject(jsonStr);
|
||||
int time = Integer.valueOf(jsonObject.get("time").toString());//时间 5
|
||||
int continued = Integer.valueOf(jsonObject.get("continued").toString());//活动持续事件 3
|
||||
String rule="";
|
||||
if (jsonObject.get("rule")!=null){
|
||||
rule=jsonObject.get("rule").toString();
|
||||
}
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("HH");
|
||||
String nowTime = sdf.format(new Date());
|
||||
String index = nowTime.substring(0, 1);
|
||||
@@ -131,23 +135,27 @@ public class AppStoreSeckillController {
|
||||
seckillTimeDto.setState("即将开始");
|
||||
seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00");
|
||||
seckillTimeDto.setStatus(2);
|
||||
seckillTimeDto.setRule(rule);
|
||||
seckillTimeDto.setStop(today + activityEndHour * 3600);
|
||||
} else {
|
||||
if (currentHour >= time && currentHour < activityEndHour) {
|
||||
seckillTimeDto.setState("抢购中");
|
||||
seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00");
|
||||
seckillTimeDto.setStatus(1);
|
||||
seckillTimeDto.setRule(rule);
|
||||
seckillTimeDto.setStop(today + activityEndHour * 3600);
|
||||
seckillTimeIndex.set(yxSystemGroupDataList.indexOf(i));
|
||||
} else if (currentHour < time) {
|
||||
seckillTimeDto.setState("即将开始");
|
||||
seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00");
|
||||
seckillTimeDto.setStatus(2);
|
||||
seckillTimeDto.setRule(rule);
|
||||
seckillTimeDto.setStop(OrderUtil.dateToTimestamp(new Date()) + activityEndHour * 3600);
|
||||
} else if (currentHour >= activityEndHour) {
|
||||
seckillTimeDto.setState("已结束");
|
||||
seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00");
|
||||
seckillTimeDto.setStatus(0);
|
||||
seckillTimeDto.setRule(rule);
|
||||
seckillTimeDto.setStop(today + activityEndHour * 3600);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,9 @@ public class SeckillTimeDto {
|
||||
@ApiModelProperty(value = "秒杀产品状态")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "秒杀规则")
|
||||
private String rule;
|
||||
|
||||
@ApiModelProperty(value = "秒杀产品停止时间")
|
||||
private Integer stop;
|
||||
}
|
||||
|
||||
+14
-4
@@ -82,9 +82,11 @@ public class YxEvaluationServiceImpl extends BaseServiceImpl<YxEvaluationMapper,
|
||||
.eq(YxStoreProduct::getId, yxEvaluation.getProduct());
|
||||
YxStoreProduct storeProduct = storeProductMapper.selectOne(wrapper);
|
||||
if (ObjectUtil.isNull(storeProduct)) {
|
||||
throw new ErrorRequestException("商品不存在或已下架");
|
||||
// throw new ErrorRequestException("商品不存在或已下架");
|
||||
yxEvaluation.setProduct(JSONUtil.toJsonStr(new YxStoreProduct()));
|
||||
}else {
|
||||
yxEvaluation.setProduct(JSONUtil.toJsonStr(storeProduct));
|
||||
}
|
||||
yxEvaluation.setProduct(JSONUtil.toJsonStr(storeProduct));
|
||||
});
|
||||
return generator.convertPageInfo(page,YxEvaluationDto.class);
|
||||
}
|
||||
@@ -135,8 +137,16 @@ public class YxEvaluationServiceImpl extends BaseServiceImpl<YxEvaluationMapper,
|
||||
.orderByAsc(YxEvaluation::getSort);
|
||||
List<EvaluationDTO> list = generator.convert(baseMapper.selectList(wrapper),EvaluationDTO.class);
|
||||
list.forEach(evaluationDTO->{
|
||||
YxStoreProduct yxStoreProduct = yxStoreProductService.getProductInfo(Long.valueOf(evaluationDTO.getProduct()));
|
||||
evaluationDTO.setProductInfo(yxStoreProduct);
|
||||
LambdaQueryWrapper<YxStoreProduct> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(YxStoreProduct::getIsShow, ShopCommonEnum.SHOW_1.getValue())
|
||||
.eq(YxStoreProduct::getId, evaluationDTO.getProduct());
|
||||
YxStoreProduct yxStoreProduct = storeProductMapper.selectOne(wrapper1);
|
||||
//这里需要有一个非空判断
|
||||
if (ObjectUtil.isNotNull(yxStoreProduct)){
|
||||
evaluationDTO.setProductInfo(yxStoreProduct);
|
||||
}else{
|
||||
evaluationDTO.setProductInfo(new YxStoreProduct().setStoreName("该评测商品已删除或已下架"));
|
||||
}
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ public class YxStoreExpert implements Serializable {
|
||||
|
||||
|
||||
/** 专家所属单位 */
|
||||
@NotBlank
|
||||
// @NotBlank
|
||||
private String expertUnit;
|
||||
|
||||
|
||||
|
||||
+17
-9
@@ -8,6 +8,9 @@
|
||||
*/
|
||||
package co.yixiang.modules.hotList.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import co.yixiang.exception.ErrorRequestException;
|
||||
import co.yixiang.modules.product.service.mapper.StoreProductMapper;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
@@ -54,16 +57,13 @@ public class YxStoreHotListServiceImpl extends BaseServiceImpl<YxStoreHotListMap
|
||||
private final IGenerator generator;
|
||||
private final YxStoreProductService yxStoreProductService;
|
||||
|
||||
|
||||
private final StoreProductMapper storeProductMapper;
|
||||
@SneakyThrows
|
||||
@Override
|
||||
//@Cacheable
|
||||
public PageResult<YxStoreHotListVo> queryAll(YxStoreHotListQueryCriteria criteria, Pageable pageable) {
|
||||
getPage(pageable);
|
||||
PageInfo<YxStoreHotList> page = new PageInfo<>(queryAll(criteria));
|
||||
// PageInfo<YxStoreHotListVo> page1 = new PageInfo<>();
|
||||
// BeanUtils.copyProperties(page,page1);
|
||||
// BeanUtilsBean.getInstance().copyProperties(page1, page);
|
||||
page.getList().forEach(hotList->{
|
||||
List<Integer> productArr = JSONUtil.toList(hotList.getProductList(), Integer.class);
|
||||
List<YxStoreProduct> list1 =new ArrayList<>();
|
||||
@@ -72,8 +72,11 @@ public class YxStoreHotListServiceImpl extends BaseServiceImpl<YxStoreHotListMap
|
||||
wrapper.eq(YxStoreProduct::getIsShow, ShopCommonEnum.SHOW_1.getValue())
|
||||
.eq(YxStoreProduct::getId, productId);
|
||||
//这里需要有一个非空判断
|
||||
YxStoreProduct yxStoreProduct = yxStoreProductService.getProductInfo(Long.valueOf(productId));
|
||||
list1.add(yxStoreProduct);
|
||||
YxStoreProduct storeProduct = storeProductMapper.selectOne(wrapper);
|
||||
// YxStoreProduct storeProduct=storeProductMapper.selectById(productId);
|
||||
if (ObjectUtil.isNotNull(storeProduct)){
|
||||
list1.add(storeProduct);
|
||||
}
|
||||
});
|
||||
hotList.setProductList(JSONUtil.toJsonStr(list1));
|
||||
// hotList.setProductInfo(list1);
|
||||
@@ -117,9 +120,14 @@ public class YxStoreHotListServiceImpl extends BaseServiceImpl<YxStoreHotListMap
|
||||
List<Integer> productArr = JSONUtil.toList(hotListDto.getProductList(), Integer.class);
|
||||
List<YxStoreProduct> list1 =new ArrayList<>();
|
||||
productArr.forEach(productId->{
|
||||
//这里需要有一个非空判断
|
||||
YxStoreProduct yxStoreProduct = yxStoreProductService.getProductInfo(Long.valueOf(productId));
|
||||
list1.add(yxStoreProduct);
|
||||
LambdaQueryWrapper<YxStoreProduct> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(YxStoreProduct::getIsShow, ShopCommonEnum.SHOW_1.getValue())
|
||||
.eq(YxStoreProduct::getId, productId);
|
||||
YxStoreProduct yxStoreProduct = storeProductMapper.selectOne(wrapper1);
|
||||
//这里需要有一个非空判断,找不到这个商品就不加
|
||||
if (ObjectUtil.isNotNull(yxStoreProduct)){
|
||||
list1.add(yxStoreProduct);
|
||||
}
|
||||
});
|
||||
hotListDto.setProductInfo(list1);
|
||||
});
|
||||
|
||||
@@ -73,6 +73,9 @@ public class YxStoreProduct extends BaseDomain {
|
||||
@ApiModelProperty(value = "商品名称")
|
||||
private String storeName;
|
||||
|
||||
/**价保和无理由退款等配置**/
|
||||
@TableField(typeHandler = JacksonTypeHandler.class)
|
||||
private YxStoreProductConfig config;
|
||||
|
||||
/** 商品简介 */
|
||||
@ApiModelProperty(value = "商品简介")
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package co.yixiang.modules.product.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class YxStoreProductConfig implements Serializable {
|
||||
//无理由退款天数
|
||||
private Integer withoutReason;
|
||||
//无理由退款图标
|
||||
private String withoutReasonPic;
|
||||
//价保天数
|
||||
private Integer confirmed;
|
||||
//价保图标
|
||||
private String confirmedPic;
|
||||
|
||||
}
|
||||
@@ -211,6 +211,7 @@ public class StoreProductController {
|
||||
YxStoreProduct yxStoreProduct = yxStoreProductService.getById(id);
|
||||
ProductDto productDto = new ProductDto();
|
||||
productDto.setParameter(yxStoreProduct.getParameter());
|
||||
productDto.setConfig(yxStoreProduct.getConfig());
|
||||
BeanUtil.copyProperties(yxStoreProduct,productDto,"sliderImage");
|
||||
productDto.setSliderImage(Arrays.asList(yxStoreProduct.getSliderImage().split(",")));
|
||||
YxStoreProductAttrResult storeProductAttrResult = yxStoreProductAttrResultService
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package co.yixiang.modules.product.service.dto;
|
||||
|
||||
|
||||
import co.yixiang.modules.product.domain.YxStoreProductConfig;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
@@ -21,8 +24,7 @@ import java.util.Map;
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
@Setter
|
||||
public class ProductDto
|
||||
{
|
||||
public class ProductDto {
|
||||
|
||||
/** 商品id */
|
||||
private Long id;
|
||||
@@ -43,6 +45,9 @@ public class ProductDto
|
||||
@JsonProperty("store_info")
|
||||
private String storeInfo;
|
||||
|
||||
/**价保和无理由退款等配置**/
|
||||
private YxStoreProductConfig config;
|
||||
|
||||
/** 关键字 */
|
||||
private String keyword;
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package co.yixiang.modules.product.service.dto;
|
||||
|
||||
import co.yixiang.modules.product.domain.YxStoreProductConfig;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
@@ -52,6 +53,9 @@ public class StoreProductDto
|
||||
@NotBlank(message = "关键字不能为空")
|
||||
private String keyword;
|
||||
|
||||
/**价保和无理由退款等配置**/
|
||||
@JsonProperty("config")
|
||||
private YxStoreProductConfig config;
|
||||
|
||||
/** 商品条码(一维码) */
|
||||
@JsonProperty("bar_code")
|
||||
|
||||
+1
-2
@@ -197,7 +197,6 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
||||
if (ObjectUtil.isNull(storeProduct)) {
|
||||
throw new ErrorRequestException("商品不存在或已下架");
|
||||
}
|
||||
|
||||
return storeProduct;
|
||||
}
|
||||
|
||||
@@ -620,7 +619,7 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
||||
if (storeProductDto.getSliderImage().isEmpty()) {
|
||||
throw new YshopException("请上传轮播图");
|
||||
}
|
||||
|
||||
yxStoreProduct.setConfig(storeProductDto.getConfig());
|
||||
yxStoreProduct.setPrice(BigDecimal.valueOf(resultDTO.getMinPrice()));
|
||||
yxStoreProduct.setOtPrice(BigDecimal.valueOf(resultDTO.getMinOtPrice()));
|
||||
yxStoreProduct.setCost(BigDecimal.valueOf(resultDTO.getMinCost()));
|
||||
|
||||
@@ -4,8 +4,11 @@ package co.yixiang.modules.product.vo;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.modules.product.domain.YxStoreProductAttrValue;
|
||||
import co.yixiang.modules.product.domain.YxStoreProductConfig;
|
||||
import co.yixiang.modules.product.service.dto.Parameter;
|
||||
import co.yixiang.serializer.BigDecimalSerializer;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@@ -43,6 +46,9 @@ public class YxStoreProductQueryVo implements Serializable {
|
||||
|
||||
private String codeBase;
|
||||
|
||||
/**价保和无理由退款等配置**/
|
||||
private YxStoreProductConfig config;
|
||||
|
||||
public String getImage_base() {
|
||||
return image;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user