package com.yijia.integral.service.impl; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import com.yijia.integral.domain.IntegralRuleDetail; import com.yijia.integral.domain.IntegralShopPic; import com.yijia.integral.mapper.IntegralRuleDetailMapper; import com.yijia.integral.mapper.IntegralShopPicMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.yijia.integral.mapper.IntegralRuleMapper; import com.yijia.integral.domain.IntegralRule; import com.yijia.integral.service.IIntegralRuleService; /** * 积分规则Service业务层处理 * * @author yijia * @date 2021-02-24 */ @Service public class IntegralRuleServiceImpl implements IIntegralRuleService { @Autowired private IntegralRuleMapper integralRuleMapper; @Autowired private IntegralRuleDetailMapper integralRuleDetailMapper; @Autowired private IntegralShopPicMapper integralShopPicMapper; /** * 查询积分规则 * * @param id 积分规则ID * @return 积分规则 */ @Override public IntegralRule selectIntegralRuleById(Long id) { //查询油品数据 IntegralRule integralRule =integralRuleMapper.selectIntegralRuleById(id); IntegralRuleDetail detail = new IntegralRuleDetail(); detail.setParentId(id); List list = integralRuleDetailMapper.selectIntegralRuleDetailList(detail); integralRule.setItemsDetail(list); //查询图片信息 IntegralShopPic shopPic =new IntegralShopPic(); shopPic.setParentId(id); List shopPicList = integralShopPicMapper.selectIntegralShopPicList(shopPic); if(shopPicList!=null && shopPicList.size()>0){ integralRule.setImgFileList(shopPicList); }else{ shopPicList =new ArrayList<>(); integralRule.setImgFileList(shopPicList); } return integralRule; } /** * 查询积分规则列表 * * @param integralRule 积分规则 * @return 积分规则 */ @Override public List selectIntegralRuleList(IntegralRule integralRule) { return integralRuleMapper.selectIntegralRuleList(integralRule); } /** * 新增 * * @param integralRule * @return 结果 */ @Override public int insertIntegralRule(IntegralRule integralRule) { try { if(integralRule !=null && integralRule.getTermDateManage()!=null && integralRule.getTermDateManage().equals("1")){ SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd"); integralRule.setEmptyDate(sdf.parse("2099-12-31") ); } } catch (ParseException e) { e.printStackTrace(); } int i =integralRuleMapper.insertIntegralRule(integralRule); // IntegralRule rule= integralRuleMapper.insertIntegralRule(integralRule); //判断规则明细 if(integralRule.getItemsDetail()!=null && integralRule.getItemsDetail().size()>0){ List list =integralRule.getItemsDetail(); for (IntegralRuleDetail detail : list){ if(detail.getSaleAmt()!=null && detail.getIntegral()!=null && detail.getSaleAmt().compareTo(new BigDecimal("0"))==1){ detail.setParentId(integralRule.getId().longValue()); integralRuleDetailMapper.insertIntegralRuleDetail(detail); } } } if(integralRule.getImgFileList()!=null && integralRule.getImgFileList().size()>0){ List imgFileList =integralRule.getImgFileList(); for (IntegralShopPic img : imgFileList){ img.setParentId(integralRule.getId().longValue()); img.setStationId(integralRule.getStationId()); img.setStationName(integralRule.getStationName()); integralShopPicMapper.insertIntegralShopPic(img); } } return i; } /** * 修改积分规则 * * @param integralRule 积分规则 * @return 结果 */ @Override public int updateIntegralRule(IntegralRule integralRule) { //删除对应的明细表数据 IntegralRuleDetail ruleDetail = new IntegralRuleDetail(); ruleDetail.setParentId(integralRule.getId()); integralRuleDetailMapper.deleteIntegralRuleDetail(ruleDetail); //从新保存数据 if(integralRule.getItemsDetail()!=null && integralRule.getItemsDetail().size()>0){ List list =integralRule.getItemsDetail(); for (IntegralRuleDetail detail : list){ if(detail.getSaleAmt()!=null && detail.getIntegral()!=null && detail.getSaleAmt().compareTo(new BigDecimal("0"))==1){ detail.setParentId(integralRule.getId().longValue()); integralRuleDetailMapper.insertIntegralRuleDetail(detail); } } } IntegralShopPic integralShopPic =new IntegralShopPic(); integralShopPic.setParentId(integralRule.getId().longValue()); integralShopPicMapper.deleteIntegralShopPic(integralShopPic); if(integralRule.getImgFileList()!=null && integralRule.getImgFileList().size()>0){ List imgFileList =integralRule.getImgFileList(); for (IntegralShopPic img : imgFileList){ img.setParentId(integralRule.getId().longValue()); img.setStationId(integralRule.getStationId()); img.setStationName(integralRule.getStationName()); integralShopPicMapper.insertIntegralShopPic(img); } } try { if(integralRule !=null && integralRule.getTermDateManage()!=null && integralRule.getTermDateManage().equals("1")){ SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd"); integralRule.setEmptyDate(sdf.parse("2099-12-31") ); } } catch (ParseException e) { e.printStackTrace(); } return integralRuleMapper.updateIntegralRule(integralRule); } /** * 批量删除积分规则 * insertIntegralRule * @param ids 需要删除的积分规则ID * @return 结果 */ @Override public int deleteIntegralRuleByIds(Long[] ids) { return integralRuleMapper.deleteIntegralRuleByIds(ids); } /** * 删除积分规则信息 * * @param id 积分规则ID * @return 结果 */ @Override public int deleteIntegralRuleById(Long id) { return integralRuleMapper.deleteIntegralRuleById(id); } /**** * 获取当前站的积分规则 * @param integralRule * @return */ @Override public IntegralRule selectIntegralRule(IntegralRule integralRule) { IntegralRule rule = integralRuleMapper.selectIntegralRule(integralRule); if(rule!=null){ IntegralRuleDetail detail = new IntegralRuleDetail(); detail.setParentId(rule.getId()); List list = integralRuleDetailMapper.selectIntegralRuleDetailList(detail); rule.setItemsDetail(list); //查询图片信息 IntegralShopPic shopPic =new IntegralShopPic(); shopPic.setParentId(rule.getId()); List shopPicList = integralShopPicMapper.selectIntegralShopPicList(shopPic); rule.setImgFileList(shopPicList); }else{ List list =new ArrayList<>(); rule.setItemsDetail(list); List shopPicList =new ArrayList<>(); rule.setImgFileList(shopPicList); } return rule; } /** * 查询积分明细 * @param integralRule * @return */ @Override public List listRuleInfo(IntegralRule integralRule) { return integralRuleMapper.listRuleInfo(integralRule); } }