From 0b0a5ccd1f42342a3ec7e2e2bbe74bfad4fe066e Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 27 八月 2019 16:59:36 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeRecordServiceImpl.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 107 insertions(+), 8 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..588a874 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,15 @@
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.CodePublishRecordService;
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 +28,14 @@
@Resource
private IntegralExchangeService integralExchangeService;
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
+ @Resource
+ private CodePublishRecordService codePublishRecordService;
+
+
+
@Override
public List<IntegralExchange> listExchange(long start, int count, Long uid){
List<IntegralExchange> listValid = integralExchangeService.listValidCache(start, count);
@@ -28,22 +43,106 @@
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, null);
+ if (num >= 1) {
+ listValid.remove(i);
+ i --;
+ continue;
+ }
+ }
+
+ // 閭�璇风爜婵�娲诲崱锛屽厬鎹㈤」锛屽鏋滃綋鍓嶇敤鎴峰凡缁忔縺娲讳簡閭�璇峰姛鑳斤紝鍒欎笉闇�瑕佹樉绀鸿鍏戞崲椤广��
+ if (type == ExchangeTypeEnum.inviteCodeActivate) {
+ if (hasCode) {
+ listValid.remove(i);
+ i --;
+ continue;
+ }
+
+ // 鍏戞崲涓�娆′箣鍚庨殣钘�
+ long num = integralExchangeRecordMapper.countRecordByUid(id, uid, null);
+ if (num >= 1) {
+ listValid.remove(i);
+ i --;
+ continue;
+ }
+ }
+
+ // 閭�璇风爜鍙戝竷鍗★紝鍏戞崲椤癸紝濡傛灉褰撳墠鐢ㄦ埛鏈縺娲婚個璇峰姛鑳斤紝鍒欎笉闇�瑕佹樉绀鸿鍏戞崲椤广��
+ if (type == ExchangeTypeEnum.inviteCodePublish) {
+ if (!hasCode) {
+ listValid.remove(i);
+ i --;
+ continue;
+ }
+
+ if(codePublishRecordService.countValidRecord(uid) > 0) {
+ exchange.setBtnName("鍘绘煡鐪�");
+ exchange.setNeedJump(true);
+ }
+ }
+
+ String progress = exchange.getProgress();
if (StringUtil.isNullOrEmpty(progress))
continue;
- // 浠婃棩鍏戞崲鎯呭喌
- long exchange = integralExchangeRecordMapper.countRecordByUid(integralExchange.getId(), uid);
+ // 鑷喘鍏嶅崟鍒�-鍙兘鍏戞崲涓�娆�
+ if (type == ExchangeTypeEnum.freeCouponBuy) {
+ long num = integralExchangeRecordMapper.countRecordByUid(id, uid, null);
+ if (num >= 1) {
+ listValid.remove(i);
+ i --;
+ continue;
+ }
+ }
- progress = progress.replace("{宸插厬鎹", exchange + "").replace("{涓婇檺鏁皚", integralExchange.getUpperLimit() + "");
- integralExchange.setProgress(progress);
+ // 浠婃棩鍏戞崲鎯呭喌
+ long num = integralExchangeRecordMapper.countRecordByUid(id, uid, 1);
+ 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;
}
@Override
- public long countRecordByUid(long exchangeid, Long uid){
- return integralExchangeRecordMapper.countRecordByUid(exchangeid, uid);
+ public long countRecordByUid(long exchangeid, Long uid, Integer today){
+ return integralExchangeRecordMapper.countRecordByUid(exchangeid, uid, today);
+ }
+
+ @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