package com.atguigu.gmall0401.manage.service.impl;
import com.alibaba.dubbo.config.annotation.Service;
import com.alibaba.fastjson.JSON;
import com.atguigu.gmall0401.bean.*;
import com.atguigu.gmall0401.manage.mapper.*;
import com.atguigu.gmall0401.service.ManageService;
import com.atguigu.gmall0401.util.RedisUtil;
import org.apache.commons.lang3.StringUtils;
import org.redisson.Redisson;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import redis.clients.jedis.Jedis;
import tk.mybatis.mapper.entity.Example;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@Service
public class ManageServiceImpl implements ManageService {
@Autowired
RedisUtil redisUtil;
@Autowired
SkuAttrValueMapper skuAttrValueMapper;
@Autowired
SkuImageMapper skuImageMapper;
@Autowired
SkuInfoMapper skuInfoMapper;
@Autowired
SkuSaleAttrValueMapper skuSaleAttrValueMapper;
@Autowired
SpuImageMapper spuImageMapper;
@Autowired
SpuInfoMapper spuInfoMapper;
@Autowired
SpuSaleAttrMapper spuSaleAttrMapper;
@Autowired
SpuSaleAttrValueMapper spuSaleAttrValueMapper;
@Autowired
BaseSaleAttrMapper baseSaleAttrMapper;
@Autowired
BaseAttrValueMapper baseAttrValueMapper;
@Autowired
BaseAttrInfoMapper baseAttrInfoMapper;
@Autowired
BaseCatalog1Mapper baseCatalog1Mapper;
@Autowired
BaseCatalog2Mapper baseCatalog2Mapper;
@Autowired
BaseCatalog3Mapper baseCatalog3Mapper;
public static final String SKUKEY_PREFIX="sku:";
public static final String SKUKEY_INFO_SUFFIX=":info";
public static final String SKUKEY_LOCK_SUFFIX=":lock";
@Override
public List<BaseCatalog1> getCatalog1() {
return baseCatalog1Mapper.selectAll();
}
@Override
public List<BaseCatalog2> getCatalog2(String catalog1Id) {
BaseCatalog2 baseCatalog2 = new BaseCatalog2();
baseCatalog2.setCatalog1Id(catalog1Id);
List<BaseCatalog2> baseCatalog2List = baseCatalog2Mapper.select(baseCatalog2);
return baseCatalog2List;
}
@Override
public List<BaseCatalog3> getCatalog3(String catalog2Id) {
BaseCatalog3 baseCatalog3 = new BaseCatalog3();
baseCatalog3.setCatalog2Id(catalog2Id);
List<BaseCatalog3> baseCatalog3List = baseCatalog3Mapper.select(baseCatalog3);
return baseCatalog3List;
}
@Override
public List<BaseAttrInfo> getAttrList(String catalog3Id) {
// Example example = new Example(BaseAttrInfo.class);
// example.createCriteria().andEqualTo("catalog3Id",catalog3Id);
// List<BaseAttrInfo> baseAttrInfoList = baseAttrInfoMapper.selectByExample(example);
// //查询平台属性值
// for (BaseAttrInfo baseAttrInfo : baseAttrInfoList) {
// BaseAttrValue baseAttrValue = new BaseAttrValue();
// baseAttrValue.setAttrId(baseAttrInfo.getId());
// List<BaseAttrValue> baseAttrValueList = baseAttrValueMapper.select(baseAttrValue);
// baseAttrInfo.setAttrValueList(baseAttrValueList);
// }
List<BaseAttrInfo> baseAttrList = baseAttrInfoMapper.getBaseAttrInfoListByCatalog3Id(catalog3Id);
return baseAttrList;
}
@Override
public BaseAttrInfo getBaseAttrInfo(String attrId) {
BaseAttrInfo baseAttrInfo = baseAttrInfoMapper.selectByPrimaryKey(attrId);
BaseAttrValue baseAttrValueQuery=new BaseAttrValue();
baseAttrValueQuery.setAttrId(attrId);
List<BaseAttrValue> baseAttrValueList = baseAttrValueMapper.select(baseAttrValueQuery);
baseAttrInfo.setAttrValueList(baseAttrValueList);
return baseAttrInfo;
}
@Override
@Transactional
public void saveAttrInfo(BaseAttrInfo baseAttrInfo) {
if(baseAttrInfo.getId()!=null &&baseAttrInfo.getId().length()>0){
baseAttrInfoMapper.updateByPrimaryKeySelective(baseAttrInfo);
}else{
baseAttrInfo.setId(null);
baseAttrInfoMapper.insertSelective(baseAttrInfo);
}
Example example = new Example(BaseAttrValue.class);
example.createCriteria().andEqualTo("attrId",baseAttrInfo.getId());
//根据attrid先全部删除,再统一保存
baseAttrValueMapper.deleteByExample(example);
List<BaseAttrValue> attrValueList = baseAttrInfo.getAttrValueList();
for (BaseAttrValue baseAttrValue : attrValueList) {
String id = baseAttrInfo.getId();
baseAttrValue.setAttrId(id);
baseAttrValueMapper.insertSelective(baseAttrValue);
}
}
@Override
public List<BaseSaleAttr> getBaseSaleAttrList() {
return baseSaleAttrMapper.selectAll();
}
@Override
public void saveSpuInfo(SpuInfo spuInfo) {
//spu基本信息
spuInfoMapper.insertSelective(spuInfo);
// 图片信息
List<SpuImage> spuImageList = spuInfo.getSpuImageList();
for (SpuImage spuImage : spuImageList) {
spuImage.setSpuId(spuInfo.getId());
spuImageMapper.insertSelective(spuImage);
}
// 销售属性
List<SpuSaleAttr> spuSaleAttrList = spuInfo.getSpuSaleAttrList();
for (SpuSaleAttr spuSaleAttr : spuSaleAttrList) {
spuSaleAttr.setSpuId(spuInfo.getId());
spuSaleAttrMapper.insertSelective(spuSaleAttr);
// 销售属性值
List<SpuSaleAttrValue> spuSaleAttrValueList = spuSaleAttr.getSpuSaleAttrValueList();
for (SpuSaleAttrValue spuSaleAttrValue : spuSaleAttrValueList) {
spuSaleAttrValue.setSpuId(spuInfo.getId());
spuSaleAttrValueMapper.insertSelective(spuSaleAttrValue);
}
}
}
@Override
public List<SpuInfo> getSpuList(String catalog3Id) {
SpuInfo spuInfo = new SpuInfo();
spuInfo.setCatalog3Id(catalog3Id);
return spuInfoMapper.select(spuInfo);
}
@Override
public List<SpuImage> getSpuImageList(String spuId) {
SpuImage spuImage = new SpuImage();
spuImage.setSpuId(spuId);
return spuImageMapper.select(spuImage);
}
@Override
public List<SpuSaleAttr> getSpuSaleAttrList(String spuId) {
return spuSaleAttrMapper.getSpuSaleAttrListBySpuId(spuId);
}
@Override
@Transactional
public void saveSkuInfo(SkuInfo skuInfo) {
//保存 1 基本信息
if(skuInfo.getId()==null ||skuInfo.getId().length()==0) {
skuInfoMapper.insertSelective(skuInfo);
}else{
skuInfoMapper.updateByPrimaryKeySelective (skuInfo);
}
//2 平台属性
SkuAttrValue skuAttrValue = new SkuAttrValue();
skuAttrValue.setSkuId(skuInfo.getId());
skuAttrValueMapper.delete(skuAttrValue);
List<SkuAttrValue> skuAttrValueList = skuInfo.getSkuAttrValueList();
for (SkuAttrValue attrValue : skuAttrValueList) {
attrValue.setSkuId(skuInfo.getId());
skuAttrValueMapper.insertSelective(attrValue);
}
//3 销售属性
SkuSaleAttrValue skuSaleAttrValue =new SkuSaleAttrValue();
skuSaleAttrValue.setSkuId(skuInfo.getId());
skuSaleAttrValueMapper.delete(skuSaleAttrValue);
List<SkuSaleAttrValue> skuSaleAttrValueList = skuInfo.getSkuSaleAttrValueList();
for (SkuSaleAttrValue saleAttrValue : skuSaleAttrValueList) {
saleAttrValue.setSkuId(skuInfo.getId());
skuSaleAttrValueMapper.insertSelective(saleAttrValue);
}
//4 图片
SkuImage skuImage4Del =new SkuImage();
skuImage4Del.setId(skuInfo.getId());
skuImageMapper.delete(skuImage4Del);
f
没有合适的资源?快使用搜索试试~ 我知道了~
学生毕业设计之电商项目.zip
共1091个文件
jpg:310个
png:262个
css:223个
需积分: 0 0 下载量 126 浏览量
2023-10-30
22:36:58
上传
评论
收藏 6.36MB ZIP 举报
温馨提示
学生毕业设计之电商项目.zip
资源推荐
资源详情
资源评论
收起资源包目录
学生毕业设计之电商项目.zip (1091个子文件)
tracker.conf 201B
bootstrap.css 142KB
bootstrap.min.css 118KB
easyui.css 67KB
easyui.css 67KB
easyui.css 67KB
easyui.css 66KB
easyui.css 64KB
easyui.css 63KB
index.css 58KB
header.css 40KB
shop.css 31KB
angular.css 10KB
tabs.css 9KB
tabs.css 9KB
tabs.css 9KB
tabs.css 9KB
tabs.css 7KB
tabs.css 7KB
mobile.css 7KB
demo.css 6KB
color.css 6KB
SHOUhou.css 6KB
datagrid.css 6KB
datagrid.css 6KB
datagrid.css 6KB
panel.css 6KB
panel.css 6KB
panel.css 6KB
datagrid.css 6KB
panel.css 5KB
datagrid.css 5KB
datagrid.css 5KB
panel.css 5KB
panel.css 5KB
iconfont.css 5KB
main.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
linkbutton.css 4KB
window.css 4KB
window.css 4KB
window.css 4KB
window.css 4KB
calendar.css 4KB
calendar.css 4KB
calendar.css 4KB
calendar.css 4KB
calendar.css 4KB
calendar.css 4KB
window.css 4KB
window.css 4KB
linkbutton.css 3KB
tree.css 3KB
tree.css 3KB
tree.css 3KB
tree.css 3KB
tree.css 3KB
tree.css 3KB
layout.css 3KB
layout.css 3KB
layout.css 3KB
layout.css 3KB
layout.css 3KB
layout.css 3KB
textbox.css 3KB
textbox.css 3KB
textbox.css 3KB
textbox.css 3KB
textbox.css 3KB
textbox.css 3KB
icon.css 2KB
menu.css 2KB
menu.css 2KB
accordion.css 2KB
menu.css 2KB
accordion.css 2KB
accordion.css 2KB
menu.css 2KB
menu.css 2KB
accordion.css 2KB
menu.css 2KB
accordion.css 2KB
accordion.css 2KB
tooltip.css 2KB
tooltip.css 2KB
tooltip.css 2KB
tooltip.css 2KB
tooltip.css 2KB
tooltip.css 2KB
menubutton.css 2KB
menubutton.css 2KB
menubutton.css 2KB
menubutton.css 2KB
menubutton.css 2KB
menubutton.css 2KB
spinner.css 2KB
spinner.css 2KB
共 1091 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
武昌库里写JAVA
- 粉丝: 3420
- 资源: 1986
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功