Ver código fonte

代理人3.0app开发

xuqiang 1 ano atrás
pai
commit
6997c2ccb9

+ 28 - 11
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerPremiumDetailsServiceImpl.java

@@ -26,9 +26,11 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 @Service
@@ -84,38 +86,53 @@ public class PartnerPremiumDetailsServiceImpl extends ServiceImpl<PartnerPremium
             lambdaQueryWrapper.between(PartnerPremiumDetails::getCreateTime, detailsParam.getStartTime(), detailsParam.getEndTime());
         }
         List<PartnerPremiumDetails> partnerPremiumDetails = baseMapper.selectList(lambdaQueryWrapper);
+
+        Map<Integer, List<PartnerPremiumDetails>> grouped = partnerPremiumDetails.stream()
+                .collect(Collectors.groupingBy(PartnerPremiumDetails::getSource));
+        List<JSONObject> list = new ArrayList<>();
+        if (CollectionUtil.isNotEmpty( grouped)){
+            grouped.forEach((key, value) -> {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("size",value.size());
+                jsonObject.put("grade",String.valueOf(key));
+                jsonObject.put("gradeName",ruleService.selectByGrade(String.valueOf(key)).getGradeName());
+                jsonObject.put("totalAmount",calculateTotalAmount(value));
+                jsonObject.put("dateTime",queryTime(detailsParam.getUserId(),key));
+                list.add(jsonObject);
+            });
+        }
         JSONObject jsonObject = new JSONObject();
-        jsonObject.put("size",partnerPremiumDetails.size());
-        jsonObject.put("grade",detailsParam.getGrade());
-        jsonObject.put("gradeName",ruleService.selectByGrade(detailsParam.getGrade()).getGradeName());
-        jsonObject.put("totalAmount",calculateTotalAmount(partnerPremiumDetails));
-        jsonObject.put("dateTime",queryTime(detailsParam));
+        jsonObject.put("data",list);
+        JSONObject object = new JSONObject();
+        object.put("size",partnerPremiumDetails.size());
+        object.put("totalAmount",calculateTotalAmount(partnerPremiumDetails));
+        jsonObject.put("total",object);
         return jsonObject;
     }
 
-    public Map<String,String> queryTime(PartnerDetailsParam detailsParam){
+    public Map<String,String> queryTime(String userId,Integer grade){
         LambdaQueryWrapper<PartnerUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-        lambdaQueryWrapper.eq(StringUtils.isNotBlank(detailsParam.getUserId()), PartnerUser::getUserId,detailsParam.getUserId());
-        lambdaQueryWrapper.eq(StringUtils.isNotBlank(detailsParam.getGrade()), PartnerUser::getGrade,detailsParam.getGrade());
+        lambdaQueryWrapper.eq(StringUtils.isNotBlank(userId), PartnerUser::getUserId,userId);
+        lambdaQueryWrapper.eq(PartnerUser::getGrade,grade);
         PartnerUser partnerUser = partnerUserMapper.selectOne(lambdaQueryWrapper);
         PartnerRuleEntity ruleEntity = ruleService.selectByGrade(String.valueOf(partnerUser.getGrade()));
         Map<String,String> jsonObject = new HashMap<>();
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        if (partnerUser.getUpgradeTime() != null){
+        if (partnerUser.getUpgradeTime() != null && 1 != grade){
             jsonObject.put("upgradeTimeStart",formatter.format(partnerUser.getUpgradeTime()));
             jsonObject.put("upgradeTimeEnd",formatter.format(PartnerDateUtils.addDays(partnerUser.getUpgradeTime(), Integer.valueOf(ruleEntity.getCycle().getFixedDays())) ));
         }else {
             jsonObject.put("upgradeTimeStart","");
             jsonObject.put("upgradeTimeEnd","");
         }
-        if (partnerUser.getIdentityTime() != null){
+        if (partnerUser.getIdentityTime() != null && 1 != grade){
             jsonObject.put("freezeStart",formatter.format(partnerUser.getIdentityTime()) );
             jsonObject.put("freezeEnd", formatter.format(PartnerDateUtils.addDays(partnerUser.getIdentityTime(),expireDays )) );
         }else {
             jsonObject.put("freezeStart","");
             jsonObject.put("freezeEnd","");
         }
-        if (partnerUser.getIdentityTime() != null){
+        if (partnerUser.getIdentityTime() != null && 1 != grade){
             jsonObject.put("expired",formatter.format(PartnerDateUtils.addDays(partnerUser.getIdentityTime(),expireDays)) + "(" + expireDays + "天过期)");
         }else {
             jsonObject.put("expired","");

+ 0 - 2
src/main/java/com/ydtech/modules/partner/service/PartnerPremiumDetailsService.java

@@ -4,8 +4,6 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ydtech.modules.partner.model.param.PartnerDetailsParam;
 
-import java.util.Map;
-
 public interface PartnerPremiumDetailsService {