Browse Source

二期功能开发

master
zhangyeguang 3 months ago
parent
commit
993f7cf3e3
  1. 5
      social/src/main/java/com/jiagutech/ams/controller/DeviceController.java
  2. 7
      social/src/main/java/com/jiagutech/ams/controller/MessageDataController.java
  3. 1
      social/src/main/java/com/jiagutech/ams/controller/RegionController.java
  4. 2
      social/src/main/java/com/jiagutech/ams/mapper/DeviceMapper.java
  5. 1
      social/src/main/java/com/jiagutech/ams/model/dto/DeviceDTO.java
  6. 3
      social/src/main/java/com/jiagutech/ams/model/response/DeviceInfo.java
  7. 2
      social/src/main/java/com/jiagutech/ams/service/DeviceService.java
  8. 12
      social/src/main/java/com/jiagutech/ams/service/DeviceServiceImpl.java
  9. 4
      social/src/main/java/com/jiagutech/ams/service/JobServiceImpl.java
  10. 8
      social/src/main/resources/mapper/DeviceMapper.xml
  11. 5
      system/src/main/java/com/jiagutech/ams/controller/DeptController.java
  12. 6
      system/src/main/java/com/jiagutech/ams/service/UserServiceImpl.java
  13. 13
      web/src/main/java/com/jiagutech/ams/config/SaTokenConfigure.java

5
social/src/main/java/com/jiagutech/ams/controller/DeviceController.java

@ -7,6 +7,7 @@ import com.jiagutech.ams.model.common.PageResult;
import com.jiagutech.ams.model.common.R; import com.jiagutech.ams.model.common.R;
import com.jiagutech.ams.model.dto.DeviceDTO; import com.jiagutech.ams.model.dto.DeviceDTO;
import com.jiagutech.ams.model.request.DeviceRequest; import com.jiagutech.ams.model.request.DeviceRequest;
import com.jiagutech.ams.model.request.JobPageRequest;
import com.jiagutech.ams.model.response.ChartItem; import com.jiagutech.ams.model.response.ChartItem;
import com.jiagutech.ams.model.response.DeviceDetail; import com.jiagutech.ams.model.response.DeviceDetail;
import com.jiagutech.ams.model.response.DeviceInfo; import com.jiagutech.ams.model.response.DeviceInfo;
@ -43,10 +44,10 @@ public class DeviceController {
} }
@Operation(summary = "设备列表")
@Operation(summary = "分页设备列表")
@PostMapping("/page") @PostMapping("/page")
@SaCheckRole(value = {"manager", "admin", "gov"}, mode = SaMode.OR) @SaCheckRole(value = {"manager", "admin", "gov"}, mode = SaMode.OR)
public R<PageResult<DeviceDTO>> page(@RequestBody PageRequest<DeviceRequest> pageRequest) {
public R<PageResult<DeviceInfo>> page(@RequestBody PageRequest<DeviceRequest> pageRequest) {
return R.ok(deviceService.page(pageRequest)); return R.ok(deviceService.page(pageRequest));
} }

7
social/src/main/java/com/jiagutech/ams/controller/MessageDataController.java

