|
|
@@ -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","");
|