123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- package com.kmall.admin.service.impl;
- import com.google.common.collect.ImmutableBiMap;
- import com.kmall.admin.dto.FreeGoodsDto;
- import com.kmall.admin.dto.FullReductionDto;
- import com.kmall.admin.entity.MkActivitiesCouponEntity;
- import com.kmall.admin.entity.MkActivitiesFullReductionEntity;
- 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.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import com.kmall.admin.dao.MkActivitiesFullGiftDao;
- import com.kmall.admin.entity.MkActivitiesFullGiftEntity;
- import com.kmall.admin.service.MkActivitiesFullGiftService;
- import org.springframework.transaction.annotation.Transactional;
- /**
- * 营销活动-满赠Service实现类
- *
- * @author emato
- * @email admin@qhdswl.com
- * @date 2020-09-23 10:43:25
- */
- @Service("mkActivitiesFullGiftService")
- public class MkActivitiesFullGiftServiceImpl implements MkActivitiesFullGiftService {
- @Autowired
- private MkActivitiesFullGiftDao mkActivitiesFullGiftDao;
- @Override
- public MkActivitiesFullGiftEntity queryObject(Long mafrId) {
- return mkActivitiesFullGiftDao.queryObject(mafrId);
- }
- @Override
- public List<MkActivitiesFullGiftEntity> queryList(Map<String, Object> map) {
- return mkActivitiesFullGiftDao.queryList(map);
- }
- @Override
- public int queryTotal(Map<String, Object> map) {
- return mkActivitiesFullGiftDao.queryTotal(map);
- }
- @Override
- public int save(MkActivitiesFullGiftEntity mkActivitiesFullGift) {
- return mkActivitiesFullGiftDao.save(mkActivitiesFullGift);
- }
- @Override
- public int update(MkActivitiesFullGiftEntity mkActivitiesFullGift) {
- return mkActivitiesFullGiftDao.update(mkActivitiesFullGift);
- }
- @Override
- public int delete(Long mafrId) {
- return mkActivitiesFullGiftDao.delete(mafrId);
- }
- @Override
- public int deleteBatch(Long[]mafrIds) {
- return mkActivitiesFullGiftDao.deleteBatch(mafrIds);
- }
- /**
- * 上传活动商品
- *
- * @param freeGoodsDtoList
- * @param storeId
- * @param mkaId
- */
- @Override
- @Transactional
- public void uploadExcel(List<FreeGoodsDto> freeGoodsDtoList, String storeId, String mkaId) {
- // TODO 查询所有的品牌
- if (freeGoodsDtoList != null && freeGoodsDtoList.size() > 0) {
- for (int i = 0; i < freeGoodsDtoList.size(); i++) {
- FreeGoodsDto freeGoodsDto = freeGoodsDtoList.get(i);
- Map<String, Object> valideDate = MapBeanUtil.fromObject(freeGoodsDto);
- // 校验excel传入的数据
- ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
- builder.put("storeId", "门店编号");
- builder.put("goodsSn", "商品编码");
- builder.put("barCode", "商品条码");
- builder.put("brand", "商品品牌");
- builder.put("fullReductionPrice", "满赠达到金额");
- builder.put("sendGoodsSn", "赠送商品编号");
- builder.put("sendBarCode", "赠送商品条码");
- 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());
- MkActivitiesFullGiftEntity old = mkActivitiesFullGiftDao.queryByCodeOrBrand(Long.parseLong(mkaId),freeGoodsDto.getBarCode(),freeGoodsDto.getBrand(),nowTime);
- if(old != null){
- throw new RRException("该商品或者该品牌已经参与本次活动,商品{"+freeGoodsDto.getBarCode()+"},品牌,{"+freeGoodsDto.getBrand()+"}",500);
- }
- // 保存日常活动商品
- MkActivitiesFullGiftEntity mkActivitiesFullGiftEntity = new MkActivitiesFullGiftEntity();
- mkActivitiesFullGiftEntity.setQualifiedAmount(new BigDecimal(freeGoodsDto.getFullReductionPrice())); // 满赠达到金额
- mkActivitiesFullGiftEntity.setGiftBarcode(freeGoodsDto.getSendBarCode()); // 赠送商品条码
- mkActivitiesFullGiftEntity.setGiftGoodsSn(freeGoodsDto.getSendGoodsSn()); // 赠送商品编号
- mkActivitiesFullGiftEntity.setProductBrand(freeGoodsDto.getBrand()); // 商品品牌
- mkActivitiesFullGiftEntity.setGoodsSn(freeGoodsDto.getGoodsSn()); // 商品编号
- mkActivitiesFullGiftEntity.setBarcode(freeGoodsDto.getBarCode()); // 商品条码
- mkActivitiesFullGiftEntity.setDeadline(freeGoodsDto.getDeadline());
- mkActivitiesFullGiftEntity.setShopSn(storeId); // 门店编号
- mkActivitiesFullGiftEntity.setMkaId(Long.parseLong(mkaId)); // 商品截止日期
- mkActivitiesFullGiftDao.save(mkActivitiesFullGiftEntity);
- }
- }
- }
- /**
- * 根据品牌、条形码、当前时间查询是否有满赠的商品条码
- *
- * @param mkaId
- * @param prodBarcode
- * @param brandName
- * @param nowTime
- * @return
- */
- @Override
- public MkActivitiesFullGiftEntity queryByCodeOrBrand(Long mkaId, String prodBarcode, String brandName, String nowTime) {
- return mkActivitiesFullGiftDao.queryByCodeOrBrand(mkaId,prodBarcode,brandName,nowTime);
- }
- }
|