123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package com.kmall.admin.service.impl;
- import com.google.common.collect.ImmutableBiMap;
- import com.kmall.admin.dto.CombinationPriceGoodsDto;
- import com.kmall.admin.dto.DiscountedProductsDto;
- import com.kmall.admin.entity.MkActivitiesDiscountEntity;
- import com.kmall.common.utils.MapBeanUtil;
- import com.kmall.common.utils.R;
- import com.kmall.common.utils.RRException;
- import com.kmall.common.utils.ValidatorUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.math.BigDecimal;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import com.kmall.admin.dao.MkActivitiesCombinationPriceDao;
- import com.kmall.admin.entity.MkActivitiesCombinationPriceEntity;
- import com.kmall.admin.service.MkActivitiesCombinationPriceService;
- import org.springframework.transaction.annotation.Transactional;
- /**
- * 营销活动-组合价Service实现类
- *
- * @author emato
- * @email admin@qhdswl.com
- * @date 2020-09-23 10:43:25
- */
- @Service("mkActivitiesCombinationPriceService")
- public class MkActivitiesCombinationPriceServiceImpl implements MkActivitiesCombinationPriceService {
- @Autowired
- private MkActivitiesCombinationPriceDao mkActivitiesCombinationPriceDao;
- @Override
- public MkActivitiesCombinationPriceEntity queryObject(Long macpId) {
- return mkActivitiesCombinationPriceDao.queryObject(macpId);
- }
- @Override
- public List<MkActivitiesCombinationPriceEntity> queryList(Map<String, Object> map) {
- return mkActivitiesCombinationPriceDao.queryList(map);
- }
- @Override
- public int queryTotal(Map<String, Object> map) {
- return mkActivitiesCombinationPriceDao.queryTotal(map);
- }
- @Override
- public int save(MkActivitiesCombinationPriceEntity mkActivitiesCombinationPrice) {
- return mkActivitiesCombinationPriceDao.save(mkActivitiesCombinationPrice);
- }
- @Override
- public int update(MkActivitiesCombinationPriceEntity mkActivitiesCombinationPrice) {
- return mkActivitiesCombinationPriceDao.update(mkActivitiesCombinationPrice);
- }
- @Override
- public int delete(Long macpId) {
- return mkActivitiesCombinationPriceDao.delete(macpId);
- }
- @Override
- public int deleteBatch(Long[]macpIds) {
- return mkActivitiesCombinationPriceDao.deleteBatch(macpIds);
- }
- /**
- * 上传活动商品
- *
- * @param combinationPriceGoodsDtoList
- * @param storeId
- * @param mkaId
- */
- @Override
- @Transactional
- public void uploadExcel(List<CombinationPriceGoodsDto> combinationPriceGoodsDtoList, String storeId, String mkaId) {
- if (combinationPriceGoodsDtoList != null && combinationPriceGoodsDtoList.size() > 0) {
- for (int i = 0; i < combinationPriceGoodsDtoList.size(); i++) {
- CombinationPriceGoodsDto combinationPriceGoodsDto = combinationPriceGoodsDtoList.get(i);
- Map<String, Object> valideDate = MapBeanUtil.fromObject(combinationPriceGoodsDto);
- // 校验excel传入的数据
- ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
- builder.put("goodsSns", "商品编码");
- builder.put("barCodes", "商品条码");
- builder.put("combinedPrice", "组合价格");
- builder.put("combinedCount", "组合的产品总件数");
- builder.put("deadline", "截止日期");
- R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
- if (Integer.valueOf(r.get("code").toString()) != 0) {
- throw new RRException(r.get("msg").toString());
- }
- String[] goodsSnArray = combinationPriceGoodsDto.getGoodsSns().split(":");
- String[] barCodeArray = combinationPriceGoodsDto.getBarCodes().split(":");
- if(goodsSnArray.length != barCodeArray.length){
- throw new RRException("编码的数量跟条码的数量不一致!");
- }
- // 保存日常活动商品
- List<MkActivitiesCombinationPriceEntity> mkActivitiesCombinationPriceEntityList = new ArrayList<>();
- Date createTime = new Date();
- for(int index = 0 ; index < goodsSnArray.length ; index ++){
- MkActivitiesCombinationPriceEntity mkActivitiesCombinationPriceEntity = new MkActivitiesCombinationPriceEntity();
- mkActivitiesCombinationPriceEntity.setGoodsSn(goodsSnArray[index]);
- mkActivitiesCombinationPriceEntity.setBarcode(barCodeArray[index]);
- mkActivitiesCombinationPriceEntity.setCombinedPrice(new BigDecimal(combinationPriceGoodsDto.getCombinedPrice()));
- mkActivitiesCombinationPriceEntity.setCombinationNum(combinationPriceGoodsDto.getCombinedCount());
- mkActivitiesCombinationPriceEntity.setDeadline(combinationPriceGoodsDto.getDeadline());
- mkActivitiesCombinationPriceEntity.setMkaId(Long.parseLong(mkaId));
- mkActivitiesCombinationPriceEntity.setCombinationType(combinationPriceGoodsDto.getGoodsSns());
- mkActivitiesCombinationPriceEntity.setCreateTime(createTime);
- mkActivitiesCombinationPriceEntityList.add(mkActivitiesCombinationPriceEntity);
- }
- mkActivitiesCombinationPriceDao.saveBatch(mkActivitiesCombinationPriceEntityList);
- }
- }
- }
- }
|