冲突解决

This commit is contained in:
glj 2023-04-12 09:16:55 +08:00
commit af0f3f42ef
4 changed files with 108 additions and 52 deletions

View File

@ -20,6 +20,7 @@ import org.springblade.core.tool.utils.DateUtil;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -154,14 +155,53 @@ public class DisasterInfoController {
*/
@GetMapping("/homeDisasterInfo")
public R<IPage<DisasterInfoVo>> gethomeDisasterInfo(Query query, @RequestParam Map<String, String> params) {
if(StringUtils.isNotBlank(String.valueOf(params.get("startTime"))) && !"null".equals(String.valueOf(params.get("startTime")))){
String dateType = String.valueOf(params.get("dateType"));
if(StringUtils.isNotBlank(dateType) && !"4".equals(dateType) && !"null".equals(dateType)){
LocalDate date = LocalDate.now();
//如果有时间类型
switch (dateType){
case "1" :
//Latest week 上一周
date = LocalDate.now().minusWeeks(1);
break;
case "2":
//Latest month 上一个月
date = LocalDate.now().minusMonths(1);
break;
case "3":
//Latest six month 上6个月
date = LocalDate.now().minusMonths(6);
break;
default:
break;
}
return R.data(disasterInfoVoService.page(Condition.getPage(query),Wrappers.<DisasterInfoVo>lambdaQuery()
.eq(DisasterInfoVo::getRespondStatus, Integer.valueOf(params.get("respondStatus")))
.ge(DisasterInfoVo::getDisasterTime,date)
.le(DisasterInfoVo::getDisasterTime,LocalDate.now())
.eq(StringUtils.isNotBlank(String.valueOf(params.get("disasterType"))) && !"null".equals(String.valueOf(params.get("disasterType"))),DisasterInfoVo::getDisasterType, String.valueOf(params.get("disasterType")))
.and(StringUtils.isNotBlank(String.valueOf(params.get("affectedArea"))) && !"null".equals(String.valueOf(params.get("affectedArea")))
,Wrappers->Wrappers.like(DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("affectedArea"))).or().like(DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("affectedArea"))))
.eq("type".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterType,String.valueOf(params.get("leftVal")))
.eq("country".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("leftVal")))
.eq("sponsorOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("leftVal")))
.inSql("responseOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getId,"select t.disaster_id from guest_manage_disaster_ref t " +
" where t.response_organization = " + params.get("leftVal"))
.orderByDesc("Visits".equals(String.valueOf(params.get("order"))),DisasterInfoVo::getVisitCount)
.orderByDesc("Downloads".equals(String.valueOf(params.get("order"))),DisasterInfoVo::getDownloadCount)
.orderByDesc("updateTime".equals(String.valueOf(params.get("order"))),DisasterInfoVo::getUploadTime)
.orderByDesc(DisasterInfoVo::getDisasterTime)
));
}
if("4".equals(dateType)){
//自定义时间
return R.data(disasterInfoVoService.page(Condition.getPage(query),Wrappers.<DisasterInfoVo>lambdaQuery()
.eq(DisasterInfoVo::getRespondStatus, Integer.valueOf(params.get("respondStatus")))
.ge(DisasterInfoVo::getDisasterTime,LocalDate.parse(String.valueOf(params.get("startTime"))))
.le(DisasterInfoVo::getDisasterTime,LocalDate.parse(String.valueOf(params.get("endTime"))))
.eq(StringUtils.isNotBlank(String.valueOf(params.get("disasterType"))) && !"null".equals(String.valueOf(params.get("disasterType"))),DisasterInfoVo::getDisasterType, String.valueOf(params.get("disasterType")))
.like(StringUtils.isNotBlank(String.valueOf(params.get("affectedArea"))) && !"null".equals(String.valueOf(params.get("affectedArea"))),DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("affectedArea")))
.like(StringUtils.isNotBlank(String.valueOf(params.get("affectedArea"))) && !"null".equals(String.valueOf(params.get("affectedArea"))),DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("affectedArea")))
.and(StringUtils.isNotBlank(String.valueOf(params.get("affectedArea"))) && !"null".equals(String.valueOf(params.get("affectedArea")))
,Wrappers->Wrappers.like(DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("affectedArea"))).or().like(DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("affectedArea"))))
.eq("type".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterType,String.valueOf(params.get("leftVal")))
.eq("country".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("leftVal")))
.eq("sponsorOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("leftVal")))
@ -173,11 +213,12 @@ public class DisasterInfoController {
.orderByDesc(DisasterInfoVo::getDisasterTime)
));
} else{
//没有时间相关的
return R.data(disasterInfoVoService.page(Condition.getPage(query),Wrappers.<DisasterInfoVo>lambdaQuery()
.eq(DisasterInfoVo::getRespondStatus, Integer.valueOf(params.get("respondStatus")))
.eq(StringUtils.isNotBlank(String.valueOf(params.get("disasterType"))) && !"null".equals(String.valueOf(params.get("disasterType"))),DisasterInfoVo::getDisasterType, String.valueOf(params.get("disasterType")))
.like(StringUtils.isNotBlank(String.valueOf(params.get("affectedArea"))) && !"null".equals(String.valueOf(params.get("affectedArea"))),DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("affectedArea")))
.like(StringUtils.isNotBlank(String.valueOf(params.get("affectedArea"))) && !"null".equals(String.valueOf(params.get("affectedArea"))),DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("affectedArea")))
.and(StringUtils.isNotBlank(String.valueOf(params.get("affectedArea"))) && !"null".equals(String.valueOf(params.get("affectedArea")))
,Wrappers->Wrappers.like(DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("affectedArea"))).or().like(DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("affectedArea"))))
.eq("type".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterType,String.valueOf(params.get("leftVal")))
.eq("country".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getDisasterCountry,String.valueOf(params.get("leftVal")))
.eq("sponsorOrganization".equals(String.valueOf(params.get("leftType"))) && !"null".equals(String.valueOf(params.get("leftType"))),DisasterInfoVo::getSponsorOrganization,String.valueOf(params.get("leftVal")))
@ -192,6 +233,18 @@ public class DisasterInfoController {
}
/**
* 获取债害详情信息
*
* @param id
* @return
*/
@GetMapping("/addVisitCount")
public R addVisitCount(Long id) {
return R.data(disasterInfoService.addVisitCount(id));
}
/**
* 获取债害详情信息
*

View File

@ -26,10 +26,7 @@
</resultMap>
<sql id="Base_Column_List">
di
.
id
,di.disaster_type,di.disaster_keyword,
di.id,di.disaster_type,di.disaster_keyword,
di.disaster_time,di.upload_time,di.geometry,
di.disaster_level,di.disaster_country,di.respond_status,
di.visit_count,di.spider_type,di.tempend_time,
@ -37,10 +34,7 @@
di.respond_time,di.download_count,di.sponsor_organization
</sql>
<sql id="Home_Disaster_Info">
d
.
disaster_type
,d.disaster_time,d.disaster_country,
d.disaster_type,d.disaster_time,d.disaster_country,
m.organization
</sql>
@ -104,31 +98,29 @@
LEFT JOIN blade_tenant bt ON bt.id = bu.organization
GROUP BY bu.organization
</select>
<select id="getLeft3Data" resultType="com.kening.vordm.vo.GroupByUse">
select t.sponsor_organization as `name`, count(*) as cnt, 'sponsorOrganization' as `type`
from disaster_info t
from disaster_info t where t.sponsor_organization != ''
GROUP BY t.sponsor_organization
ORDER BY cnt desc LIMIT 3
</select>
<select id="getLeft4Data" resultType="com.kening.vordm.vo.GroupByUse">
select t.response_organization as `name`, count(*) as cnt, 'responseOrganization' as `type`
from guest_manage_disaster_ref t
GROUP BY t.response_organization
ORDER BY cnt desc LIMIT 3
from guest_manage_disaster_ref t where t.response_organization != '' GROUP BY t.response_organization ORDER BY cnt desc LIMIT 3
</select>
<select id="getLeft1Data" resultType="com.kening.vordm.vo.GroupByUse">
select b.dict_key,
b.dict_value as name,
count(t.disaster_type) as cnt,
'type' as `type`,
select b.dict_key, b.dict_value as name, count(t.disaster_type) as cnt, 'type' as `type`,
CONCAT('/icon_disastertype/icon-',b.dict_key,'.png') as icon
from blade_dict_biz b
left join disaster_info t on b.dict_key = t.disaster_type
where b.`code` = 'disaster'
and b.dict_key is not null
from blade_dict_biz b left join disaster_info t on b.dict_key = t.disaster_type
where b.`code` = 'disaster' and b.parent_id != 0
group by b.dict_key, b.dict_value
order by cnt desc limit 7
order by cnt desc
limit 7
</select>
<select id="getLeft2Data" resultType="com.kening.vordm.vo.GroupByUse">
SELECT b.*, c.img as icon
from country_icon c
@ -137,7 +129,6 @@
from disaster_info t
group by t.disaster_country
order by cnt desc limit 7) b on c.flagname = b.`name`
</select>
</mapper>

View File

@ -50,4 +50,6 @@ public interface DisasterInfoService extends IService<DisasterInfo> {
List<GroupByUse> getLeft1Data();
List<GroupByUse> getLeft2Data();
Boolean addVisitCount(Long id);
}

View File

@ -10,6 +10,7 @@ import com.kening.vordm.vo.DisasterMangerInfo;
import com.kening.vordm.vo.GroupByUse;
import com.kening.vordm.vo.UserTenantVo;
import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@ -114,5 +115,14 @@ implements DisasterInfoService {
return this.baseMapper.getLeft2Data();
}
@Override
@Async
public Boolean addVisitCount(Long id) {
DisasterInfo disasterInfo = getById(id);
disasterInfo.setVisitCount(disasterInfo.getVisitCount()+1);
updateById(disasterInfo);
return null;
}
}