@ -6,6 +6,9 @@ import com.jiagutech.ams.model.request.MachImage;
import com.jiagutech.ams.model.request.RealTimeData; import com.jiagutech.ams.model.request.RealTimeData;
import com.jiagutech.ams.model.request.WorkRecord; import com.jiagutech.ams.model.request.WorkRecord;
import com.jiagutech.ams.service.MessageDataService; import com.jiagutech.ams.service.MessageDataService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -16,10 +19,12 @@ import java.util.List;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/MessageDataService") @RequestMapping("/MessageDataService")
@Tag(name = "中农云推送")
public class MessageDataController { public class MessageDataController {
private final MessageDataService messageDataService; private final MessageDataService messageDataService;
@Operation(description = "实时推送")
@PostMapping("/machineryRealtimeData") @PostMapping("/machineryRealtimeData")
public R<String> addRealTimeData(@RequestBody List<RealTimeData> realTimeDatas) { public R<String> addRealTimeData(@RequestBody List<RealTimeData> realTimeDatas) {
//if (checkSign(request,response)) { //if (checkSign(request,response)) {
@ -29,6 +34,7 @@ public class MessageDataController {
} }
@Operation(description = "图片推送")
@PostMapping(value = "/machineryImage", consumes = "multipart/form-data") @PostMapping(value = "/machineryImage", consumes = "multipart/form-data")
public R<String> machineryImage(@ModelAttribute MachImage machImage) { public R<String> machineryImage(@ModelAttribute MachImage machImage) {
@ -38,6 +44,7 @@ public class MessageDataController {
} }
@Operation(description = "作业记录推送")
@PostMapping("/machineryAreaDataList") @PostMapping("/machineryAreaDataList")
public R<String> addWorkData(@RequestBody List<WorkRecord> workRecords) { public R<String> addWorkData(@RequestBody List<WorkRecord> workRecords) {
log.info("WorkRecord:{}", JSONObject.toJSONString(workRecords)); log.info("WorkRecord:{}", JSONObject.toJSONString(workRecords));

1
social/src/main/java/com/jiagutech/ams/controller/RegionController.java

@ -40,6 +40,7 @@ public class RegionController {
@Operation(summary = "从历史作业中获取区域列表") @Operation(summary = "从历史作业中获取区域列表")
@GetMapping("getHistoryJobRegions") @GetMapping("getHistoryJobRegions")
@SaCheckRole(value = {"admin", "manager", "machinist"}, mode = SaMode.OR)
public R<List<RegionE>> getHistoryJobRegions() { public R<List<RegionE>> getHistoryJobRegions() {
List<RegionE> historyJobRegions = regionService.getHistoryJobRegions(); List<RegionE> historyJobRegions = regionService.getHistoryJobRegions();
return R.ok(historyJobRegions); return R.ok(historyJobRegions);

2
social/src/main/java/com/jiagutech/ams/mapper/DeviceMapper.java

@ -17,7 +17,7 @@ public interface DeviceMapper extends BaseMapper<DeviceDTO> {
DeviceDetail selectDetail(@Param("ew") QueryWrapper<DeviceDetail> queryWrapper); DeviceDetail selectDetail(@Param("ew") QueryWrapper<DeviceDetail> queryWrapper);
Page<DeviceDTO> deivcePage(Page<DeviceDTO> page, @Param("ew") QueryWrapper<DeviceDTO> queryWrapper);
Page<DeviceInfo> deivcePage(Page<DeviceInfo> page, @Param("ew") QueryWrapper<DeviceInfo> queryWrapper);
List<ChartItem> selectChart(@Param("level") int level, @Param("regionPath") String regionPath); List<ChartItem> selectChart(@Param("level") int level, @Param("regionPath") String regionPath);
} }

1
social/src/main/java/com/jiagutech/ams/model/dto/DeviceDTO.java

@ -31,7 +31,6 @@ public class DeviceDTO {
private Long deptId; private Long deptId;
private String deptName;
private Double lat; private Double lat;

3
social/src/main/java/com/jiagutech/ams/model/response/DeviceInfo.java

@ -32,4 +32,7 @@ public class DeviceInfo {
private String licensePlate; private String licensePlate;
private Long deptId;
private String deptName;
} }

2
social/src/main/java/com/jiagutech/ams/service/DeviceService.java

@ -13,7 +13,7 @@ import java.util.List;
public interface DeviceService { public interface DeviceService {
List<DeviceInfo> onlineAndRound(double maxLng, double maxLat, double minLng, double minLat); List<DeviceInfo> onlineAndRound(double maxLng, double maxLat, double minLng, double minLat);
PageResult<DeviceDTO> page(PageRequest<DeviceRequest> pageRequest);
PageResult<DeviceInfo> page(PageRequest<DeviceRequest> pageRequest);
List<DeviceInfo> deviceList(); List<DeviceInfo> deviceList();

12
social/src/main/java/com/jiagutech/ams/service/DeviceServiceImpl.java

@ -97,16 +97,16 @@ public class DeviceServiceImpl implements DeviceService {
} }
@Override @Override
public PageResult<DeviceDTO> page(PageRequest<DeviceRequest> pageRequest) {
Page<DeviceDTO> page = new Page(pageRequest.getPageNum(), pageRequest.getPageSize());
QueryWrapper<DeviceDTO> queryWrapper = buildQueryWrapper(pageRequest.getRequest());
public PageResult<DeviceInfo> page(PageRequest<DeviceRequest> pageRequest) {
Page<DeviceInfo> page = new Page(pageRequest.getPageNum(), pageRequest.getPageSize());
QueryWrapper<DeviceInfo> queryWrapper = buildQueryWrapper(pageRequest.getRequest());
Page<DeviceDTO> result = deviceMapper.deivcePage(page, queryWrapper);
Page<DeviceInfo> result = deviceMapper.deivcePage(page, queryWrapper);
return PageResult.of((int) result.getTotal(), pageRequest.getPageSize(), (int) result.getCurrent(), result.getRecords()); return PageResult.of((int) result.getTotal(), pageRequest.getPageSize(), (int) result.getCurrent(), result.getRecords());
} }
private QueryWrapper<DeviceDTO> buildQueryWrapper(DeviceRequest deviceRequest) {
QueryWrapper<DeviceDTO> queryWrapper = Wrappers.query();
private QueryWrapper<DeviceInfo> buildQueryWrapper(DeviceRequest deviceRequest) {
QueryWrapper<DeviceInfo> queryWrapper = Wrappers.query();
if (!ObjectUtils.isEmpty(deviceRequest)) { if (!ObjectUtils.isEmpty(deviceRequest)) {
if (deviceRequest.getRegionCode() != null && deviceRequest.getRegionCode() != 0L) { if (deviceRequest.getRegionCode() != null && deviceRequest.getRegionCode() != 0L) {
queryWrapper.eq("dp.region_code", deviceRequest.getRegionCode()); queryWrapper.eq("dp.region_code", deviceRequest.getRegionCode());

4
social/src/main/java/com/jiagutech/ams/service/JobServiceImpl.java

@ -127,7 +127,7 @@ public class JobServiceImpl implements JobService {
@Override @Override
public void exportJobs(JobPageRequest jobPageRequest, HttpServletResponse response) { public void exportJobs(JobPageRequest jobPageRequest, HttpServletResponse response) {
QueryWrapper<JobItem> queryWrapper = buildQueryWrapper(jobPageRequest); QueryWrapper<JobItem> queryWrapper = buildQueryWrapper(jobPageRequest);
queryWrapper.in("finish_type", 1, 3);
queryWrapper.in("finished_type", 1, 3);
List<JobItem> jobItems = jobMapper.jobList(queryWrapper); List<JobItem> jobItems = jobMapper.jobList(queryWrapper);
ExcelUtil.exportExcel(jobItems, "作业记录", JobItem.class, response); ExcelUtil.exportExcel(jobItems, "作业记录", JobItem.class, response);
} }
@ -135,7 +135,7 @@ public class JobServiceImpl implements JobService {
@Override @Override
public void exportByFarmer(JobPageRequest jobPageRequest, HttpServletResponse response) { public void exportByFarmer(JobPageRequest jobPageRequest, HttpServletResponse response) {
QueryWrapper<JobItem> queryWrapper = buildQueryWrapper(jobPageRequest); QueryWrapper<JobItem> queryWrapper = buildQueryWrapper(jobPageRequest);
queryWrapper.in("finish_type", 1, 3);
queryWrapper.in("finished_type", 1, 3);
List<JobItem> jobItems = jobMapper.jobListCountByFarmer(queryWrapper); List<JobItem> jobItems = jobMapper.jobListCountByFarmer(queryWrapper);
List<JobPolyItem> jobPolyItems = JobMapping.INSTANCE.jobItemListToJobPolyItemList(jobItems); List<JobPolyItem> jobPolyItems = JobMapping.INSTANCE.jobItemListToJobPolyItemList(jobItems);
ExcelUtil.exportExcel(jobPolyItems, "作业记录", JobPolyItem.class, response); ExcelUtil.exportExcel(jobPolyItems, "作业记录", JobPolyItem.class, response);

8
social/src/main/resources/mapper/DeviceMapper.xml

@ -45,9 +45,11 @@
${ew.getCustomSqlSegment} ${ew.getCustomSqlSegment}
</select> </select>
<select id="deivcePage" resultType="com.jiagutech.ams.model.dto.DeviceDTO">
select d.*,dp.name as deptName from ams_device_info d left join ams_dept dp on d.dept_id = dp.id
${ew.getCustomSqlSegment}
<select id="deivcePage" resultType="com.jiagutech.ams.model.response.DeviceInfo">
select d.*, dp.name as deptName
from ams_device_info d
left join ams_dept dp on d.dept_id = dp.id
${ew.getCustomSqlSegment}
</select> </select>
<select id="selectChart" resultType="com.jiagutech.ams.model.response.ChartItem"> <select id="selectChart" resultType="com.jiagutech.ams.model.response.ChartItem">
<if test="level &lt; 3"> <if test="level &lt; 3">

5
system/src/main/java/com/jiagutech/ams/controller/DeptController.java

@ -8,6 +8,7 @@ import com.jiagutech.ams.model.common.R;
import com.jiagutech.ams.model.request.DeptAddRequest; import com.jiagutech.ams.model.request.DeptAddRequest;
import com.jiagutech.ams.model.request.DeptPageRequest; import com.jiagutech.ams.model.request.DeptPageRequest;
import com.jiagutech.ams.service.DeptService; import com.jiagutech.ams.service.DeptService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -28,13 +29,15 @@ public class DeptController {
@SaCheckRole("gov") @SaCheckRole("gov")
@PostMapping("/page") @PostMapping("/page")
@Operation(description = "分页获取合作社列表")
public R<PageResult<DeptItem>> selectPage(@RequestBody PageRequest<DeptPageRequest> pageRequest) { public R<PageResult<DeptItem>> selectPage(@RequestBody PageRequest<DeptPageRequest> pageRequest) {
return R.ok(deptService.selectPage(pageRequest)); return R.ok(deptService.selectPage(pageRequest));
} }
@SaCheckRole("gov") @SaCheckRole("gov")
@PutMapping("/add") @PutMapping("/add")
public R<Boolean> selectById(@RequestBody DeptAddRequest deptAddRequest) {
@Operation(description = "添加合作社")
public R<Boolean> addDept(@RequestBody DeptAddRequest deptAddRequest) {
return deptService.add(deptAddRequest) ? R.ok() : R.fail("添加合作社失败"); return deptService.add(deptAddRequest) ? R.ok() : R.fail("添加合作社失败");
} }

6
system/src/main/java/com/jiagutech/ams/service/UserServiceImpl.java

@ -195,13 +195,13 @@ public class UserServiceImpl implements UserService {
private QueryWrapper<UserDetail> buildQueryWrapper(PageUserRequest requestParam) { private QueryWrapper<UserDetail> buildQueryWrapper(PageUserRequest requestParam) {
QueryWrapper<UserDetail> queryWrapper = new QueryWrapper<>(); QueryWrapper<UserDetail> queryWrapper = new QueryWrapper<>();
if (requestParam != null) { if (requestParam != null) {
if (requestParam.getUserId() != null) {
if (requestParam.getUserId() != null && requestParam.getUserId() != 0) {
queryWrapper.eq("u.id", requestParam.getUserId()); queryWrapper.eq("u.id", requestParam.getUserId());
} }
if (requestParam.getPhone() != null) {
if (StringUtils.isNotBlank(requestParam.getPhone())) {
queryWrapper.like("u.phone", requestParam.getPhone()); queryWrapper.like("u.phone", requestParam.getPhone());
} }
if (requestParam.getRoleKey() != null) {
if (StringUtils.isNotBlank(requestParam.getRoleKey())) {
queryWrapper.eq("r.key", requestParam.getRoleKey()); queryWrapper.eq("r.key", requestParam.getRoleKey());
} }
} }

13
web/src/main/java/com/jiagutech/ams/config/SaTokenConfigure.java

@ -1,11 +1,15 @@
package com.jiagutech.ams.config; package com.jiagutech.ams.config;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.interceptor.SaInterceptor; import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.stp.StpUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Slf4j
@Configuration @Configuration
public class SaTokenConfigure implements WebMvcConfigurer { public class SaTokenConfigure implements WebMvcConfigurer {
@Autowired @Autowired
@ -15,7 +19,14 @@ public class SaTokenConfigure implements WebMvcConfigurer {
@Override @Override
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
// 注册 Sa-Token 拦截器,打开注解式鉴权功能 // 注册 Sa-Token 拦截器,打开注解式鉴权功能
registry.addInterceptor(new SaInterceptor()).order(10).addPathPatterns("/**");
registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin()))
.order(10)
.addPathPatterns("/**")
.excludePathPatterns("/user/login", "user/logout", "/common/code",
"/user/register", "/MessageDataService/*", "/favicon.ico", "/error",
"/swagger-ui/**", "/swagger-resources/**", "/v3/api-docs/**", "/doc.html/**", "/webjars/**"
);
;
registry.addInterceptor(commonInterceptor).order(-999).addPathPatterns("/**"); registry.addInterceptor(commonInterceptor).order(-999).addPathPatterns("/**");
} }
} }

Loading…
Cancel
Save