From 616608ec1005bff373bc380ecc3bf02a1063497c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 19 八月 2019 17:42:07 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeRecordServiceImpl.java | 78 ++++++++++++++++++++++++++++++++++++--- 1 files changed, 72 insertions(+), 6 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeRecordServiceImpl.java index 6fd8a39..6e87300 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeRecordServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.service.impl.integral; +import java.util.Date; import java.util.List; import javax.annotation.Resource; @@ -7,9 +8,14 @@ import org.springframework.stereotype.Service; import com.yeshi.fanli.dao.mybatis.integral.IntegralExchangeRecordMapper; +import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.integral.IntegralExchange; +import com.yeshi.fanli.entity.integral.IntegralExchange.ExchangeTypeEnum; +import com.yeshi.fanli.entity.integral.IntegralExchangeRecord; +import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.integral.IntegralExchangeRecordService; import com.yeshi.fanli.service.inter.integral.IntegralExchangeService; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.util.StringUtil; @Service @@ -21,6 +27,9 @@ @Resource private IntegralExchangeService integralExchangeService; + @Resource + private UserInfoExtraService userInfoExtraService; + @Override public List<IntegralExchange> listExchange(long start, int count, Long uid){ List<IntegralExchange> listValid = integralExchangeService.listValidCache(start, count); @@ -28,16 +37,64 @@ return listValid; } - for(IntegralExchange integralExchange: listValid) { - String progress = integralExchange.getProgress(); + boolean hasCode = false; + try { + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) { + hasCode = true; + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + } + + for(int i = 0; i < listValid.size(); i++) { + IntegralExchange exchange = listValid.get(i); + + ExchangeTypeEnum type = exchange.getType(); + if (type == null) { + listValid.remove(i); + i --; + continue; + } + + Long id = exchange.getId(); + if (type == ExchangeTypeEnum.freeCouponBuy) { + // 娉細鍥犺嚜璐厤鍗曞埜锛屼竴涓敤鎴峰彧鑳藉厬鎹竴娆★紝鍒欏綋鍓嶇敤鎴蜂竴鏃﹀厬鎹㈡垚鍔燂紝鑷喘鍏嶅崟鍒稿厬鎹㈠叆鍙f案涔呭湪褰撳墠鐢ㄦ埛閲戝竵鍏戞崲鍒楄〃涓秷澶便�� + long num = integralExchangeRecordMapper.countRecordByUid(id, uid); + if (num >= 1) { + listValid.remove(i); + i --; + continue; + } + } + + // 閭�璇风爜婵�娲诲崱锛屽厬鎹㈤」锛屽鏋滃綋鍓嶇敤鎴峰凡缁忔縺娲讳簡閭�璇峰姛鑳斤紝鍒欎笉闇�瑕佹樉绀鸿鍏戞崲椤广�� + if (type == ExchangeTypeEnum.inviteCodeActivate && hasCode) { + listValid.remove(i); + i --; + continue; + } + + // 閭�璇风爜鍙戝竷鍗★紝鍏戞崲椤癸紝濡傛灉褰撳墠鐢ㄦ埛鏈縺娲婚個璇峰姛鑳斤紝鍒欎笉闇�瑕佹樉绀鸿鍏戞崲椤广�� + if (type == ExchangeTypeEnum.inviteCodePublish && !hasCode) { + listValid.remove(i); + i --; + continue; + } + + String progress = exchange.getProgress(); if (StringUtil.isNullOrEmpty(progress)) continue; // 浠婃棩鍏戞崲鎯呭喌 - long exchange = integralExchangeRecordMapper.countRecordByUid(integralExchange.getId(), uid); - - progress = progress.replace("{宸插厬鎹", exchange + "").replace("{涓婇檺鏁皚", integralExchange.getUpperLimit() + ""); - integralExchange.setProgress(progress); + long num = integralExchangeRecordMapper.countRecordByUid(id, uid); + Integer upperLimit = exchange.getUpperLimit(); + if (upperLimit == null) { + progress = progress.replace("{宸插厬鎹", num + "").replace("/{涓婇檺鏁皚", ""); + } else { + progress = progress.replace("{宸插厬鎹", num + "").replace("{涓婇檺鏁皚", exchange.getUpperLimit() + ""); + } + exchange.setProgress(progress); } return listValid; } @@ -46,4 +103,13 @@ public long countRecordByUid(long exchangeid, Long uid){ return integralExchangeRecordMapper.countRecordByUid(exchangeid, uid); } + + @Override + public void addExchangeRecord(long exchangeid, Long uid){ + IntegralExchangeRecord record = new IntegralExchangeRecord(); + record.setExchangeId(exchangeid); + record.setUid(uid); + record.setCreateTime(new Date()); + integralExchangeRecordMapper.insertSelective(record); + } } -- Gitblit v1.8.0