Commit 44fe0598 authored by shiyu's avatar shiyu

盲盒专区列表

parent 8ffa328e
package com.wwdz.ch.core.consts;
public class SellActivityEnum {
/**
* 优惠券有效期类型
*/
public enum TypeEnum {
FULL_REDUCE(1, "满减"),
REBATE(2, "折扣比例"),
;
private int code;
private String des;
TypeEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (SellActivityEnum.TypeEnum typeEnum : SellActivityEnum.TypeEnum.values()) {
if (code == typeEnum.getCode()) {
return typeEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
}
package com.wwdz.ch.db.dao.distribution;
import com.wwdz.ch.db.domain.distribution.SellActivity;
import com.wwdz.ch.db.dto.request.distribution.SellActivityRequestDto;
import java.util.List;
public interface SellActivityDao {
boolean insert(SellActivity sellActivity);
SellActivity findById(long id);
List<SellActivity> findList(SellActivityRequestDto dto);
}
package com.wwdz.ch.db.dto.request.distribution;
import com.wwdz.ch.db.dto.request.BaseRequestDto;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class SellActivityRequestDto extends BaseRequestDto implements Entity {
/**
* id
*/
private Long id;
/**
* 活动名称
*/
private String name;
/**
* 订单金额
*/
private Long orderAmount;
/**
* 门槛金额,无门槛则为0
*/
private Long thresholdAmount;
/**
* 优惠金额
*/
private Long discountAmount;
/**
* 折扣比例
*/
private BigDecimal discountRebate;
/**
* 创建时间
*/
private Date createTime;
/**
* 创建时间
*/
private Date updateTime;
/**
* 开始有效时间
*/
private Date startTime;
/**
* 失效时间
*/
private Date endTime;
private Date queryStartTime;
private Date queryEndTime;
private Date currentTime;
/**
* 种类1.仅线下;2仅线上;3线上线下
*/
private Integer kind;
/**
* 类型1满减,2折扣
*/
private Integer type;
/**
* 是否有效
*/
private Boolean isValid;
}
package com.wwdz.ch.db.impl.distribution;
import com.wwdz.ch.db.dao.distribution.SellActivityDao;
import com.wwdz.ch.db.domain.distribution.SellActivity;
import com.wwdz.ch.db.domain.distribution.SellActivityExample;
import com.wwdz.ch.db.dto.request.distribution.SellActivityRequestDto;
import com.wwdz.ch.db.mapper.distribution.SellActivityMapper;
import com.xxdxxs.db.component.JdbcHelper;
import com.xxdxxs.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Repository
public class SellActivityDaoImpl implements SellActivityDao {
@Autowired
SellActivityMapper sellActivityMapper;
@Override
public boolean insert(SellActivity sellActivity) {
sellActivity.setCreateTime(new Date());
sellActivity.setUpdateTime(new Date());
return sellActivityMapper.insert(sellActivity) > 0;
}
@Override
public SellActivity findById(long id) {
return sellActivityMapper.selectByPrimaryKey(id);
}
@Override
public List<SellActivity> findList(SellActivityRequestDto dto) {
SellActivityExample example = new SellActivityExample();
SellActivityExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getCurrentTime(), criteria::andStartTimeLessThanOrEqualTo);
JdbcHelper.ifPresent(dto.getCurrentTime(), criteria::andEndTimeGreaterThanOrEqualTo);
criteria.andIsValidEqualTo(true);
if (StringUtils.hasLength(dto.getOrder())) {
example.setOrderByClause(" threshold_amount " + dto.getOrder());
} else {
example.setOrderByClause(" threshold_amount desc");
}
return sellActivityMapper.selectByExample(example);
}
}
package com.wwdz.ch.db.mapper.distribution;
import com.wwdz.ch.db.domain.distribution.SellActivity;
import com.wwdz.ch.db.domain.distribution.SellActivityExample;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface SellActivityMapper {
long countByExample(SellActivityExample example);
int deleteByExample(SellActivityExample example);
int deleteByPrimaryKey(Long id);
int insert(SellActivity record);
int insertSelective(SellActivity record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sell_activity
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
SellActivity selectOneByExample(SellActivityExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sell_activity
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
SellActivity selectOneByExampleSelective(@Param("example") SellActivityExample example, @Param("selective") SellActivity.Column ... selective);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sell_activity
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
List<SellActivity> selectByExampleSelective(@Param("example") SellActivityExample example, @Param("selective") SellActivity.Column ... selective);
List<SellActivity> selectByExample(SellActivityExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table sell_activity
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
SellActivity selectByPrimaryKeySelective(@Param("id") Long id, @Param("selective") SellActivity.Column ... selective);
SellActivity selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") SellActivity record, @Param("example") SellActivityExample example);
int updateByExample(@Param("record") SellActivity record, @Param("example") SellActivityExample example);
int updateByPrimaryKeySelective(SellActivity record);
int updateByPrimaryKey(SellActivity record);
}
\ No newline at end of file
......@@ -72,7 +72,7 @@
<javaClientGenerator type="XMLMAPPER" targetPackage="com.wwdz.ch.db.mapper.distribution"
targetProject="ch-dao/src/main/java"/>
<table tableName="distribution_order" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
<table tableName="sell_activity" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
<generatedKey column="id" sqlStatement="Mysql" identity="true" />
</table>
......
......@@ -8,6 +8,11 @@ import java.util.List;
@Data
public class BlindBoxInfoVo implements Entity {
/**
* 商品id
*/
private Long itemId;
/**
* 名称
*/
......@@ -39,13 +44,5 @@ public class BlindBoxInfoVo implements Entity {
*/
private String buyRecord;
/**
* 优惠活动
*/
private String sellActivity;
/**
* 背景图
*/
private String backgroundImage;
}
......@@ -3,6 +3,8 @@ package com.wwdz.ch.wx.entity.vo.distribution;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.List;
@Data
public class ItemSkuVo implements Entity {
......@@ -26,4 +28,14 @@ public class ItemSkuVo implements Entity {
*/
private String price;
/**
* 图片
*/
private List<String> images;
/**
* 描述
*/
private String description;
}
......@@ -67,7 +67,7 @@ public class BlindBoxServiceImpl implements BlindBoxService {
itemList.add(imageList);
}
BlindBoxVo blindBoxVo = new BlindBoxVo();
blindBoxVo.setSellActivity("全场限时 立减5元");
blindBoxVo.setSellActivity("全场限时立减5元");
blindBoxVo.setItemList(itemList);
return Result.success(blindBoxVo);
} catch (Exception e) {
......@@ -88,6 +88,7 @@ public class BlindBoxServiceImpl implements BlindBoxService {
for (SupplierItem supplierItem : supplierItemList) {
BlindBoxInfoVo blindBoxInfoVo = new BlindBoxInfoVo();
long itemId = supplierItem.getId();
blindBoxInfoVo.setItemId(itemId);
ItemSkuRequestDto itemSkuRequestDto = new ItemSkuRequestDto();
itemSkuRequestDto.setItemId(itemId);
itemSkuRequestDto.setLimit(5);
......@@ -125,7 +126,11 @@ public class BlindBoxServiceImpl implements BlindBoxService {
}
blindBoxInfoVoList.add(blindBoxInfoVo);
}
return Result.success(blindBoxInfoVoList);
Map<String, Object> map = new HashMap<>();
map.put("data", blindBoxInfoVoList);
map.put("sellActivity", "全场限时立减5元");
map.put("backgroundImage", "");
return Result.success(map);
} catch (Exception e) {
logger.error("查询盲袋商品列表 error : {}", e);
}
......@@ -135,7 +140,7 @@ public class BlindBoxServiceImpl implements BlindBoxService {
@Override
public Result findDetail(SupplierItemRequestDto dto) {
try {
long itemId = dto.getId();
long itemId = dto.getItemId();
BlindBoxDetailVo blindBoxDetailVo = new BlindBoxDetailVo();
SupplierItem supplierItem = supplierItemDao.findById(dto.getItemId());
ItemSkuRequestDto itemSkuRequestDto = new ItemSkuRequestDto();
......@@ -205,10 +210,20 @@ public class BlindBoxServiceImpl implements BlindBoxService {
codeList.add(codeMap);
}
blindBoxDetailVo.setIsSelledRecords(codeList);
return Result.success(blindBoxDetailVo);
} catch (Exception e) {
logger.error("查询盲袋商品详情 error : {}", e);
}
return Result.failed();
}
@Override
public Result findSkuDetail(ItemSkuRequestDto dto) {
try {
return Result.success();
} catch (Exception e) {
logger.error("查询盲袋商品列表 error : {}", e);
logger.error("查询商品sku详情 error : {}", e);
}
return Result.failed();
}
......
......@@ -458,7 +458,6 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
}
//查询佣金比例
double rebate = distributorProfitService.getIntroduceRebate(dto.getBuyerId(), introducerId);
DistributionOrder distributionOrder = new DistributionOrder();
distributionOrder.setIntroduceRebate(BigDecimal.valueOf(rebate));
distributionOrder.setIntroducerId(introducerId);
......
package com.wwdz.ch.wx.service.distribution;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.distribution.ItemSkuRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
/**
......@@ -31,4 +32,11 @@ public interface BlindBoxService {
*/
Result findDetail(SupplierItemRequestDto dto);
/**
* 查询盲袋商品详情
* @param dto
* @return
*/
Result findSkuDetail(ItemSkuRequestDto dto);
}
......@@ -2,6 +2,7 @@ package com.wwdz.ch.wx.web.distribution;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.wx.service.distribution.BlindBoxService;
......@@ -43,6 +44,9 @@ public class BlindBoxController {
@PostMapping("/findDetail")
public Result findDetail(@RequestBody SupplierItemRequestDto dto) {
logger.info("查询福袋详情,请求参数:{}", JSON.toJSONString(dto));
if (dto.getItemId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return blindBoxService.findDetail(dto);
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment