package com.kmall.admin.service.impl; import com.google.common.collect.ImmutableBiMap; import com.kmall.admin.dto.CouponMerchandiseDto; 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.List; import java.util.Map; import com.kmall.admin.dao.MkActivitiesCouponDao; import com.kmall.admin.entity.MkActivitiesCouponEntity; import com.kmall.admin.service.MkActivitiesCouponService; import org.springframework.transaction.annotation.Transactional; /** * 营销活动-优惠券Service实现类 * * @author emato * @email admin@qhdswl.com * @date 2020-09-23 10:43:26 */ @Service("mkActivitiesCouponService") public class MkActivitiesCouponServiceImpl implements MkActivitiesCouponService { @Autowired private MkActivitiesCouponDao mkActivitiesCouponDao; @Override public MkActivitiesCouponEntity queryObject(Long macId) { return mkActivitiesCouponDao.queryObject(macId); } @Override public List queryList(Map map) { return mkActivitiesCouponDao.queryList(map); } @Override public int queryTotal(Map map) { return mkActivitiesCouponDao.queryTotal(map); } @Override public int save(MkActivitiesCouponEntity mkActivitiesCoupon) { return mkActivitiesCouponDao.save(mkActivitiesCoupon); } @Override public int update(MkActivitiesCouponEntity mkActivitiesCoupon) { return mkActivitiesCouponDao.update(mkActivitiesCoupon); } @Override public int delete(Long macId) { return mkActivitiesCouponDao.delete(macId); } @Override public int deleteBatch(Long[]macIds) { return mkActivitiesCouponDao.deleteBatch(macIds); } /** * 上传活动商品 * * @param couponMerchandiseDtoList * @param storeId * @param mkaId */ @Override @Transactional public void uploadExcel(List couponMerchandiseDtoList, String storeId, String mkaId) { if (couponMerchandiseDtoList != null && couponMerchandiseDtoList.size() > 0) { for (int i = 0; i < couponMerchandiseDtoList.size(); i++) { CouponMerchandiseDto couponMerchandiseDto = couponMerchandiseDtoList.get(i); Map valideDate = MapBeanUtil.fromObject(couponMerchandiseDto); // 校验excel传入的数据 ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder(); builder.put("storeId", "门店编号"); builder.put("goodsSn", "商品编码"); builder.put("barCode", "商品条码"); builder.put("discountPrice", "优惠价格"); builder.put("couponSn", "优惠券码"); 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()); } MkActivitiesCouponEntity old = mkActivitiesCouponDao.queryByBarCode(mkaId, couponMerchandiseDto.getBarCode(),null); if(old != null){ throw new RRException("该商品已经参与本次活动,商品{"+couponMerchandiseDto.getBarCode()+"}",500); } // 保存日常活动商品 MkActivitiesCouponEntity mkActivitiesCouponEntity = new MkActivitiesCouponEntity(); mkActivitiesCouponEntity.setCouponSn(couponMerchandiseDto.getCouponSn()); // 商品名称 mkActivitiesCouponEntity.setCouponPrice(new BigDecimal(couponMerchandiseDto.getDiscountPrice())); // 活动价 mkActivitiesCouponEntity.setShopSn(storeId); // 门店编号 mkActivitiesCouponEntity.setGoodsSn(couponMerchandiseDto.getGoodsSn()); // 商品编号 mkActivitiesCouponEntity.setBarcode(couponMerchandiseDto.getBarCode()); // 商品条码 mkActivitiesCouponEntity.setMkaId(Long.parseLong(mkaId)); mkActivitiesCouponEntity.setDeadline(couponMerchandiseDto.getDeadline());// 商品截止日期 mkActivitiesCouponDao.save(mkActivitiesCouponEntity); } } } /** * 根据条码查询日常活动价格 * * @param mkaId * @param prodBarcode * @return */ @Override public MkActivitiesCouponEntity queryByBarCode(String mkaId, String prodBarcode, String currentTime) { return mkActivitiesCouponDao.queryByBarCode(mkaId,prodBarcode,currentTime); } @Override public MkActivitiesCouponEntity queryByCouponSn(String couponSn,String currentTime) { return mkActivitiesCouponDao.queryByCouponSn(couponSn,currentTime); } /** * 根据活动id和门店id查询门店优惠券活动 * * @param mkaId 活动id * @param storeId 门店id * @return 优惠券活动 */ @Override public List queryListByMkaIdAndStoreId(Long mkaId, String storeId) { return mkActivitiesCouponDao.queryListByMkaIdAndStoreId(mkaId, storeId); } }