package com.kmall.admin.service.impl; import com.google.common.collect.ImmutableBiMap; import com.kmall.admin.dto.DailyPriceGoodsDto; 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.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.List; import java.util.Map; import com.kmall.admin.dao.MkDailyActivitiesDao; import com.kmall.admin.entity.MkDailyActivitiesEntity; import com.kmall.admin.service.MkDailyActivitiesService; import org.springframework.transaction.annotation.Transactional; /** * 营销活动-日常活动Service实现类 * * @author emato * @email admin@qhdswl.com * @date 2020-09-23 10:43:26 */ @Service("mkDailyActivitiesService") public class MkDailyActivitiesServiceImpl implements MkDailyActivitiesService { @Autowired private MkDailyActivitiesDao mkDailyActivitiesDao; @Override public MkDailyActivitiesEntity queryObject(Long mdaId) { return mkDailyActivitiesDao.queryObject(mdaId); } @Override public List queryList(Map map) { return mkDailyActivitiesDao.queryList(map); } @Override public int queryTotal(Map map) { return mkDailyActivitiesDao.queryTotal(map); } @Override public int save(MkDailyActivitiesEntity mkDailyActivities) { return mkDailyActivitiesDao.save(mkDailyActivities); } @Override public int update(MkDailyActivitiesEntity mkDailyActivities) { return mkDailyActivitiesDao.update(mkDailyActivities); } @Override public int delete(Long mdaId) { return mkDailyActivitiesDao.delete(mdaId); } @Override public int deleteBatch(Long[]mdaIds) { return mkDailyActivitiesDao.deleteBatch(mdaIds); } /** * 上传活动商品 * @param dailyPriceGoodsDtoList * @param storeId * @param mkaId */ @Override @Transactional public void uploadExcel(List dailyPriceGoodsDtoList, String storeId, String mkaId) throws ParseException { if (dailyPriceGoodsDtoList != null && dailyPriceGoodsDtoList.size() > 0) { for (int i = 0; i < dailyPriceGoodsDtoList.size(); i++) { DailyPriceGoodsDto dailyPriceGoodsDto = dailyPriceGoodsDtoList.get(i); Map valideDate = MapBeanUtil.fromObject(dailyPriceGoodsDto); // 校验excel传入的数据 ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder(); builder.put("storeId", "门店编号"); builder.put("goodsSn", "商品编码"); builder.put("barCode", "商品条码"); builder.put("goodsName", "产品名称"); builder.put("goodsEnglishName", "产品英文名称"); builder.put("daliyPrice", "日常价格"); builder.put("activitiesPrice", "活动价格"); 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()); } // 保存日常活动商品 MkDailyActivitiesEntity mkDailyActivitiesEntity = new MkDailyActivitiesEntity(); mkDailyActivitiesEntity.setProductName(dailyPriceGoodsDto.getGoodsName()); // 商品名称 mkDailyActivitiesEntity.setDailyPrice(new BigDecimal(dailyPriceGoodsDto.getDaliyPrice())); // 日常价 mkDailyActivitiesEntity.setActivityPrice(new BigDecimal(dailyPriceGoodsDto.getActivitiesPrice())); // 活动价 mkDailyActivitiesEntity.setGoodsSn(dailyPriceGoodsDto.getGoodsSn()); // 商品编号 mkDailyActivitiesEntity.setBarcode(dailyPriceGoodsDto.getBarCode()); // 商品条码 mkDailyActivitiesEntity.setDeadline(dailyPriceGoodsDto.getDeadline());// 商品截止日期 mkDailyActivitiesEntity.setShopSn(storeId); // 门店编号 mkDailyActivitiesEntity.setMkaId(Long.parseLong(mkaId)); mkDailyActivitiesDao.save(mkDailyActivitiesEntity); } } } /** * 根据条码查询日常活动价格 * * @param mkaId * @param prodBarcode * @return */ @Override public MkDailyActivitiesEntity queryByBarCode(Long mkaId, String prodBarcode) { return mkDailyActivitiesDao.queryByBarCode(mkaId,prodBarcode); } }