| | |
| | | package com.yeshi.fanli.service.impl.lable;
|
| | |
|
| | | import java.util.ArrayList;
|
| | | import java.util.Date;
|
| | | import java.util.HashSet;
|
| | | import java.util.List;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | |
|
| | | import com.yeshi.fanli.dao.mybatis.lable.LabelGoodsMapper;
|
| | | import com.yeshi.fanli.dao.mybatis.lable.QualityFactoryMapper;
|
| | | import com.yeshi.fanli.entity.bus.lable.Label;
|
| | | import com.yeshi.fanli.entity.bus.lable.LabelGoods;
|
| | | import com.yeshi.fanli.entity.common.AdminUser;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
| | | import com.yeshi.fanli.exception.goods.quality.LabelClassException;
|
| | | import com.yeshi.fanli.exception.goods.quality.LabelGoodsException;
|
| | | import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
|
| | | import com.yeshi.fanli.service.inter.lable.LabelGoodsService;
|
| | | import com.yeshi.fanli.service.inter.lable.LabelService;
|
| | | import com.yeshi.fanli.util.RedisManager;
|
| | |
|
| | | @Service
|
| | | public class LabelGoodsServiceImpl implements LabelGoodsService {
|
| | |
|
| | | @Resource
|
| | | private RedisManager redisManager;
|
| | | @Resource
|
| | | private LabelGoodsMapper labelGoodsMapper;
|
| | | @Resource
|
| | | private QualityFactoryMapper selectionGoodsMapper;
|
| | | |
| | | |
| | | @Resource
|
| | | private LabelService labelService;
|
| | | @Resource
|
| | | private LabelGoodsService LabelGoodsService;
|
| | | |
| | | @Resource
|
| | | private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
|
| | |
|
| | | @Override
|
| | | public int insertSelective(LabelGoods record) throws LabelGoodsException{
|
| | | return labelGoodsMapper.insertSelective(record);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public int deleteByPrimaryKey(Long id) throws LabelGoodsException{
|
| | | return labelGoodsMapper.deleteByPrimaryKey(id);
|
| | | }
|
| | | |
| | | @Override
|
| | | @Transactional
|
| | | public int deleteBatchById(long[] ids) throws LabelGoodsException{
|
| | | return labelGoodsMapper.deleteBatchByPrimaryKey(ids);
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | @Transactional
|
| | | public void deleteByGoodsId(List<String> ids) throws LabelGoodsException {
|
| | | |
| | | if (ids != null && ids.size() > 0) {
|
| | | for (String gid: ids) {
|
| | | Long goodsId = Long.parseLong(gid);
|
| | | labelGoodsMapper.deleteByGoodsId(goodsId);
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | /**
|
| | | * 删除该商品的对应标签
|
| | | * @param goodsId
|
| | | * @param labId
|
| | | * @return
|
| | | */
|
| | | @Override
|
| | | public int deleteByGoodsIdAndLabId(Long goodsId, Long labId){
|
| | | return labelGoodsMapper.deleteByGoodsIdAndLabId(goodsId, labId);
|
| | | }
|
| | |
|
| | |
|
| | | @Override
|
| | | public LabelGoods selectByPrimaryKey(Long id) throws LabelGoodsException{
|
| | | return labelGoodsMapper.selectByPrimaryKey(id);
|
| | | }
|
| | | |
| | | @Override
|
| | | public Long getRelationNum(Long labelId) throws LabelGoodsException{
|
| | | return labelGoodsMapper.getRelationNum(labelId);
|
| | | }
|
| | | |
| | | |
| | | @Override
|
| | | public List<LabelGoods> queryByGoodsId(int start, int count, Long goodsId) throws LabelClassException {
|
| | | return labelGoodsMapper.queryByGoodsId(start, count, goodsId);
|
| | | }
|
| | | |
| | | @Override
|
| | | public int getCountQueryByGoodsId(Long goodsId){
|
| | | return labelGoodsMapper.getCountQueryByGoodsId(goodsId);
|
| | | }
|
| | | |
| | | |
| | | @Override
|
| | | public int getCountByGoodsId(Long goodsId){
|
| | | return labelGoodsMapper.getCountByGoodsId(goodsId);
|
| | | }
|
| | | |
| | | |
| | | /**
|
| | | * 判断 此商品已已贴此标签
|
| | | * @param goodsId
|
| | | * @param labId
|
| | | * @return
|
| | | */
|
| | | @Override
|
| | | public Long isExistence(Long goodsId, Long labId){
|
| | | return labelGoodsMapper.isExistence(goodsId, labId);
|
| | | }
|
| | | |
| | | |
| | | |
| | | @Override
|
| | | @Transactional
|
| | | public void addBatchByLabId(TaoBaoGoodsBrief taoBaoGoodsBrief, List<String> labIdList, AdminUser admin) throws Exception {
|
| | | |
| | | List<LabelGoods> addList = new ArrayList<LabelGoods>();
|
| | | |
| | | for (String labId: labIdList) {
|
| | | |
| | | Label label = labelService.selectByPrimaryKey(Long.parseLong(labId));
|
| | | if (label == null) {
|
| | | continue;
|
| | | } |
| | | |
| | | LabelGoods labelGoods = new LabelGoods();
|
| | | |
| | | labelGoods.setLabel(label);
|
| | | labelGoods.setCreateUser(admin);
|
| | | labelGoods.setCreatetime(new Date());
|
| | | labelGoods.setTaoBaoGoodsBrief(taoBaoGoodsBrief);
|
| | | addList.add(labelGoods);
|
| | | }
|
| | | |
| | | if (addList.size() > 0) {
|
| | | labelGoodsMapper.insertBatch(addList);
|
| | | }
|
| | | |
| | | }
|
| | | |
| | | |
| | | @Override
|
| | | @Transactional
|
| | | public void batchGoodsAddLables(List<Long> goodsIdList, List<Long> labIdList, AdminUser admin) throws Exception {
|
| | | |
| | | /* 商品id 为空 不处理 */ |
| | | if (goodsIdList == null || goodsIdList.size() == 0) {
|
| | | return;
|
| | | } |
| | | |
| | | /* 标签id为空 不处理 */ |
| | | if (labIdList == null || labIdList.size() == 0) {
|
| | | return;
|
| | | }
|
| | | |
| | | |
| | | /* |
| | | for (Long goodsId: goodsIdList) {
|
| | | // 全部清空
|
| | | labelGoodsMapper.deleteByGoodsId(goodsId);
|
| | | }*/
|
| | | |
| | | /* 去掉重复标签 */ |
| | | HashSet<Long> h = new HashSet<Long>(labIdList); |
| | | labIdList.clear(); |
| | | labIdList.addAll(h); |
| | | |
| | | |
| | | /* 标签id不为空 开始对每个商品贴上标签 */ |
| | | for (Long labId: labIdList) {
|
| | | |
| | | Label label = labelService.selectByPrimaryKey(labId);
|
| | | if (label == null) {
|
| | | continue;
|
| | | } |
| | | |
| | | |
| | | for (Long goodsId: goodsIdList) {
|
| | | |
| | | TaoBaoGoodsBrief goodsBrief = taoBaoGoodsBriefService.selectByPrimaryKey(goodsId);
|
| | | |
| | | if (goodsBrief != null) {
|
| | | /* 贴上标签 : 已贴不处理则 */
|
| | | Long existence = labelGoodsMapper.isExistence(goodsId, labId);
|
| | | |
| | | // 该商品不存在此标签则添加, 反之不做处理
|
| | | if (existence == null || existence == 0l) {
|
| | | // 贴上新标签
|
| | | LabelGoods lg = new LabelGoods();
|
| | | lg.setLabel(label);
|
| | | lg.setCreateUser(admin);
|
| | | lg.setCreatetime(new Date());
|
| | | lg.setTaoBaoGoodsBrief(goodsBrief);
|
| | | labelGoodsMapper.insertSelective(lg);
|
| | | }
|
| | | }
|
| | | |
| | | }
|
| | | |
| | | }
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | @Transactional
|
| | | public void singleGoodsAddLables(Long goodsId, List<Long> labIdList, AdminUser admin) throws Exception {
|
| | | |
| | | /* 商品id 为空 不处理 */ |
| | | if (goodsId == null) {
|
| | | return;
|
| | | } |
| | | |
| | | |
| | | // 全部清空
|
| | | labelGoodsMapper.deleteByGoodsId(goodsId);
|
| | | |
| | | /* 标签id为空 不处理 */ |
| | | if (labIdList == null || labIdList.size() == 0) {
|
| | | return;
|
| | | }
|
| | | |
| | | TaoBaoGoodsBrief goodsBrief = taoBaoGoodsBriefService.selectByPrimaryKey(goodsId);
|
| | | if (goodsBrief == null) {
|
| | | return;
|
| | | }
|
| | | |
| | | /* 去掉重复标签 */ |
| | | HashSet<Long> h = new HashSet<Long>(labIdList); |
| | | labIdList.clear(); |
| | | labIdList.addAll(h); |
| | | |
| | | |
| | | /* 标签id不为空 开始对每个商品贴上标签 */ |
| | | for (Long labId: labIdList) {
|
| | | |
| | | Label label = labelService.selectByPrimaryKey(labId);
|
| | | if (label == null) {
|
| | | continue;
|
| | | } |
| | | |
| | | // 贴上新标签
|
| | | LabelGoods lg = new LabelGoods();
|
| | | lg.setLabel(label);
|
| | | lg.setCreateUser(admin);
|
| | | lg.setCreatetime(new Date());
|
| | | lg.setTaoBaoGoodsBrief(goodsBrief);
|
| | | labelGoodsMapper.insertSelective(lg);
|
| | | }
|
| | | |
| | | }
|
| | |
|
| | | |
| | | }
|
| | |
|
| | | package com.yeshi.fanli.service.impl.lable; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import com.yeshi.fanli.dao.mybatis.lable.LabelGoodsMapper; |
| | | import com.yeshi.fanli.dao.mybatis.lable.QualityFactoryMapper; |
| | | import com.yeshi.fanli.entity.bus.lable.Label; |
| | | import com.yeshi.fanli.entity.bus.lable.LabelGoods; |
| | | import com.yeshi.fanli.entity.common.AdminUser; |
| | | import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; |
| | | import com.yeshi.fanli.exception.goods.quality.LabelClassException; |
| | | import com.yeshi.fanli.exception.goods.quality.LabelGoodsException; |
| | | import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; |
| | | import com.yeshi.fanli.service.inter.lable.LabelGoodsService; |
| | | import com.yeshi.fanli.service.inter.lable.LabelService; |
| | | import com.yeshi.fanli.util.RedisManager; |
| | | |
| | | @Service |
| | | public class LabelGoodsServiceImpl implements LabelGoodsService { |
| | | |
| | | @Resource |
| | | private RedisManager redisManager; |
| | | @Resource |
| | | private LabelGoodsMapper labelGoodsMapper; |
| | | @Resource |
| | | private QualityFactoryMapper selectionGoodsMapper; |
| | | |
| | | |
| | | @Resource |
| | | private LabelService labelService; |
| | | @Resource |
| | | private LabelGoodsService LabelGoodsService; |
| | | |
| | | @Resource |
| | | private TaoBaoGoodsBriefService taoBaoGoodsBriefService; |
| | | |
| | | @Override |
| | | public int insertSelective(LabelGoods record) throws LabelGoodsException{ |
| | | return labelGoodsMapper.insertSelective(record); |
| | | } |
| | | |
| | | @Override |
| | | public int deleteByPrimaryKey(Long id) throws LabelGoodsException{ |
| | | return labelGoodsMapper.deleteByPrimaryKey(id); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor=Exception.class) |
| | | public int deleteBatchById(long[] ids) throws LabelGoodsException{ |
| | | return labelGoodsMapper.deleteBatchByPrimaryKey(ids); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor=Exception.class) |
| | | public void deleteByGoodsId(List<String> ids) throws LabelGoodsException { |
| | | |
| | | if (ids != null && ids.size() > 0) { |
| | | for (String gid: ids) { |
| | | labelGoodsMapper.deleteByGoodsId(gid); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除该商品的对应标签 |
| | | * @param goodsId |
| | | * @param labId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public int deleteByGoodsIdAndLabId(String goodsId, Long labId){ |
| | | return labelGoodsMapper.deleteByGoodsIdAndLabId(goodsId, labId); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public LabelGoods selectByPrimaryKey(Long id) throws LabelGoodsException{ |
| | | return labelGoodsMapper.selectByPrimaryKey(id); |
| | | } |
| | | |
| | | @Override |
| | | public Long getRelationNum(Long labelId) throws LabelGoodsException{ |
| | | return labelGoodsMapper.getRelationNum(labelId); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<LabelGoods> queryByGoodsId(int start, int count, String goodsId) throws LabelClassException { |
| | | return labelGoodsMapper.queryByGoodsId(start, count, goodsId); |
| | | } |
| | | |
| | | @Override |
| | | public int getCountQueryByGoodsId(String goodsId){ |
| | | return labelGoodsMapper.getCountQueryByGoodsId(goodsId); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int getCountByGoodsId(String goodsId){ |
| | | return labelGoodsMapper.getCountByGoodsId(goodsId); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 判断 此商品已已贴此标签 |
| | | * @param goodsId |
| | | * @param labId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Long isExistence(String goodsId, Long labId){ |
| | | return labelGoodsMapper.isExistence(goodsId, labId); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor=Exception.class) |
| | | public void addBatchByLabId(TaoBaoGoodsBrief taoBaoGoodsBrief, List<String> labIdList, AdminUser admin) throws Exception { |
| | | |
| | | List<LabelGoods> addList = new ArrayList<LabelGoods>(); |
| | | |
| | | for (String labId: labIdList) { |
| | | |
| | | Label label = labelService.selectByPrimaryKey(Long.parseLong(labId)); |
| | | if (label == null) { |
| | | continue; |
| | | } |
| | | |
| | | LabelGoods labelGoods = new LabelGoods(); |
| | | |
| | | labelGoods.setLabel(label); |
| | | labelGoods.setCreateUser(admin); |
| | | labelGoods.setCreatetime(new Date()); |
| | | labelGoods.setTaoBaoGoodsBrief(taoBaoGoodsBrief); |
| | | addList.add(labelGoods); |
| | | } |
| | | |
| | | if (addList.size() > 0) { |
| | | labelGoodsMapper.insertBatch(addList); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor=Exception.class) |
| | | public void batchGoodsAddLables(List<String> goodsIdList, List<Long> labIdList, AdminUser admin) throws Exception { |
| | | |
| | | /* 商品id 为空 不处理 */ |
| | | if (goodsIdList == null || goodsIdList.size() == 0) { |
| | | return; |
| | | } |
| | | |
| | | /* 标签id为空 不处理 */ |
| | | if (labIdList == null || labIdList.size() == 0) { |
| | | return; |
| | | } |
| | | |
| | | |
| | | /* |
| | | for (Long goodsId: goodsIdList) { |
| | | // 全部清空 |
| | | labelGoodsMapper.deleteByGoodsId(goodsId); |
| | | }*/ |
| | | |
| | | /* 去掉重复标签 */ |
| | | HashSet<Long> h = new HashSet<Long>(labIdList); |
| | | labIdList.clear(); |
| | | labIdList.addAll(h); |
| | | |
| | | |
| | | /* 标签id不为空 开始对每个商品贴上标签 */ |
| | | for (Long labId: labIdList) { |
| | | |
| | | Label label = labelService.selectByPrimaryKey(labId); |
| | | if (label == null) { |
| | | continue; |
| | | } |
| | | |
| | | |
| | | for (String goodsId: goodsIdList) { |
| | | |
| | | TaoBaoGoodsBrief goodsBrief = taoBaoGoodsBriefService.selectByGoodsId(goodsId); |
| | | |
| | | if (goodsBrief != null) { |
| | | /* 贴上标签 : 已贴不处理则 */ |
| | | Long existence = labelGoodsMapper.isExistence(goodsId, labId); |
| | | |
| | | // 该商品不存在此标签则添加, 反之不做处理 |
| | | if (existence == null || existence == 0l) { |
| | | // 贴上新标签 |
| | | LabelGoods lg = new LabelGoods(); |
| | | lg.setLabel(label); |
| | | lg.setCreateUser(admin); |
| | | lg.setCreatetime(new Date()); |
| | | lg.setTaoBaoGoodsBrief(goodsBrief); |
| | | labelGoodsMapper.insertSelective(lg); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor=Exception.class) |
| | | public void singleGoodsAddLables(String goodsId, List<Long> labIdList, AdminUser admin) throws Exception { |
| | | |
| | | /* 商品id 为空 不处理 */ |
| | | if (goodsId == null) { |
| | | return; |
| | | } |
| | | |
| | | |
| | | // 全部清空 |
| | | labelGoodsMapper.deleteByGoodsId(goodsId); |
| | | |
| | | /* 标签id为空 不处理 */ |
| | | if (labIdList == null || labIdList.size() == 0) { |
| | | return; |
| | | } |
| | | |
| | | TaoBaoGoodsBrief goodsBrief = taoBaoGoodsBriefService.selectByGoodsId(goodsId); |
| | | if (goodsBrief == null) { |
| | | return; |
| | | } |
| | | |
| | | /* 去掉重复标签 */ |
| | | HashSet<Long> h = new HashSet<Long>(labIdList); |
| | | labIdList.clear(); |
| | | labIdList.addAll(h); |
| | | |
| | | |
| | | /* 标签id不为空 开始对每个商品贴上标签 */ |
| | | for (Long labId: labIdList) { |
| | | |
| | | Label label = labelService.selectByPrimaryKey(labId); |
| | | if (label == null) { |
| | | continue; |
| | | } |
| | | |
| | | // 贴上新标签 |
| | | LabelGoods lg = new LabelGoods(); |
| | | lg.setLabel(label); |
| | | lg.setCreateUser(admin); |
| | | lg.setCreatetime(new Date()); |
| | | lg.setTaoBaoGoodsBrief(goodsBrief); |
| | | labelGoodsMapper.insertSelective(lg); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |