冲突解决
This commit is contained in:
commit
af0f3f42ef
|
@ -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));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取债害详情信息
|
||||
*
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -50,4 +50,6 @@ public interface DisasterInfoService extends IService<DisasterInfo> {
|
|||
List<GroupByUse> getLeft1Data();
|
||||
|
||||
List<GroupByUse> getLeft2Data();
|
||||
|
||||
Boolean addVisitCount(Long id);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue