Compare commits
18 Commits
Author | SHA1 | Date |
---|---|---|
管李杰 | 9a9a238de1 | |
管李杰 | 1d4b8c1e9f | |
遥望-倪浩天 | 8f25db4ef2 | |
遥望-倪浩天 | 98612bc0c8 | |
管李杰 | 82c4888693 | |
管李杰 | e892cf3aa3 | |
遥望-倪浩天 | 1393e2b840 | |
遥望-倪浩天 | 529caef00d | |
遥望-何玉明 | e60ee0d9f8 | |
遥望-何玉明 | 7e825c2caf | |
遥望-倪浩天 | 145c9671ee | |
管李杰 | 81fdda8f21 | |
管李杰 | e48045eb2b | |
管李杰 | 2cf5df3051 | |
管李杰 | d5a70b532f | |
遥望-何玉明 | 6dc9085d53 | |
管李杰 | d5f552784d | |
遥望-何玉明 | 5a281ac912 |
|
@ -49,7 +49,7 @@ public interface CommonConstant {
|
|||
/**
|
||||
* 对接TB模块的名称
|
||||
*/
|
||||
String KN_VORDM_MODULE_NAME = "biz-vordm-glj";
|
||||
String KN_VORDM_MODULE_NAME = "biz-vordm";
|
||||
|
||||
/**
|
||||
* 系统管理模块 application name
|
||||
|
|
|
@ -228,7 +228,9 @@ public class DisasterInfo implements Serializable {
|
|||
private String email;
|
||||
|
||||
//分数
|
||||
@TableField(exist = false)
|
||||
private Integer fraction;
|
||||
|
||||
//申请数量
|
||||
private Integer applyForCount;
|
||||
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
* 其他上传的实体数据
|
||||
|
@ -115,7 +116,7 @@ public class EntityDataAll implements Serializable {
|
|||
private Integer isDeleted;
|
||||
|
||||
/**
|
||||
* 是否发布(0未发布/1已发布)
|
||||
* 是否发布(0未发布/1已发布)w
|
||||
*/
|
||||
private Integer isPublish;
|
||||
|
||||
|
@ -162,12 +163,12 @@ public class EntityDataAll implements Serializable {
|
|||
/**
|
||||
* 云层覆盖量
|
||||
*/
|
||||
private Integer cloudCover;
|
||||
private Double cloudCover;
|
||||
|
||||
/**
|
||||
* 生产时间
|
||||
*/
|
||||
private Date productTime;
|
||||
private String productTime;
|
||||
|
||||
/**
|
||||
* 产品波段树
|
||||
|
@ -289,6 +290,11 @@ public class EntityDataAll implements Serializable {
|
|||
*/
|
||||
private Integer isAdministration;
|
||||
|
||||
/**
|
||||
* 位置
|
||||
*/
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 查询枚举
|
||||
*/
|
||||
|
|
|
@ -41,53 +41,19 @@ public class GuestApplyDisasterRef implements Serializable {
|
|||
*/
|
||||
private Long adminId;
|
||||
|
||||
/**
|
||||
* 用户邮件
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 用户邮件
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String userEmail;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object that) {
|
||||
if (this == that) {
|
||||
return true;
|
||||
}
|
||||
if (that == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != that.getClass()) {
|
||||
return false;
|
||||
}
|
||||
GuestApplyDisasterRef other = (GuestApplyDisasterRef) that;
|
||||
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
|
||||
&& (this.getDisasterId() == null ? other.getDisasterId() == null : this.getDisasterId().equals(other.getDisasterId()))
|
||||
&& (this.getUserStatus() == null ? other.getUserStatus() == null : this.getUserStatus().equals(other.getUserStatus()))
|
||||
&& (this.getApplyTime() == null ? other.getApplyTime() == null : this.getApplyTime().equals(other.getApplyTime()))
|
||||
&& (this.getAdminId() == null ? other.getAdminId() == null : this.getAdminId().equals(other.getAdminId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
|
||||
result = prime * result + ((getDisasterId() == null) ? 0 : getDisasterId().hashCode());
|
||||
result = prime * result + ((getUserStatus() == null) ? 0 : getUserStatus().hashCode());
|
||||
result = prime * result + ((getApplyTime() == null) ? 0 : getApplyTime().hashCode());
|
||||
result = prime * result + ((getAdminId() == null) ? 0 : getAdminId().hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(getClass().getSimpleName());
|
||||
sb.append(" [");
|
||||
sb.append("Hash = ").append(hashCode());
|
||||
sb.append(", id=").append(id);
|
||||
sb.append(", disasterId=").append(disasterId);
|
||||
sb.append(", userStatus=").append(userStatus);
|
||||
sb.append(", applyTime=").append(applyTime);
|
||||
sb.append(", adminId=").append(adminId);
|
||||
sb.append(", serialVersionUID=").append(serialVersionUID);
|
||||
sb.append("]");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,6 +57,10 @@ public class Install implements Serializable {
|
|||
private Integer status;
|
||||
|
||||
|
||||
/**
|
||||
* 发生时间
|
||||
*/
|
||||
private String happenTime;
|
||||
|
||||
/**
|
||||
* 名称_查询
|
||||
|
|
|
@ -394,17 +394,16 @@ public class DisasterInfoController {
|
|||
LambdaQueryWrapper<GuestInfo> guestInfoQw = new LambdaQueryWrapper<>();
|
||||
guestInfoQw.eq(GuestInfo::getId, one.getSponsorId());
|
||||
GuestInfo guestInfoNew = guestInfoService.getOne(guestInfoQw);
|
||||
|
||||
if (guestInfoNew == null) {
|
||||
LambdaQueryWrapper<Administrator> administratorQw = new LambdaQueryWrapper<>();
|
||||
administratorQw.eq(Administrator::getId, one.getSponsorId());
|
||||
Administrator administrator = administratorService.getOne(administratorQw);
|
||||
guestInfo.setId(administrator.getId());
|
||||
guestInfo.setEmail(administrator.getEmail());
|
||||
Integer fractionUser = administrator.getFraction();
|
||||
administrator.setFraction(fractionUser + 1);
|
||||
administratorService.updateById(administrator);
|
||||
}else {
|
||||
guestInfo.setId(guestInfoNew.getId());
|
||||
guestInfo.setEmail(guestInfoNew.getEmail());
|
||||
}
|
||||
|
||||
|
@ -428,28 +427,28 @@ public class DisasterInfoController {
|
|||
//获取所有管理员信息
|
||||
List<UserVo> allUserEmail = disasterInfoService.getAllUserEmail();
|
||||
List<String> userEmails = new ArrayList<>();
|
||||
allUserEmail.stream().forEach(userVo -> {
|
||||
//发送信息
|
||||
// allUserEmail.stream().forEach(userVo -> {
|
||||
// //发送信息
|
||||
// if (userVo.getEmail() != null) {
|
||||
// userEmails.add(userVo.getEmail());
|
||||
// }
|
||||
// 获取灾害详情
|
||||
|
||||
email.setTos(new String[]{userVo.getEmail()});
|
||||
|
||||
try {
|
||||
emailService.sendMimeMessage(email);
|
||||
} catch (Exception e) {
|
||||
userEmails.add(userVo.getEmail());
|
||||
}
|
||||
});
|
||||
//// 获取灾害详情
|
||||
//
|
||||
// email.setTos(new String[]{userVo.getEmail()});
|
||||
//
|
||||
// try {
|
||||
// emailService.sendMimeMessage(email);
|
||||
// } catch (Exception e) {
|
||||
// userEmails.add(userVo.getEmail());
|
||||
// }
|
||||
// });
|
||||
|
||||
Email emailNewUser = new Email();
|
||||
emailNewUser.setTos(new String[]{guestInfo.getEmail()});
|
||||
emailNewUser.setSubject("Your disaster response application has been approved!");
|
||||
emailNewUser.setText("Your disaster response application has been approved!");
|
||||
try {
|
||||
emailService.sendMimeMessage(email);
|
||||
emailService.sendMimeMessage(emailNewUser);
|
||||
} catch (Exception e) {
|
||||
return R.fail("Sending failed, please check if the email is correct!");
|
||||
}
|
||||
|
@ -782,7 +781,6 @@ public class DisasterInfoController {
|
|||
}
|
||||
byId.setFraction(fractionUserNew);
|
||||
administratorService.updateById(byId);
|
||||
|
||||
}else {
|
||||
userEmail = disasterInfo.getEmail();
|
||||
}
|
||||
|
@ -856,4 +854,74 @@ public class DisasterInfoController {
|
|||
return R.data(disasterInfoService.getUserDisasterInfoListNew(Condition.getPage(query), params.get("userId"),params.get("roleId")));
|
||||
}
|
||||
|
||||
//home页面 受影响国家统计
|
||||
@GetMapping("/getAffectedCountryCount")
|
||||
public R<Integer> getAffectedCountryCount(@RequestParam Map<String, String> params) {
|
||||
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);
|
||||
params.put("startTime",date.toString());
|
||||
break;
|
||||
case "2":
|
||||
//Latest month 上一个月
|
||||
date = LocalDate.now().minusMonths(1);
|
||||
params.put("startTime",date.toString());
|
||||
break;
|
||||
case "3":
|
||||
//Latest six month 上3个月
|
||||
date = LocalDate.now().minusMonths(3);
|
||||
params.put("startTime",date.toString());
|
||||
break;
|
||||
case "5":
|
||||
//Latest six month 上6个月
|
||||
date = LocalDate.now().minusMonths(6);
|
||||
params.put("startTime",date.toString());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return R.data(disasterInfoService.getAffectedCountryCount(params));
|
||||
}
|
||||
|
||||
//home页面 灾害类型数量统计
|
||||
@GetMapping("/getDisasterCountryCount")
|
||||
public R<Integer> getDisasterCountryCount(@RequestParam Map<String, String> params) {
|
||||
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);
|
||||
params.put("startTime",date.toString());
|
||||
break;
|
||||
case "2":
|
||||
//Latest month 上一个月
|
||||
date = LocalDate.now().minusMonths(1);
|
||||
params.put("startTime",date.toString());
|
||||
break;
|
||||
case "3":
|
||||
//Latest six month 上3个月
|
||||
date = LocalDate.now().minusMonths(3);
|
||||
params.put("startTime",date.toString());
|
||||
break;
|
||||
case "5":
|
||||
//Latest six month 上6个月
|
||||
date = LocalDate.now().minusMonths(6);
|
||||
params.put("startTime",date.toString());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return R.data(disasterInfoService.getDisasterCountryCount(params));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -116,8 +116,9 @@ public class EntityDataAllController {
|
|||
* @return
|
||||
*/
|
||||
//4遥感数据(Remote sensing data) type
|
||||
@PostMapping({"/importTemplate"})
|
||||
public R fileExcelUpload(@RequestParam("fileDataOne") MultipartFile fileDataOne, @RequestParam("fileDataTwo") List<MultipartFile> fileDataTwo, @RequestParam("type") Integer type, @RequestParam("disasterId") Long disasterId) {
|
||||
return R.data(null);
|
||||
@PostMapping("/importTemplate")
|
||||
public R fileExcelUpload(@RequestParam("fileDataOne") MultipartFile fileDataOne, @RequestParam("fileDataTwo") List<MultipartFile> fileDataTwo,
|
||||
@RequestParam("type") Integer type, @RequestParam("disasterId") Long disasterId, @RequestParam("userId") Long userId) {
|
||||
return entityDataAllService.fileExcelUpload(fileDataOne,fileDataTwo,type,disasterId,userId);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,9 @@ package com.kening.vordm.controller;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||
import com.kening.vordm.entity.EntityData;
|
||||
import com.kening.vordm.entity.GuestApplyDisasterRef;
|
||||
import com.kening.vordm.service.DisasterInfoService;
|
||||
import com.kening.vordm.service.GuestApplyDisasterRefService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
|
@ -14,6 +16,8 @@ import org.springblade.core.tool.api.R;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
|
@ -22,6 +26,8 @@ public class GuestApplyDisasterRefController {
|
|||
|
||||
private final GuestApplyDisasterRefService guestApplyDisasterRefService;
|
||||
|
||||
private final DisasterInfoService disasterInfoService;
|
||||
|
||||
@GetMapping("/list")
|
||||
public R<IPage<GuestApplyDisasterRef>> list(GuestApplyDisasterRef guestApplyDisasterRef, Query query) {
|
||||
IPage<GuestApplyDisasterRef> pages = guestApplyDisasterRefService.page(Condition.getPage(query), Condition.getQueryWrapper(guestApplyDisasterRef));
|
||||
|
@ -32,6 +38,8 @@ public class GuestApplyDisasterRefController {
|
|||
@ApiOperation(value = "新增", notes = "传入Influence")
|
||||
@PostMapping("/save")
|
||||
public R save(@ApiParam(value = "Influence对象", required = true) @RequestBody GuestApplyDisasterRef guestApplyDisasterRef) {
|
||||
guestApplyDisasterRef.setApplyTime(new Date());
|
||||
disasterInfoService.updateApplyForCount(guestApplyDisasterRef.getDisasterId());
|
||||
return R.status(guestApplyDisasterRefService.save(guestApplyDisasterRef));
|
||||
}
|
||||
|
||||
|
@ -57,10 +65,8 @@ public class GuestApplyDisasterRefController {
|
|||
}
|
||||
|
||||
@GetMapping("/detailByDisasterInfoId")
|
||||
public R<GuestApplyDisasterRef> detailByDisasterInfoId(@ApiParam(value = "主键", required = true) @RequestParam String id) {
|
||||
LambdaQueryWrapper<GuestApplyDisasterRef> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(GuestApplyDisasterRef::getDisasterId,id);
|
||||
GuestApplyDisasterRef detail = guestApplyDisasterRefService.getOne(queryWrapper);
|
||||
public R<IPage<GuestApplyDisasterRef>> detailByDisasterInfoId(String id, Query query) {
|
||||
IPage<GuestApplyDisasterRef> detail = guestApplyDisasterRefService.detailByDisasterInfoId(Condition.getPage(query), id);
|
||||
return R.data(detail);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import org.springblade.core.tool.api.R;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
|
@ -43,6 +44,7 @@ public class InstallController {
|
|||
|
||||
@PostMapping("/save")
|
||||
public R save(@ApiParam(value = "Install对象", required = true) @RequestBody Install install) {
|
||||
install.setCreateTime(new Date());
|
||||
return R.status(installService.save(install));
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.kening.vordm.service.DisasterInfoService;
|
|||
import com.kening.vordm.service.EmailService;
|
||||
import com.kening.vordm.vo.UserVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springblade.core.redis.cache.BladeRedis;
|
||||
import org.springblade.core.tool.api.R;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
@ -24,6 +25,8 @@ public class LoginController {
|
|||
//邮箱发送服务
|
||||
private final EmailService emailService;
|
||||
|
||||
//引入BladeRedis
|
||||
private BladeRedis bladeRedis;
|
||||
/**
|
||||
* 新增用户信息
|
||||
*
|
||||
|
@ -44,6 +47,7 @@ public class LoginController {
|
|||
*/
|
||||
@PostMapping("/sendUserPasswordEmail")
|
||||
public R sendUserPasswordEmail(@RequestBody UserVo userVo) throws MessagingException {
|
||||
bladeRedis.del("blade:user::user:account:595035-"+userVo.getEmail());
|
||||
return emailService.sendUserPasswordEmail(userVo);
|
||||
}
|
||||
|
||||
|
|
|
@ -48,15 +48,21 @@ public class ToolController{
|
|||
if(!StringUtils.isEmpty(tool.getToolName())){
|
||||
queryWrapper.like("tool_name", tool.getToolName());
|
||||
}
|
||||
if(!StringUtils.isEmpty(tool.getMailbox())){
|
||||
queryWrapper.like("mailbox", tool.getMailbox());
|
||||
}
|
||||
if(!StringUtils.isEmpty(tool.getLabel())){
|
||||
queryWrapper.like("label", tool.getLabel());
|
||||
}
|
||||
if(tool.getUploader()!=null) {
|
||||
queryWrapper.eq("uploader", tool.getUploader());
|
||||
if(!StringUtils.isEmpty(tool.getDisasterType())){
|
||||
queryWrapper.like("disaster_type", tool.getDisasterType());
|
||||
}
|
||||
if(!StringUtils.isEmpty(tool.getRelatedDisasterType())) {
|
||||
queryWrapper.eq("related_disaster_type", tool.getRelatedDisasterType());
|
||||
}
|
||||
if(!StringUtils.isEmpty(tool.getDisasterType())) {
|
||||
queryWrapper.like("disaster_type", tool.getDisasterType());
|
||||
}
|
||||
String checkd = tool.getChecked();
|
||||
if(checkd != null && checkd.equals("1")){
|
||||
queryWrapper.isNull("review_time");
|
||||
|
|
|
@ -115,4 +115,10 @@ public interface DisasterInfoMapper extends BaseMapper<DisasterInfo> {
|
|||
IPage<DisasterInfo> getUserDisasterInfoListNewB2(IPage<Object> page, @Param("userId") String userId);
|
||||
|
||||
IPage<DisasterInfo> getUserDisasterInfoListNew(IPage<Object> page, @Param("userId") String userId);
|
||||
|
||||
void updateApplyForCount(@Param("id") Long id);
|
||||
|
||||
Integer getAffectedCountryCount(@Param("params")Map<String, String> params);
|
||||
|
||||
Integer getDisasterCountryCount(@Param("params")Map<String, String> params);
|
||||
}
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
<result property="sponsorOrganization" column="sponsor_organization" jdbcType="TIMESTAMP"/>
|
||||
<result property="respondedTime" column="responded_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="isEndApply" column="is_end_apply" jdbcType="INTEGER"/>
|
||||
<result property="fraction" column="fraction" jdbcType="INTEGER"/>
|
||||
<result property="applyForCount" column="apply_for_count" jdbcType="INTEGER"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
|
@ -36,7 +38,7 @@
|
|||
di.temp_start_time,di.create_time,di.vordm_id,
|
||||
di.respond_time,di.download_count,di.sponsor_organization,
|
||||
di.responded_time,di.is_end_apply,di.admin_id,di.admin_name,
|
||||
di.chief_id,di.chief_name,di.approval_role
|
||||
di.chief_id,di.chief_name,di.approval_role,di.fraction
|
||||
</sql>
|
||||
|
||||
<sql id="Home_Disaster_Info">
|
||||
|
@ -191,6 +193,8 @@
|
|||
d.respond_status,
|
||||
d.responded_time,
|
||||
d.is_end_apply,
|
||||
d.fraction,
|
||||
IFNULL(d.apply_for_count,0) AS apply_for_count,
|
||||
ud.review_time AS reviewTime,
|
||||
ud.sponsor_id AS sponsorId,
|
||||
bdb.dict_value as dictValue,
|
||||
|
@ -571,6 +575,7 @@
|
|||
LEFT JOIN blade_user gi on gi.id = gmdr.sponsor_id
|
||||
<where>
|
||||
gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
</where>
|
||||
</select>
|
||||
|
@ -581,7 +586,6 @@
|
|||
from disaster_info di
|
||||
<where>
|
||||
di.chief_id = #{userId}
|
||||
and di.respond_status > 1
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
@ -607,6 +611,7 @@
|
|||
di.disaster_time BETWEEN #{start} AND #{end}
|
||||
<if test="email != null">
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
</if>
|
||||
GROUP BY date
|
||||
|
@ -627,6 +632,7 @@
|
|||
LEFT JOIN blade_user gi on gi.id = gmdr.sponsor_id
|
||||
where date_format(t.disaster_time, '%Y-%m') = CONCAT(#{year}, '-01')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-02') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -638,6 +644,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-02')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-03') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -649,6 +656,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-03')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-04') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -660,6 +668,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-04')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-05') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -671,6 +680,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-05')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-06') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -682,6 +692,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-06')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-07') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -693,6 +704,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-07')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-08') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -704,6 +716,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-08')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-09') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -715,6 +728,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-09')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-10') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -726,6 +740,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-10')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-11') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -737,6 +752,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-11')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-12') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -748,6 +764,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-12')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
|
||||
|
@ -872,6 +889,7 @@
|
|||
LEFT JOIN blade_user gi on gi.id = gmdr.sponsor_id
|
||||
<where>
|
||||
gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
</where>
|
||||
</select>
|
||||
|
@ -1429,6 +1447,7 @@
|
|||
LEFT JOIN blade_user gi on gi.id = gmdr.sponsor_id
|
||||
where date_format(t.disaster_time, '%Y-%m') = CONCAT(#{year}, '-01')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-02') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1440,6 +1459,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-02')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-03') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1451,6 +1471,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-03')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-04') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1462,6 +1483,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-04')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-05') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1473,6 +1495,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-05')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-06') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1484,6 +1507,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-06')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-07') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1495,6 +1519,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-07')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-08') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1506,6 +1531,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-08')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-09') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1517,6 +1543,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-09')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-10') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1528,6 +1555,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-10')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-11') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1539,6 +1567,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-11')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
SELECT CONCAT(#{year}, '-12') as `key`, 0 as response, count (1) as initiate
|
||||
|
@ -1550,6 +1579,7 @@
|
|||
, '%Y-%m') = CONCAT(#{year}
|
||||
, '-12')
|
||||
and gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
union ALL
|
||||
|
||||
|
@ -1673,7 +1703,8 @@
|
|||
LEFT JOIN guest_manage_disaster_ref gmdr on gmdr.disaster_id = di.id
|
||||
<where>
|
||||
gmdr.sponsor_id = #{userId}
|
||||
and di.respond_status > 1
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
@ -1683,7 +1714,8 @@
|
|||
from disaster_info di
|
||||
<where>
|
||||
di.admin_id = #{userId}
|
||||
and di.respond_status > 1
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
@ -1694,7 +1726,8 @@
|
|||
LEFT JOIN guest_manage_disaster_ref gmdr on gmdr.disaster_id = di.id
|
||||
<where>
|
||||
gmdr.admin_id = #{userId}
|
||||
and di.respond_status = 2
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
@ -1705,8 +1738,61 @@
|
|||
LEFT JOIN guest_manage_disaster_ref gmdr on gmdr.disaster_id = di.id
|
||||
<where>
|
||||
gmdr.manager_id = #{userId}
|
||||
and di.respond_status = 2
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<update id="updateApplyForCount">
|
||||
UPDATE disaster_info set apply_for_count=IFNULL(apply_for_count,0)+1
|
||||
<where>
|
||||
id=#{id}
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<select id="getAffectedCountryCount" resultType="java.lang.Integer">
|
||||
SELECT count(*) FROM
|
||||
(SELECT disaster_country FROM `disaster_info`
|
||||
<where>
|
||||
<if test="params.respondStatus!=null and params.respondStatus!=''">
|
||||
and respond_status = #{params.respondStatus}
|
||||
</if>
|
||||
<if test="params.affectedArea!=null and params.affectedArea!=''">
|
||||
and disaster_country = #{params.affectedArea}
|
||||
</if>
|
||||
<if test="params.disasterType!=null and params.disasterType!=''">
|
||||
and disaster_type = #{params.disasterType}
|
||||
</if>
|
||||
<if test="params.startTime!=null and params.startTime!=''">
|
||||
and disaster_time >= #{params.startTime}
|
||||
</if>
|
||||
<if test="params.endTime!=null and params.endTime!=''">
|
||||
and disaster_time <= #{params.endTime}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY disaster_country) disaster
|
||||
</select>
|
||||
<select id="getDisasterCountryCount" resultType="java.lang.Integer">
|
||||
SELECT count(*) FROM
|
||||
(SELECT disaster_type FROM `disaster_info`
|
||||
<where>
|
||||
<if test="params.respondStatus!=null and params.respondStatus!=''">
|
||||
and respond_status = #{params.respondStatus}
|
||||
</if>
|
||||
<if test="params.affectedArea!=null and params.affectedArea!=''">
|
||||
and disaster_country = #{params.affectedArea}
|
||||
</if>
|
||||
<if test="params.disasterType!=null and params.disasterType!=''">
|
||||
and disaster_type = #{params.disasterType}
|
||||
</if>
|
||||
<if test="params.startTime!=null and params.startTime!=''">
|
||||
and disaster_time >= #{params.startTime}
|
||||
</if>
|
||||
<if test="params.endTime!=null and params.endTime!=''">
|
||||
and disaster_time <= #{params.endTime}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY disaster_type) disaster
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<result property="productSerialNum" column="product_serial_num" jdbcType="VARCHAR"/>
|
||||
<result property="productResolution" column="product_resolution" jdbcType="VARCHAR"/>
|
||||
<result property="cloudCover" column="cloud_cover" jdbcType="INTEGER"/>
|
||||
<result property="productTime" column="product_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="productTime" column="product_time" jdbcType="VARCHAR"/>
|
||||
<result property="productBandsNum" column="product_bands_num" jdbcType="VARCHAR"/>
|
||||
<result property="reason" column="reason" jdbcType="VARCHAR"/>
|
||||
<result property="source" column="source" jdbcType="VARCHAR"/>
|
||||
|
@ -57,6 +57,8 @@
|
|||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="satelliteType" column="satellite_type" jdbcType="VARCHAR"/>
|
||||
<result property="pictureName" column="picture_name" jdbcType="VARCHAR"/>
|
||||
<result property="isAdministration" column="is_administration" jdbcType="INTEGER"/>
|
||||
<result property="location" column="location" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
|
@ -77,13 +79,13 @@
|
|||
ed.upper_right_lon, ed.view_center_lat, ed.view_center_lon,
|
||||
ed.lower_right_lat, ed.lower_right_lon, ed.lower_left_lat,
|
||||
ed.lower_left_lon, ed.create_time, ed.satellite_type,
|
||||
ed.picture_name
|
||||
ed.picture_name, ed.is_administration, ed.location
|
||||
</sql>
|
||||
|
||||
<select id="getEntityDataList" resultType="com.kening.vordm.entity.EntityDataAll">
|
||||
select
|
||||
<include refid="Base_Column_List"/>,
|
||||
bu.name AS uploaderName,
|
||||
bu.name AS username,
|
||||
bu.email AS email,
|
||||
di.vordm_id,
|
||||
di.geometry
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
package com.kening.vordm.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.kening.vordm.entity.EntityData;
|
||||
import com.kening.vordm.entity.GuestApplyDisasterRef;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author G
|
||||
|
@ -11,6 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||
*/
|
||||
public interface GuestApplyDisasterRefMapper extends BaseMapper<GuestApplyDisasterRef> {
|
||||
|
||||
IPage<GuestApplyDisasterRef> detailByDisasterInfoId(IPage<Object> page, @Param("id") String id);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -16,4 +16,17 @@
|
|||
id,disaster_id,user_status,
|
||||
apply_time,admin_id
|
||||
</sql>
|
||||
|
||||
<select id="detailByDisasterInfoId" resultType="com.kening.vordm.entity.GuestApplyDisasterRef">
|
||||
select ga.id,ga.disaster_id,ga.user_status,
|
||||
ga.apply_time,ga.admin_id,
|
||||
bu.name AS userName,bu.email AS userEmail
|
||||
from guest_apply_disaster_ref ga
|
||||
left join blade_user bu on ga.admin_id = bu.id
|
||||
<where>
|
||||
<if test="id!=null and id!=''">
|
||||
ga.disaster_id = #{id}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
LEFT JOIN blade_user gi on gi.id = gmdr.sponsor_id
|
||||
<where>
|
||||
gi.email = #{email}
|
||||
and gmdr.status > 0
|
||||
and gmdr.status != 2
|
||||
</where>
|
||||
</select>
|
||||
|
@ -82,17 +83,15 @@
|
|||
<select id="getByUserStatisticsOneNew" resultType="java.lang.Integer">
|
||||
select count(di.id)
|
||||
FROM guest_manage_disaster_ref di
|
||||
LEFT JOIN guest_manage_disaster_ref gmdr on gmdr.disaster_id = di.id
|
||||
LEFT JOIN blade_user gi on gi.id = gmdr.sponsor_id
|
||||
<where>
|
||||
gi.email = #{email}
|
||||
and gmdr.status != 2
|
||||
di.sponsor_id = #{userId}
|
||||
and di.status != 2
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getByUserStatisticsThreeNew" resultType="java.lang.Integer">
|
||||
select count(ed.id)
|
||||
FROM entity_data ed
|
||||
FROM entity_data_all ed
|
||||
<where>
|
||||
ed.uploader_id = #{userId}
|
||||
</where>
|
||||
|
|
|
@ -13,11 +13,12 @@
|
|||
<result property="isDeleted" column="is_deleted" jdbcType="INTEGER"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="status" column="status" jdbcType="INTEGER"/>
|
||||
<result property="happenTime" column="happen_time" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,title,Images,
|
||||
link,sort,is_deleted,
|
||||
create_time,status
|
||||
create_time,status,happen_time
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
<result property="showName" column="show_name" jdbcType="VARCHAR"/>
|
||||
<result property="mailbox" column="mailbox" jdbcType="VARCHAR"/>
|
||||
<result property="paperLink" column="paper_link" jdbcType="VARCHAR"/>
|
||||
<result property="disasterType" column="disaster_type" jdbcType="VARCHAR"/>
|
||||
<result property="toolVisits" column="tool_visits" jdbcType="INTEGER"/>
|
||||
<result property="paperVisits" column="paper_visits" jdbcType="INTEGER"/>
|
||||
</resultMap>
|
||||
|
@ -30,7 +31,7 @@
|
|||
Introduction,link,detail,
|
||||
create_time,upload_id,manager_id,
|
||||
review_time,type,voluntary_flag,
|
||||
uploader,show_name,mailbox,paper_link,tool_visits,paper_visits
|
||||
uploader,show_name,mailbox,paper_link,tool_visits,paper_visits,disaster_type
|
||||
</sql>
|
||||
|
||||
<select id="toolRanking" resultType="com.kening.vordm.entity.Tool">
|
||||
|
|
|
@ -96,4 +96,10 @@ public interface DisasterInfoService extends IService<DisasterInfo> {
|
|||
List<DisasterInfo> statisticsByUserCountry(Long userId);
|
||||
|
||||
IPage<DisasterInfo> getUserDisasterInfoListNew(IPage<Object> page, String userId, String roleId);
|
||||
|
||||
void updateApplyForCount(Long disasterId);
|
||||
|
||||
Integer getAffectedCountryCount(Map<String, String> params);
|
||||
|
||||
Integer getDisasterCountryCount(Map<String, String> params);
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.kening.vordm.entity.EntityDataAll;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.kening.vordm.vo.UserTenantVo;
|
||||
import org.springblade.core.tool.api.R;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -22,4 +23,5 @@ public interface EntityDataAllService extends IService<EntityDataAll> {
|
|||
|
||||
R saveEntityData(EntityDataAll entityData);
|
||||
|
||||
R fileExcelUpload(MultipartFile fileDataOne, List<MultipartFile> fileDataTwo, Integer type, Long disasterId, Long userId);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
package com.kening.vordm.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.kening.vordm.entity.EntityData;
|
||||
import com.kening.vordm.entity.GuestApplyDisasterRef;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author G
|
||||
* @description 针对表【guest_apply_disaster_ref(灾害响应表,每一个灾害可能有多个用户响应-申请)】的数据库操作Service
|
||||
|
@ -10,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
*/
|
||||
public interface GuestApplyDisasterRefService extends IService<GuestApplyDisasterRef> {
|
||||
|
||||
IPage<GuestApplyDisasterRef> detailByDisasterInfoId(IPage<Object> page, String id);
|
||||
}
|
||||
|
|
|
@ -621,4 +621,19 @@ public class DisasterInfoServiceImpl extends ServiceImpl<DisasterInfoMapper, Dis
|
|||
return baseMapper.getUserDisasterInfoListNewB2(page, userId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateApplyForCount(Long disasterId) {
|
||||
baseMapper.updateApplyForCount(disasterId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getAffectedCountryCount(Map<String, String> params) {
|
||||
return baseMapper.getAffectedCountryCount(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getDisasterCountryCount(Map<String, String> params) {
|
||||
return baseMapper.getDisasterCountryCount(params);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ public class EmailServiceImpl implements EmailService {
|
|||
|
||||
private final DisasterInfoMapper disasterInfoMapper;
|
||||
|
||||
//引入BladeRedis
|
||||
private final BladeRedis bladeRedis;
|
||||
|
||||
@Value("${spring.mail.username}")
|
||||
|
@ -67,8 +68,8 @@ public class EmailServiceImpl implements EmailService {
|
|||
if (bladeUser == null || bladeUser.getPassword()==null){
|
||||
return R.data(1405, "There are currently no bound users for this email");
|
||||
}
|
||||
|
||||
disasterInfoMapper.updataUserByEmail(userVo.getEmail(),"1790ae2beb8e6c6a4c6744667e11c4ba26abeb09");
|
||||
bladeRedis.del("blade:user::user:account:595035-"+userVo.getEmail());
|
||||
Email email = new Email();
|
||||
email.setSubject("Your login password has been updated");
|
||||
String encrypt = DigestUtil.encrypt(bladeUser.getPassword());
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.kening.vordm.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
@ -10,12 +11,23 @@ import com.kening.vordm.service.EntityDataAllService;
|
|||
import com.kening.vordm.mapper.EntityDataAllMapper;
|
||||
import com.kening.vordm.vo.UserTenantVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.springblade.core.oss.MinioTemplate;
|
||||
import org.springblade.core.oss.model.BladeFile;
|
||||
import org.springblade.core.oss.props.OssProperties;
|
||||
import org.springblade.core.tool.api.R;
|
||||
import org.springblade.core.tool.utils.StringUtil;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.io.*;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
/**
|
||||
* @author G
|
||||
|
@ -24,11 +36,18 @@ import java.util.List;
|
|||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class EntityDataAllServiceImpl extends ServiceImpl<EntityDataAllMapper, EntityDataAll>
|
||||
implements EntityDataAllService {
|
||||
|
||||
private final GuestInfoMapper guestInfoMapper;
|
||||
|
||||
private final OssProperties ossProperties;
|
||||
private final MinioTemplate minioTemplate;
|
||||
|
||||
@Value("${oss.minio.image-url:}")
|
||||
private String imageUrl;
|
||||
|
||||
@Override
|
||||
public IPage<EntityDataAll> getEntityDataList(IPage<Object> page, EntityDataAll entityData) {
|
||||
if (entityData.getType() != null && !entityData.getType().isEmpty()) {
|
||||
|
@ -80,6 +99,181 @@ public class EntityDataAllServiceImpl extends ServiceImpl<EntityDataAllMapper, E
|
|||
}
|
||||
return R.status(this.baseMapper.insert(entityData) > 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public R fileExcelUpload(MultipartFile fileDataOne, List<MultipartFile> fileDataTwo, Integer type, Long disasterId, Long userId) {
|
||||
HashSet<String> pictureNames = new HashSet<>();
|
||||
fileDataTwo.stream().forEach(multipartFile -> {
|
||||
String filename = multipartFile.getOriginalFilename();
|
||||
String firstname = filename.substring(0, filename.lastIndexOf("."));
|
||||
pictureNames.add(firstname);
|
||||
});
|
||||
try {
|
||||
InputStream inputStream = fileDataOne.getInputStream();
|
||||
Workbook workbook = new HSSFWorkbook(inputStream);
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
sheet.forEach(currentRow -> {
|
||||
if (currentRow.getRowNum()!= 0&¤tRow!=null&&!isBlankRow(currentRow)) {
|
||||
EntityDataAll entityDataAll = new EntityDataAll();
|
||||
currentRow.forEach(cell -> {
|
||||
if (!Objects.isNull(cell)){
|
||||
int columnIndex = cell.getColumnIndex();
|
||||
//设置单元格类型
|
||||
cell.setCellType(CellType.STRING);
|
||||
switch (columnIndex) {
|
||||
case 0:
|
||||
entityDataAll.setTitle(cell.getStringCellValue());
|
||||
break;
|
||||
case 1:
|
||||
entityDataAll.setProductLevel(cell.getStringCellValue());
|
||||
break;
|
||||
case 2:
|
||||
entityDataAll.setProductSerialNum(cell.getStringCellValue());
|
||||
break;
|
||||
case 3:
|
||||
entityDataAll.setProductTime(cell.getStringCellValue());
|
||||
break;
|
||||
case 4:
|
||||
entityDataAll.setProductResolution(cell.getStringCellValue());
|
||||
break;
|
||||
case 5:
|
||||
String s = cell.getStringCellValue();
|
||||
entityDataAll.setCloudCover(Double.parseDouble(s));
|
||||
break;
|
||||
case 6:
|
||||
entityDataAll.setSatelliteCode(cell.getStringCellValue());
|
||||
break;
|
||||
case 7:
|
||||
entityDataAll.setUpperLeftLat(cell.getStringCellValue());
|
||||
break;
|
||||
case 8:
|
||||
entityDataAll.setUpperLeftLon(cell.getStringCellValue());
|
||||
break;
|
||||
case 9:
|
||||
entityDataAll.setUpperRightLat(cell.getStringCellValue());
|
||||
break;
|
||||
case 10:
|
||||
entityDataAll.setUpperRightLon(cell.getStringCellValue());
|
||||
break;
|
||||
case 11:
|
||||
entityDataAll.setViewCenterLat(cell.getStringCellValue());
|
||||
break;
|
||||
case 12:
|
||||
entityDataAll.setViewCenterLon(cell.getStringCellValue());
|
||||
break;
|
||||
case 13:
|
||||
entityDataAll.setLowerRightLat(cell.getStringCellValue());
|
||||
break;
|
||||
case 14:
|
||||
entityDataAll.setLowerRightLon(cell.getStringCellValue());
|
||||
break;
|
||||
case 15:
|
||||
entityDataAll.setLowerLeftLat(cell.getStringCellValue());
|
||||
break;
|
||||
case 16:
|
||||
entityDataAll.setLowerLeftLon(cell.getStringCellValue());
|
||||
break;
|
||||
case 17:
|
||||
entityDataAll.setCoverageArea(cell.getStringCellValue());
|
||||
break;
|
||||
case 18:
|
||||
String s1 = cell.getStringCellValue();
|
||||
// 1-Optical satellite, 2-Night light satellite, 3-Video satellite,
|
||||
// 4-Hyperspectral satellite, 5-Radar satellite
|
||||
if (s1.equals("Optical")){
|
||||
entityDataAll.setSatelliteTypeSelect(1);
|
||||
}else if (s1.equals("Night light satellite")){
|
||||
entityDataAll.setSatelliteTypeSelect(2);
|
||||
}else if (s1.equals("Video satellite")){
|
||||
entityDataAll.setSatelliteTypeSelect(3);
|
||||
}else if (s1.equals("Hyperspectral satellite")){
|
||||
entityDataAll.setSatelliteTypeSelect(4);
|
||||
}else if (s1.equals("Radar satellite")){
|
||||
entityDataAll.setSatelliteTypeSelect(5);
|
||||
}
|
||||
break;
|
||||
case 19:
|
||||
entityDataAll.setSourceOrganization(cell.getStringCellValue());
|
||||
break;
|
||||
case 20:
|
||||
entityDataAll.setPictureName(cell.getStringCellValue());
|
||||
if (StrUtil.isNotBlank(cell.getStringCellValue())){
|
||||
boolean flag = pictureNames.add(cell.getStringCellValue());
|
||||
if (!flag) {
|
||||
fileDataTwo.stream().forEach(multipartFile -> {
|
||||
String filename = multipartFile.getOriginalFilename();
|
||||
if (filename.contains(cell.getStringCellValue())) {
|
||||
BladeFile bladeFile = minioTemplate.putFile(multipartFile);
|
||||
bladeFile = format(bladeFile, imageUrl);
|
||||
entityDataAll.setLink(bladeFile.getLink());
|
||||
}
|
||||
});
|
||||
} else {
|
||||
pictureNames.remove(cell.getStringCellValue());
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 21:
|
||||
entityDataAll.setDownloadLink(cell.getStringCellValue());
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
entityDataAll.setType("4");
|
||||
entityDataAll.setSource("Other");
|
||||
entityDataAll.setDisasterId(disasterId);
|
||||
entityDataAll.setUploaderId(userId);
|
||||
entityDataAll.setUploadTime(new Date());
|
||||
entityDataAll.setIsAdministration(1);
|
||||
entityDataAll.setStatus(2);
|
||||
baseMapper.insert(entityDataAll);
|
||||
}
|
||||
});
|
||||
workbook.close();
|
||||
inputStream.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return R.data(false);
|
||||
}
|
||||
return R.data(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 格式化上传文件返回路径
|
||||
*
|
||||
* @param bladeFile 上传成功后返回的值
|
||||
* @param showUrl 回显地址
|
||||
* @return 上传后的文件内容
|
||||
*/
|
||||
private BladeFile format(BladeFile bladeFile, String showUrl) {
|
||||
if (StringUtil.isNotBlank(showUrl)) {
|
||||
String link = bladeFile.getLink();
|
||||
String subUrl = link.replace(ossProperties.getEndpoint(), showUrl);
|
||||
bladeFile.setLink(subUrl);
|
||||
bladeFile.setDomain(showUrl);
|
||||
}
|
||||
return bladeFile;
|
||||
}
|
||||
|
||||
public static boolean isBlankRow(Row row){
|
||||
boolean isEmptyRow = true;
|
||||
for (int i=0; i<row.getLastCellNum(); i++){
|
||||
if (row.getCell(i) != null){
|
||||
if (row.getCell(i).getCellType()== CellType.STRING && !row.getCell(i).getRichStringCellValue().equals("")){
|
||||
isEmptyRow = false;
|
||||
break;
|
||||
}else if (row.getCell(i).getCellType()!=CellType.BLANK){
|
||||
isEmptyRow = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!isEmptyRow)
|
||||
break;
|
||||
}
|
||||
return isEmptyRow;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
package com.kening.vordm.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.kening.vordm.entity.EntityData;
|
||||
import com.kening.vordm.entity.GuestApplyDisasterRef;
|
||||
import com.kening.vordm.service.GuestApplyDisasterRefService;
|
||||
import com.kening.vordm.mapper.GuestApplyDisasterRefMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author G
|
||||
* @description 针对表【guest_apply_disaster_ref(灾害响应表,每一个灾害可能有多个用户响应-申请)】的数据库操作Service实现
|
||||
|
@ -15,6 +19,10 @@ import org.springframework.stereotype.Service;
|
|||
public class GuestApplyDisasterRefServiceImpl extends ServiceImpl<GuestApplyDisasterRefMapper, GuestApplyDisasterRef>
|
||||
implements GuestApplyDisasterRefService{
|
||||
|
||||
@Override
|
||||
public IPage<GuestApplyDisasterRef> detailByDisasterInfoId(IPage<Object> page, String id) {
|
||||
return this.baseMapper.detailByDisasterInfoId(page,id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -136,12 +136,6 @@ public class NewsServiceImpl extends ServiceImpl<NewsMapper, News>
|
|||
String reply_count = ExcelCellUtil.strHandle(row.get(5));
|
||||
String visit_count = ExcelCellUtil.strHandle(row.get(6));
|
||||
String retweet_count = ExcelCellUtil.strHandle(row.get(7));
|
||||
String geo = ExcelCellUtil.strHandle(row.get(8));
|
||||
String coordinates = ExcelCellUtil.strHandle(row.get(9));
|
||||
String place = ExcelCellUtil.strHandle(row.get(10));
|
||||
String contributors = ExcelCellUtil.strHandle(row.get(11));
|
||||
String topic = ExcelCellUtil.strHandle(row.get(12));
|
||||
|
||||
SocialMedia socialMedia = new SocialMedia();
|
||||
socialMedia.setCreateTime(new Date());
|
||||
socialMedia.setDisasterId(disasterId);
|
||||
|
@ -179,23 +173,7 @@ public class NewsServiceImpl extends ServiceImpl<NewsMapper, News>
|
|||
if (retweet_count != null) {
|
||||
socialMedia.setRetweetCount(Integer.parseInt(retweet_count));
|
||||
}
|
||||
if (geo != null) {
|
||||
socialMedia.setGeo(geo);
|
||||
}
|
||||
if (coordinates != null) {
|
||||
socialMedia.setCoordinates(coordinates);
|
||||
}
|
||||
if (place != null) {
|
||||
socialMedia.setPlace(place);
|
||||
}
|
||||
if (contributors != null) {
|
||||
socialMedia.setContributors(contributors);
|
||||
}
|
||||
if (topic != null) {
|
||||
|
||||
}
|
||||
socialMedia.setTopic(topic);
|
||||
socialMedia.setStatus(0);
|
||||
socialMedia.setStatus(1);
|
||||
socialMediaMapper.insert(socialMedia);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,7 +87,6 @@ public class PictureInfoServiceImpl extends ServiceImpl<PictureInfoMapper, Pictu
|
|||
}
|
||||
pictureInfo.setSize(multipartFile.getSize());
|
||||
pictureInfo.setType(multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().indexOf(".") + 1));
|
||||
pictureInfo.setIsMain(otherData.getIsMain());
|
||||
pictureInfoList.add(pictureInfo);
|
||||
}
|
||||
return saveBatch(pictureInfoList);
|
||||
|
|
|
@ -8,8 +8,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.kening.vordm.entity.EntityDataAll;
|
||||
import com.kening.vordm.entity.RemoteSensingSourceData;
|
||||
import com.kening.vordm.mapper.EntityDataAllMapper;
|
||||
import com.kening.vordm.mapper.RemoteSensingSourceDataMapper;
|
||||
import com.kening.vordm.service.EntityDataAllService;
|
||||
import com.kening.vordm.service.RemoteSensingSourceDataService;
|
||||
import com.kening.vordm.vo.productResolutionVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
@ -58,6 +61,8 @@ public class RemoteSensingSourceDataServiceImpl extends ServiceImpl<RemoteSensin
|
|||
|
||||
private final OssProperties ossProperties;
|
||||
|
||||
private final EntityDataAllMapper entityDataAllMapper;
|
||||
|
||||
|
||||
@Value("${oss.minio.image-url:}")
|
||||
private String imageUrl;
|
||||
|
@ -299,7 +304,7 @@ public class RemoteSensingSourceDataServiceImpl extends ServiceImpl<RemoteSensin
|
|||
|
||||
@Override
|
||||
public void exportRemoteSensing(Long id, HttpServletRequest request, HttpServletResponse response) {
|
||||
RemoteSensingSourceData remoteSensingSourceData = this.baseMapper.selectById(id);
|
||||
EntityDataAll remoteSensingSourceData = this.entityDataAllMapper.selectById(id);
|
||||
if (remoteSensingSourceData != null){
|
||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||
CellStyle style = workbook.createCellStyle();
|
||||
|
@ -334,8 +339,8 @@ public class RemoteSensingSourceDataServiceImpl extends ServiceImpl<RemoteSensin
|
|||
}
|
||||
XSSFCell xssfCell3 = dataRow.createCell(2);
|
||||
xssfCell3.setCellStyle(style);
|
||||
if (remoteSensingSourceData.getDownloadUrl()!=null) {
|
||||
xssfCell3.setCellValue(remoteSensingSourceData.getDownloadUrl());
|
||||
if (remoteSensingSourceData.getLink()!=null) {
|
||||
xssfCell3.setCellValue(remoteSensingSourceData.getLink());
|
||||
}
|
||||
//下载分析报告excel
|
||||
downLoadExcel(response, workbook, "download");
|
||||
|
|
Loading…
Reference in New Issue