From 54b0dd1b6f8230799b0b4490f8b39afdd53a4e4c Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 21 八月 2019 09:30:57 +0800
Subject: [PATCH] 积分明细
---
fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeRecordServiceImpl.java | 104 ++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 89 insertions(+), 15 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 c878197..5f6f6a6 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,19 +1,23 @@
package com.yeshi.fanli.service.impl.integral;
-import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
-import org.yeshi.utils.JsonUtil;
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;
-import com.yeshi.fanli.vo.user.UserInfoExtraVO;
@Service
public class IntegralExchangeRecordServiceImpl implements IntegralExchangeRecordService {
@@ -24,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);
@@ -31,24 +43,86 @@
return listValid;
}
- List<Long> listId = new ArrayList<Long>();
- for(IntegralExchange integralExchange: listValid) {
- listId.add(integralExchange.getId());
+ boolean hasCode = false;
+ try {
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
+ hasCode = true;
+ }
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
}
- List<Long> listRecord = integralExchangeRecordMapper.listRecordByExchangeIds(listId);
- for(IntegralExchange integralExchange: listValid) {
- String progress = integralExchange.getProgress();
+ 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) {
+ 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;
- int exchange = 0;
- if (listRecord != null && listRecord.size() >0 && listRecord.contains(integralExchange.getId()))
- exchange = 1;
-
- 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;
}
+
+ @Override
+ 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