123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- package com.kmall.admin.service.impl;
- import com.google.common.collect.ImmutableBiMap;
- import com.kmall.admin.dao.MkActivitiesHalfPriceDao;
- import com.kmall.admin.dto.FullReductionDto;
- import com.kmall.admin.entity.MkActivitiesHalfPriceEntity;
- import com.kmall.admin.service.MkActivitiesHalfPriceService;
- 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 org.springframework.transaction.annotation.Transactional;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- /**
- * 商品编码为主要匹配/上传依据,商品条形码为辅助查看而已活动方式满减,满xxx元立减xx元(xService实现类
- *
- * @author emato
- * @email admin@qhdswl.com
- * @date 2020-09-23 10:43:25
- */
- @Service("mkActivitiesHalfPriceService")
- public class MkActivitiesHalfPriceServiceImpl implements MkActivitiesHalfPriceService {
- @Autowired
- private MkActivitiesHalfPriceDao mkActivitiesFullReductionDao;
- @Override
- public MkActivitiesHalfPriceEntity queryObject(Long mafrId) {
- return mkActivitiesFullReductionDao.queryObject(mafrId);
- }
- @Override
- public List<MkActivitiesHalfPriceEntity> queryList(Map<String, Object> map) {
- return mkActivitiesFullReductionDao.queryList(map);
- }
- @Override
- public int queryTotal(Map<String, Object> map) {
- return mkActivitiesFullReductionDao.queryTotal(map);
- }
- @Override
- public int save(MkActivitiesHalfPriceEntity mkActivitiesFullReduction) {
- return mkActivitiesFullReductionDao.save(mkActivitiesFullReduction);
- }
- @Override
- public int update(MkActivitiesHalfPriceEntity mkActivitiesFullReduction) {
- return mkActivitiesFullReductionDao.update(mkActivitiesFullReduction);
- }
- @Override
- public int delete(Long mafrId) {
- return mkActivitiesFullReductionDao.delete(mafrId);
- }
- @Override
- public int deleteBatch(Long[]mafrIds) {
- return mkActivitiesFullReductionDao.deleteBatch(mafrIds);
- }
- /**
- * 上传活动商品
- *
- * @param fullReductionDtoList
- * @param storeId
- * @param mkaId
- */
- @Override
- @Transactional
- public void uploadExcel(List<FullReductionDto> fullReductionDtoList, String storeId, String mkaId) {
- // TODO 查询所有的品牌
- if (fullReductionDtoList != null && fullReductionDtoList.size() > 0) {
- for (int i = 0; i < fullReductionDtoList.size(); i++) {
- FullReductionDto fullReductionDto = fullReductionDtoList.get(i);
- Map<String, Object> valideDate = MapBeanUtil.fromObject(fullReductionDto);
- // 校验excel传入的数据
- ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
- builder.put("storeId", "门店编号");
- builder.put("goodsSn", "商品编码");
- builder.put("barCode", "商品条码");
- // builder.put("brand", "商品品牌");
- // builder.put("fullReductionPrice", "满减达到金额");
- // builder.put("discountedPrice", "优惠金额");
- // 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());
- }
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- String nowTime = format.format(new Date());
- MkActivitiesHalfPriceEntity old = mkActivitiesFullReductionDao.queryByCodeOrBrand(mkaId,fullReductionDto.getBarCode());
- if(old != null){
- throw new RRException("该商品或者该品牌已经参与本次活动,商品{"+fullReductionDto.getBarCode()+"},品牌,{"+fullReductionDto.getBrand()+"}",500);
- }
- // 保存日常活动商品
- MkActivitiesHalfPriceEntity MkActivitiesHalfPriceEntity = new MkActivitiesHalfPriceEntity();
- // MkActivitiesHalfPriceEntity.setQualifiedAmount(new BigDecimal(fullReductionDto.getFullReductionPrice())); // 满减达到金额
- // MkActivitiesHalfPriceEntity.setDeductionAmount(new BigDecimal(fullReductionDto.getDiscountedPrice())); // 优惠金额
- // MkActivitiesHalfPriceEntity.setProductBrand(fullReductionDto.getBrand()); // 商品品牌
- MkActivitiesHalfPriceEntity.setGoodsSn(fullReductionDto.getGoodsSn()); // 商品编号
- MkActivitiesHalfPriceEntity.setBarcode(fullReductionDto.getBarCode()); // 商品条码
- // MkActivitiesHalfPriceEntity.setDeadline(fullReductionDto.getDeadline());
- MkActivitiesHalfPriceEntity.setShopSn(storeId); // 门店编号
- MkActivitiesHalfPriceEntity.setMkaId(Long.parseLong(mkaId));
- mkActivitiesFullReductionDao.save(MkActivitiesHalfPriceEntity);
- }
- }
- }
- /**
- * 根据品牌或条形码查询是否有对应的满减活动
- *
- * @param mkaId
- * @param prodBarcode
- * @return
- */
- @Override
- public MkActivitiesHalfPriceEntity queryByCodeOrBrand(String mkaId, String prodBarcode) {
- return mkActivitiesFullReductionDao.queryByCodeOrBrand(mkaId,prodBarcode);
- }
- }
|