提交 b8f775fb 作者: 张小凤 提交者: 余乾开

update

上级 8ee4b652
...@@ -2,7 +2,6 @@ package com.mmc.csf.release.task.vo; ...@@ -2,7 +2,6 @@ package com.mmc.csf.release.task.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mmc.csf.release.model.group.Create; import com.mmc.csf.release.model.group.Create;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
...@@ -23,7 +22,6 @@ import java.util.List; ...@@ -23,7 +22,6 @@ import java.util.List;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.vo.OrderTaskVO", description = "订单增改VO")
public class OrderTaskVO implements Serializable { public class OrderTaskVO implements Serializable {
private static final long serialVersionUID = -2965614984473801301L; private static final long serialVersionUID = -2965614984473801301L;
@ApiModelProperty(value = "服务id") @ApiModelProperty(value = "服务id")
......
package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.group.Create;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.entity.AppTypeDO;
import com.mmc.csf.release.service.TaskService;
import com.mmc.csf.release.task.qo.TaskServiceQo;
import com.mmc.csf.release.task.vo.IndustryVO;
import com.mmc.csf.release.task.vo.OrderTaskVO;
import com.mmc.csf.release.task.vo.TaskServiceDetailVO;
import com.mmc.csf.release.task.vo.TaskServiceVO;
import io.swagger.annotations.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* @Author LW
* @date 2023/5/17 13:55
* 概要:
*/
@Api(tags = {"web-小程序-作业服务-模块"})
@RestController
@RequestMapping("/work")
public class TaskController {
@Resource
private TaskService taskService;
@ApiOperation(value = "作业服务列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = TaskServiceVO.class)})
@PostMapping("/queryTaskServiceList")
public ResultBody queryTaskServiceList(@RequestBody TaskServiceQo taskServiceQo) {
return ResultBody.success(taskService.queryTaskServiceList(taskServiceQo));
}
@ApiOperation(value = "获取服务信息")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = TaskServiceDetailVO.class) })
@GetMapping("selectInspection")
public ResultBody<TaskServiceDetailVO> getInspectionById(@ApiParam(value = "服务ID", required = true) @RequestParam Integer id){
return taskService.getInspectionById(id);
}
@ApiOperation(value = "预约服务")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) })
@PostMapping("reservationService")
public ResultBody reservationService(@Validated(Create.class) @RequestBody OrderTaskVO orderTaskVO) {
return taskService.reservationService(orderTaskVO);
}
@ApiOperation(value = "web-小程序-行业列表-全部")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = IndustryVO.class) })
@GetMapping("listAllIndustry")
public ResultBody listAllIndustry() {
return taskService.listAllIndustry();
}
@ApiOperation(value = "web-小程序-应用列表-全部")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = AppTypeDO.class) })
@GetMapping("listAllAppType")
public ResultBody listAllAppType() {
return taskService.listAllAppType();
}
@ApiOperation(value = "web-小程序-作业服务列表-全部")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = TaskServiceVO.class) })
@GetMapping("listAllTaskService")
public ResultBody listAllTaskService() {
return taskService.listAllTaskService();
}
}
package com.mmc.csf.release.dao; package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.curriculum.CurriculumInfoDO; import com.mmc.csf.release.entity.curriculum.CurriculumInfoDO;
import com.mmc.csf.release.entity.FlightSkillsDO; import com.mmc.csf.release.entity.curriculum.FlightSkillsDO;
import com.mmc.csf.release.entity.PilotRegistrationDO; import com.mmc.csf.release.entity.curriculum.PilotRegistrationDO;
import com.mmc.csf.release.flyer.qo.CurriculumQo; import com.mmc.csf.release.flyer.qo.CurriculumQo;
import com.mmc.csf.release.flyer.vo.DronePilotLicenseVO; import com.mmc.csf.release.flyer.vo.DronePilotLicenseVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
......
...@@ -2,8 +2,8 @@ package com.mmc.csf.release.dao; ...@@ -2,8 +2,8 @@ package com.mmc.csf.release.dao;
import com.mmc.csf.infomation.qo.BannerInfoQO; import com.mmc.csf.infomation.qo.BannerInfoQO;
import com.mmc.csf.infomation.qo.ModuleInfoQO; import com.mmc.csf.infomation.qo.ModuleInfoQO;
import com.mmc.csf.release.entity.BannerInfoDO; import com.mmc.csf.release.entity.module.BannerInfoDO;
import com.mmc.csf.release.entity.ModuleInfoDO; import com.mmc.csf.release.entity.module.ModuleInfoDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
......
package com.mmc.csf.release.dao;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.entity.*;
import com.mmc.csf.release.task.qo.TaskServiceQo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author LW
* @date 2023/5/17 13:56
* 概要:
*/
@Mapper
public interface TaskDao {
/**
* 计算任务服务列表
*
* @param taskServiceQo 任务服务
* @return int
*/
int countTaskServiceList(TaskServiceQo taskServiceQo);
/**
* 列表页面任务服务
*
* @param taskServiceQo 任务服务
* @return {@link List}<{@link InspectionDO}>
*/
List<InspectionDO> listPageTaskService(TaskServiceQo taskServiceQo);
/**
* 查询服务详情
*
* @param id id
* @return {@link InspectionDO}
*/
InspectionDO selectInspectionById(Integer id);
/**
* 得到行业和检查
*
* @param industryId 行业id
* @param inspectionId 检查id
* @return {@link Integer}
*/
Integer getIndustryAndInspect(Integer industryId, Integer inspectionId);
/**
* 通过id获取检验
*
* @param inspectionId 检查身份证
* @return {@link InspectionDO}
*/
InspectionDO getInspectionById(Integer inspectionId);
/**
* 插入订单任务
*
* @param taskOrderDo 任务订单做
*/
void insertOrderTask(TaskOrderDO taskOrderDo);
/**
* 得到评估信息列表
*
* @param size 大小
* @return {@link List}<{@link InspComtDO}>
*/
List<InspComtDO> getEvaluateInfoList(int size);
/**
* 获取所有行业信息
*/
List<IndustryDO> listAllIndustry();
/**
* 列出所有应用程序类型
*
* @return {@link List}<{@link AppTypeDO}>
*/
List<AppTypeDO> listAllAppType();
/**
* 列出所有任务服务
*
* @return {@link List}<{@link InspectionDO}>
*/
List<InspectionDO> listAllTaskService();
}
package com.mmc.csf.release.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.io.Serializable;
/**
* 应用类型表(AppTypeDO)实体类
*
* @author makejava
* @since 2023-05-19 10:01:54
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AppTypeDO implements Serializable {
private static final long serialVersionUID = -33771594030748645L;
private Integer id;
/**
* 应用名称
*/
private String appName;
private Date createTime;
}
package com.mmc.csf.release.entity;
import com.mmc.csf.release.task.vo.IndustryVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.io.Serializable;
/**
* 行业管理(IndustryDO)实体类
*
* @author makejava
* @since 2023-05-19 09:51:16
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class IndustryDO implements Serializable {
private static final long serialVersionUID = -43925052782251392L;
private Integer id;
/**
* 行业名称
*/
private String name;
/**
* 行业图标
*/
private String industryIcon;
/**
* 简称
*/
private String shortName;
/**
* 0飞行服务,1个人服务,2设备售卖,3设备租赁,4设备返祖
*/
private Integer industryType;
/**
* 行业宣传语1
*/
private String propagate1;
/**
* 行业宣传语2
*/
private String propagate2;
/**
* 图片地址
*/
private String image;
/**
* 视频地址
*/
private String video;
/**
* 是否删除 0 未删除 1 删除
*/
private Integer del;
private Date updateTime;
private Date addTime;
/**
* 行业编号
*/
private String number;
private Integer sort;
/**
* 是否上架 1上架 0下架
*/
private Integer shelf;
/**
* 是否是演示专用行业:0:否 1:是
*/
private Integer demons;
public IndustryVO buildIndustryVO(){
return IndustryVO.builder()
.id(this.id)
.industryIcon(this.industryIcon)
.name(this.name)
.shortName(this.shortName)
.industryType(this.industryType)
.propagate1(this.propagate1)
.propagate2(this.propagate2)
.image(this.image)
.video(this.video).build();
}
}
package com.mmc.csf.release.entity;
import com.mmc.csf.release.task.vo.EvaluateInfoVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.io.Serializable;
/**
* 评论表(InspComtDO)实体类
*
* @author makejava
* @since 2023-05-18 14:32:05
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class InspComtDO implements Serializable {
private static final long serialVersionUID = 296479156881845974L;
private Integer id;
/**
* 头像
*/
private String userImg;
/**
* 昵称
*/
private String nickName;
/**
* 评价内容
*/
private String content;
/**
* 评价图片集合"1.jpg,2.jpg"使用逗号隔开
*/
private String contentImgs;
/**
* 评价视频
*/
private String contentVideo;
/**
* 评价星级
*/
private Integer star;
/**
* 关键字集合"深圳市,广州市,长沙市,"使用逗号隔开
*/
private String tags;
/**
* 是否带图 0:带图 1:不带图
*/
private Integer isImg;
/**
* 评价类型:0:好评 1:差评
*/
private Integer type;
/**
* 创建时间
*/
private Date createTime;
public EvaluateInfoVO buildEvaluateInfoVO() {
return EvaluateInfoVO.builder()
.id(this.id)
.content(this.content)
.contentImgs(this.contentImgs)
.contentVideo(this.contentVideo)
.star(this.star)
.type(this.type)
.build();
}
}
package com.mmc.csf.release.entity;
import com.mmc.csf.release.task.vo.TaskServiceDetailVO;
import com.mmc.csf.release.task.vo.TaskServiceVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;
/**
* 巡检管理(InspectionDO)实体类
*
* @author makejava
* @since 2023-05-17 17:36:15
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class InspectionDO implements Serializable {
private static final long serialVersionUID = 735206174138687828L;
private Integer id;
/**
* 服务名称
*/
private String name;
/**
* 服务亮点
*/
private String lightSpot;
/**
* 0飞行服务,1个人服务,2设备售卖,3设备租赁,4设备返祖
*/
private Integer serviceType;
/**
* 视频地址
*/
private String video;
/**
* 是否限时活动
*/
private Integer limitActive;
/**
* 作业类型
*/
private Integer workTypeId;
private Date updateTime;
private Date addTime;
/**
* 是否删除 0 未删除 1 删除
*/
private Integer isDel;
private String number;
private Integer sort;
/**
* 图片地址
*/
private String image;
/**
* 上架1 下架0
*/
private Integer isShelf;
/**
* 富文本内容
*/
private String content;
/**
* 服务领取数量(下单数量)
*/
private Integer orderNum;
/**
* 小卡片地址
*/
private String cardImg;
/**
* 手动设置领取服务数量
*/
private Integer fakeNum;
/**
* 服务编码
*/
private Integer isShowCode;
/**
* 是否用于生成假定单
*/
private Integer isFake;
/**
* 应用标签
*/
private Integer appTypeId;
/**
* 供应商的id
*/
private Integer supplierId;
/**
* 价格
*/
private BigDecimal price;
private String industryName;
private Integer industryId;
public TaskServiceVO buildTaskService() {
return TaskServiceVO.builder().serviceName(name).teamName("浙江科比特创新科技有限公司").price(price).id(id).build();
}
public TaskServiceDetailVO buildTaskServiceDetailVO(){
return TaskServiceDetailVO.builder().serviceName(name).id(id)
.teamPoster("https://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/d755a2ee-ffe4-4c2c-8a8b-afcf447ad2ac.jpg")
.pictureUrl(image).videoUrl(video).industryId(industryId).fakeNum(fakeNum).content(content).lightSpot(lightSpot).industryName(industryName).build();
}
}
package com.mmc.csf.release.entity;
import com.mmc.csf.release.task.vo.OrderTaskVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;
/**
* 任务订单做
* (TaskOrderDO)实体类
*
* @author makejava
* @date 2023/05/18
* @since 2023-05-18 10:58:17
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TaskOrderDO implements Serializable {
private static final long serialVersionUID = 174802281244031352L;
private Integer id;
/**
* 订单编号
*/
private String orderNo;
/**
* 订单名称
*/
private String orderName;
/**
* 服务id
*/
private Integer inspectionId;
/**
* 开始时间
*/
private Date startTime;
/**
* 结束时间
*/
private Date endTime;
/**
* 地址
*/
private String taskAddress;
/**
* 订单状态
*/
private Integer orderStatus;
/**
* 图片地址
*/
private String imageUrl;
/**
* 纬度
*/
private BigDecimal lat;
/**
* 经度
*/
private BigDecimal lon;
/**
* 下单人id
*/
private Integer userAccountId;
private Date createTime;
private Date updateTime;
public TaskOrderDO(OrderTaskVO orderTaskVO) {
this.inspectionId = orderTaskVO.getInspectionId();
this.taskAddress = orderTaskVO.getTaskAddress();
this.startTime = orderTaskVO.getStartTime();
this.endTime = orderTaskVO.getEndTime();
this.lon = orderTaskVO.getLon();
this.lat = orderTaskVO.getLat();
}
public void defaultInfo() {
if (orderStatus == null) {
orderStatus = 0;
}
}
}
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.curriculum;
import com.mmc.csf.release.flyer.vo.FlightSkillsVO; import com.mmc.csf.release.flyer.vo.FlightSkillsVO;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.curriculum;
import com.mmc.csf.release.flyer.vo.RegistrationVO; import com.mmc.csf.release.flyer.vo.RegistrationVO;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.module;
import com.mmc.csf.infomation.dto.BannerInfoDTO; import com.mmc.csf.infomation.dto.BannerInfoDTO;
import com.mmc.csf.infomation.vo.BannerInfoVO; import com.mmc.csf.infomation.vo.BannerInfoVO;
...@@ -20,19 +20,58 @@ import java.util.Date; ...@@ -20,19 +20,58 @@ import java.util.Date;
public class BannerInfoDO implements Serializable { public class BannerInfoDO implements Serializable {
private static final long serialVersionUID = 1041918314535866878L; private static final long serialVersionUID = 1041918314535866878L;
private Integer id; private Integer id;
/**
* 模块id
*/
private Integer moduleId; private Integer moduleId;
/**
* 名称
*/
private String bannerName; private String bannerName;
/**
* 封面图url
*/
private String bannerImg; private String bannerImg;
/**
* banner类型(0无,1海报,2页面)
*/
private Integer bannerType; private Integer bannerType;
private Integer goodsId; /**
* 商品id
*/
/* private Integer goodsId;*/
/**
* 海报图片url
*/
private String bannerPoster; private String bannerPoster;
/**
* 页面url
*/
private String bannerUrl; private String bannerUrl;
/**
* 描述信息
*/
private String detailInfo; private String detailInfo;
private Integer sort; private Integer sort;
/**
* 富文本内容
*/
private String textContent; private String textContent;
/**
* 有效开始时间
*/
private Date startTime; private Date startTime;
/**
* 有效结束时间
*/
private Date endTime; private Date endTime;
/**
* 0未上架,1上架
*/
private Integer using; private Integer using;
/**
* 0未删 1已删
*/
private Integer deleted; private Integer deleted;
private Date createTime; private Date createTime;
private Date updateTime; private Date updateTime;
...@@ -41,7 +80,7 @@ public class BannerInfoDO implements Serializable { ...@@ -41,7 +80,7 @@ public class BannerInfoDO implements Serializable {
Date now = new Date(); Date now = new Date();
return BannerInfoDTO.builder().id(this.id).moduleId(this.moduleId).bannerName(this.bannerName).bannerImg(this.bannerImg) return BannerInfoDTO.builder().id(this.id).moduleId(this.moduleId).bannerName(this.bannerName).bannerImg(this.bannerImg)
.bannerPoster(this.bannerPoster).sort(this.sort).using(this.endTime != null ? ( now.before(this.endTime) ? (this.using == 1 ? 1 : 0) : 0 ) : (this.using == 1 ? 1 : 0)) .bannerPoster(this.bannerPoster).sort(this.sort).using(this.endTime != null ? ( now.before(this.endTime) ? (this.using == 1 ? 1 : 0) : 0 ) : (this.using == 1 ? 1 : 0))
.deleted(this.deleted).createTime(this.createTime).bannerType(this.bannerType).goodsId(this.goodsId).bannerUrl(this.bannerUrl).textContent(this.textContent) .deleted(this.deleted).createTime(this.createTime).bannerType(this.bannerType).bannerUrl(this.bannerUrl).textContent(this.textContent)
.detailInfo(this.detailInfo).startTime(this.startTime).endTime(this.endTime).build(); .detailInfo(this.detailInfo).startTime(this.startTime).endTime(this.endTime).build();
} }
...@@ -55,7 +94,6 @@ public class BannerInfoDO implements Serializable { ...@@ -55,7 +94,6 @@ public class BannerInfoDO implements Serializable {
this.bannerUrl = bannerInfoVO.getBannerUrl(); this.bannerUrl = bannerInfoVO.getBannerUrl();
this.sort = bannerInfoVO.getSort(); this.sort = bannerInfoVO.getSort();
this.using = bannerInfoVO.getUsing(); this.using = bannerInfoVO.getUsing();
this.goodsId = bannerInfoVO.getGoodsId();
this.detailInfo = bannerInfoVO.getDetailInfo(); this.detailInfo = bannerInfoVO.getDetailInfo();
this.startTime = bannerInfoVO.getStartTime(); this.startTime = bannerInfoVO.getStartTime();
this.endTime = bannerInfoVO.getEndTime(); this.endTime = bannerInfoVO.getEndTime();
......
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity.module;
import com.mmc.csf.infomation.dto.ModuleInfoDTO; import com.mmc.csf.infomation.dto.ModuleInfoDTO;
import com.mmc.csf.release.flyer.vo.ModuleInfoVO; import com.mmc.csf.release.flyer.vo.ModuleInfoVO;
...@@ -20,9 +20,21 @@ import java.util.Date; ...@@ -20,9 +20,21 @@ import java.util.Date;
public class ModuleInfoDO implements Serializable { public class ModuleInfoDO implements Serializable {
private static final long serialVersionUID = 6637973426087317593L; private static final long serialVersionUID = 6637973426087317593L;
private Integer id; private Integer id;
/**
* 模块名称
*/
private String moduleName; private String moduleName;
/**
* 模块类型(0云享飞,1飞手,2云仓)
*/
private Integer moduleType; private Integer moduleType;
/**
* 模块代码
*/
private String moduleCode; private String moduleCode;
/**
* 备注
*/
private String remark; private String remark;
private Integer deleted; private Integer deleted;
private Date createTime; private Date createTime;
......
package com.mmc.csf.release.service;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.task.qo.TaskServiceQo;
import com.mmc.csf.release.task.vo.OrderTaskVO;
import com.mmc.csf.release.task.vo.TaskServiceDetailVO;
/**
* @Author LW
*
* @date 2023/5/17 13:56 概要:
*/
public interface TaskService {
/**
* 查询任务服务列表
*
* @param taskServiceQo 任务服务
* @return {@link ResultBody}
*/
PageResult queryTaskServiceList(TaskServiceQo taskServiceQo);
/**
* 通过id获取服务详情
*
* @param id id
* @return {@link ResultBody}<{@link TaskServiceDetailVO}>
*/
ResultBody<TaskServiceDetailVO> getInspectionById(Integer id);
/**
* 预订服务
*
* @param orderTaskVO 订单任务
* @return {@link ResultBody}
*/
ResultBody reservationService(OrderTaskVO orderTaskVO);
/**
* 列出所有行业
*
* @return {@link ResultBody}
*/
ResultBody listAllIndustry();
/**
* 列出所有应用程序类型
*
* @return {@link ResultBody}
*/
ResultBody listAllAppType();
/**
* 列出所有任务服务
*
* @return {@link ResultBody}
*/
ResultBody listAllTaskService();
}
...@@ -4,8 +4,8 @@ import com.mmc.csf.common.util.page.PageResult; ...@@ -4,8 +4,8 @@ import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.dao.FlyerTrainingDao; import com.mmc.csf.release.dao.FlyerTrainingDao;
import com.mmc.csf.release.entity.curriculum.CurriculumInfoDO; import com.mmc.csf.release.entity.curriculum.CurriculumInfoDO;
import com.mmc.csf.release.entity.FlightSkillsDO; import com.mmc.csf.release.entity.curriculum.FlightSkillsDO;
import com.mmc.csf.release.entity.PilotRegistrationDO; import com.mmc.csf.release.entity.curriculum.PilotRegistrationDO;
import com.mmc.csf.release.feign.PmsAppApi; import com.mmc.csf.release.feign.PmsAppApi;
import com.mmc.csf.release.flyer.dto.AllCategoryDTO; import com.mmc.csf.release.flyer.dto.AllCategoryDTO;
import com.mmc.csf.release.flyer.dto.CategoriesInfoListDTO; import com.mmc.csf.release.flyer.dto.CategoriesInfoListDTO;
......
...@@ -9,8 +9,8 @@ import com.mmc.csf.infomation.qo.BannerInfoQO; ...@@ -9,8 +9,8 @@ import com.mmc.csf.infomation.qo.BannerInfoQO;
import com.mmc.csf.infomation.qo.ModuleInfoQO; import com.mmc.csf.infomation.qo.ModuleInfoQO;
import com.mmc.csf.infomation.vo.BannerInfoVO; import com.mmc.csf.infomation.vo.BannerInfoVO;
import com.mmc.csf.release.dao.ModuleInfoDao; import com.mmc.csf.release.dao.ModuleInfoDao;
import com.mmc.csf.release.entity.BannerInfoDO; import com.mmc.csf.release.entity.module.BannerInfoDO;
import com.mmc.csf.release.entity.ModuleInfoDO; import com.mmc.csf.release.entity.module.ModuleInfoDO;
import com.mmc.csf.release.flyer.vo.ModuleInfoVO; import com.mmc.csf.release.flyer.vo.ModuleInfoVO;
import com.mmc.csf.release.service.ModuleInfoService; import com.mmc.csf.release.service.ModuleInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
package com.mmc.csf.release.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.mmc.csf.common.util.math.CodeUtil;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.redis.RedisConstant;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.common.util.web.ResultEnum;
import com.mmc.csf.release.dao.TaskDao;
import com.mmc.csf.release.entity.IndustryDO;
import com.mmc.csf.release.entity.InspComtDO;
import com.mmc.csf.release.entity.InspectionDO;
import com.mmc.csf.release.entity.TaskOrderDO;
import com.mmc.csf.release.service.TaskService;
import com.mmc.csf.release.task.qo.TaskServiceQo;
import com.mmc.csf.release.task.vo.IndustryVO;
import com.mmc.csf.release.task.vo.OrderTaskVO;
import com.mmc.csf.release.task.vo.TaskServiceDetailVO;
import com.mmc.csf.release.task.vo.TaskServiceVO;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
* @Author LW
* @date 2023/5/17 13:56
* 概要:作业服务实现层
*/
@Service
public class TaskServiceImpl implements TaskService {
@Resource
private TaskDao taskDao;
@Autowired
private RedisTemplate redisTemplate;
@Override
public PageResult queryTaskServiceList(TaskServiceQo taskServiceQo) {
Integer SZ = 440300;
if (taskServiceQo.getRegionId() != null && taskServiceQo.getRegionId().equals(SZ)) {
return PageResult.buildPage(taskServiceQo.getPageNo(), taskServiceQo.getPageSize(), 0);
}
int count = taskDao.countTaskServiceList(taskServiceQo);
if (count == 0) {
return PageResult.buildPage(taskServiceQo.getPageNo(), taskServiceQo.getPageSize(), count);
}
Integer pageNo = taskServiceQo.getPageNo();
taskServiceQo.buildCurrentPage();
List<InspectionDO> inspectionList = taskDao.listPageTaskService(taskServiceQo);
List<TaskServiceVO> list = inspectionList.stream().map(InspectionDO::buildTaskService).collect(Collectors.toList());
return PageResult.buildPage(pageNo, taskServiceQo.getPageSize(), count, list);
}
@Override
public ResultBody getInspectionById(Integer id) {
InspectionDO inspectionDO = taskDao.selectInspectionById(id);
if (inspectionDO == null) {
return ResultBody.error("作业服务不存在");
}
TaskServiceDetailVO taskServiceDetailVO = inspectionDO.buildTaskServiceDetailVO();
String key = RedisConstant.createInspection(id);
Boolean isExist = redisTemplate.hasKey(key);
if (!isExist) {
// 获取评论
int size = (int) (100 * Math.random() + 98);
List<InspComtDO> evaluateInfoList = taskDao.getEvaluateInfoList(size);
String toJSONString = JSONObject.toJSONString(evaluateInfoList);
redisTemplate.opsForValue().set(key, toJSONString, 2L, TimeUnit.DAYS);
taskServiceDetailVO.setEvaluateInfo(evaluateInfoList.stream().map(InspComtDO::buildEvaluateInfoVO).collect(Collectors.toList()));
taskServiceDetailVO.setItem(evaluateInfoList.size());
} else {
String listStr = (String) redisTemplate.opsForValue().get(key);
List<InspComtDO> array = JSONArray.parseArray(listStr, InspComtDO.class);
taskServiceDetailVO.setEvaluateInfo(array.stream().map(InspComtDO::buildEvaluateInfoVO).collect(Collectors.toList()));
taskServiceDetailVO.setItem(array.size());
}
return ResultBody.success(taskServiceDetailVO);
}
@Override
public ResultBody reservationService(OrderTaskVO orderTaskVO) {
Integer count = taskDao.getIndustryAndInspect(orderTaskVO.getIndustryId(), orderTaskVO.getInspectionId());
if (count == 0) {
return ResultBody.error(ResultEnum.INSPECTION_NOT_EXIST);
}
InspectionDO inspectionDO = taskDao.getInspectionById(orderTaskVO.getInspectionId());
if (inspectionDO == null) {
return ResultBody.error(ResultEnum.INSPECTION_NOT_EXIST);
}
TaskOrderDO taskOrderDo = new TaskOrderDO(orderTaskVO);
if (CollectionUtils.isNotEmpty(orderTaskVO.getFilePath())) {
taskOrderDo.setImageUrl(String.join(",", orderTaskVO.getFilePath()));
}
taskOrderDo.setUserAccountId(1);
taskOrderDo.defaultInfo();
taskOrderDo.setOrderNo(CodeUtil.createOrderTaskNO());
taskOrderDo.setOrderName(inspectionDO.getName());
taskDao.insertOrderTask(taskOrderDo);
return ResultBody.success();
}
@Override
public ResultBody listAllIndustry() {
//查找所有服务
List<IndustryVO> collect = taskDao.listAllIndustry()
.stream().map(IndustryDO::buildIndustryVO)
.collect(Collectors.toList());
return ResultBody.success(collect);
}
@Override
public ResultBody listAllAppType() {
return ResultBody.success(taskDao.listAllAppType());
}
@Override
public ResultBody listAllTaskService() {
List<InspectionDO> inspectionList = taskDao.listAllTaskService();
return ResultBody.success(inspectionList.stream().map(InspectionDO::buildTaskService).collect(Collectors.toList()));
}
}
...@@ -4,18 +4,18 @@ ...@@ -4,18 +4,18 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.csf.release.dao.FlyerTrainingDao"> <mapper namespace="com.mmc.csf.release.dao.FlyerTrainingDao">
<resultMap id="flightSkillsResultMap" type="com.mmc.csf.release.entity.FlightSkillsDO"> <resultMap id="flightSkillsResultMap" type="com.mmc.csf.release.entity.curriculum.FlightSkillsDO">
<id column="id" property="id"/> <id column="id" property="id"/>
<result column="pid" property="pid"/> <result column="pid" property="pid"/>
<result column="skills_name" property="skillsName"/> <result column="skills_name" property="skillsName"/>
<collection property="childrenSkills" ofType="com.mmc.csf.release.entity.FlightSkillsDO" javaType="java.util.List"> <collection property="childrenSkills" ofType="com.mmc.csf.release.entity.curriculum.FlightSkillsDO" javaType="java.util.List">
<id column="childId" property="id"/> <id column="childId" property="id"/>
<result column="childIdPid" property="pid"/> <result column="childIdPid" property="pid"/>
<result column="childIdSkillsName" property="skillsName"/> <result column="childIdSkillsName" property="skillsName"/>
</collection> </collection>
</resultMap> </resultMap>
<insert id="insertPilotRegistrationInfo" parameterType="com.mmc.csf.release.entity.PilotRegistrationDO" <insert id="insertPilotRegistrationInfo" parameterType="com.mmc.csf.release.entity.curriculum.PilotRegistrationDO"
useGeneratedKeys="true" keyProperty="id"> useGeneratedKeys="true" keyProperty="id">
INSERT INTO pilot_registration(apply_user_id, `name`, city, telephone, driving_license, province, INSERT INTO pilot_registration(apply_user_id, `name`, city, telephone, driving_license, province,
uav_license_level_1, uav_license_level_2, uav_license_level_3, industry_app_auth, uav_license_level_1, uav_license_level_2, uav_license_level_3, industry_app_auth,
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
FROM drone_pilot_license FROM drone_pilot_license
where is_deleted = 0 where is_deleted = 0
</select> </select>
<select id="listIndustryFlightSkills" resultType="com.mmc.csf.release.entity.FlightSkillsDO"> <select id="listIndustryFlightSkills" resultType="com.mmc.csf.release.entity.curriculum.FlightSkillsDO">
select id, select id,
pid, pid,
skills_name skills_name
...@@ -189,4 +189,4 @@ ...@@ -189,4 +189,4 @@
flight_skills fs0 flight_skills fs0
INNER JOIN flight_skills fs1 ON fs0.id = fs1.pid INNER JOIN flight_skills fs1 ON fs0.id = fs1.pid
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.csf.release.dao.ModuleInfoDao"> <mapper namespace="com.mmc.csf.release.dao.ModuleInfoDao">
<resultMap id="moduleInfoResultMap" type="com.mmc.csf.release.entity.ModuleInfoDO"> <resultMap id="moduleInfoResultMap" type="com.mmc.csf.release.entity.module.ModuleInfoDO">
<id column="id" property="id"/> <id column="id" property="id"/>
<result column="module_name" property="moduleName"/> <result column="module_name" property="moduleName"/>
<result column="module_type" property="moduleType"/> <result column="module_type" property="moduleType"/>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<result column="update_time" property="updateTime"/> <result column="update_time" property="updateTime"/>
</resultMap> </resultMap>
<resultMap id="bannerInfoResultMap" type="com.mmc.csf.release.entity.BannerInfoDO"> <resultMap id="bannerInfoResultMap" type="com.mmc.csf.release.entity.module.BannerInfoDO">
<id column="id" property="id"/> <id column="id" property="id"/>
<result column="module_id" property="moduleId"/> <result column="module_id" property="moduleId"/>
<result column="banner_name" property="bannerName"/> <result column="banner_name" property="bannerName"/>
...@@ -35,12 +35,12 @@ ...@@ -35,12 +35,12 @@
</resultMap> </resultMap>
<insert id="insertModuleInfo" useGeneratedKeys="true" <insert id="insertModuleInfo" useGeneratedKeys="true"
keyProperty="id" parameterType="com.mmc.csf.release.entity.ModuleInfoDO"> keyProperty="id" parameterType="com.mmc.csf.release.entity.module.ModuleInfoDO">
insert into module_info(module_name,module_code,module_type,remark,create_time) insert into module_info(module_name,module_code,module_type,remark,create_time)
values(#{moduleName},#{moduleCode},#{moduleType},#{remark},NOW()) values(#{moduleName},#{moduleCode},#{moduleType},#{remark},NOW())
</insert> </insert>
<update id="updateModuleInfo" parameterType="com.mmc.csf.release.entity.ModuleInfoDO"> <update id="updateModuleInfo" parameterType="com.mmc.csf.release.entity.module.ModuleInfoDO">
update module_info update module_info
<set> <set>
<if test=" moduleName != '' and moduleName != null "> <if test=" moduleName != '' and moduleName != null ">
...@@ -146,12 +146,12 @@ ...@@ -146,12 +146,12 @@
</select> </select>
<insert id="insertBannerInfo" useGeneratedKeys="true" <insert id="insertBannerInfo" useGeneratedKeys="true"
keyProperty="id" parameterType="com.mmc.csf.release.entity.BannerInfoDO"> keyProperty="id" parameterType="com.mmc.csf.release.entity.module.BannerInfoDO">
insert into banner_info(module_id,banner_name,banner_img,banner_type,goods_id,detail_info,banner_poster,banner_url,start_time,end_time,text_content,sort,is_using,create_time) insert into banner_info(module_id,banner_name,banner_img,banner_type,goods_id,detail_info,banner_poster,banner_url,start_time,end_time,text_content,sort,is_using,create_time)
values(#{moduleId},#{bannerName},#{bannerImg},#{bannerType},#{goodsId},#{detailInfo},#{bannerPoster},#{bannerUrl},#{startTime},#{endTime},#{textContent},#{sort},#{using},NOW()) values(#{moduleId},#{bannerName},#{bannerImg},#{bannerType},#{goodsId},#{detailInfo},#{bannerPoster},#{bannerUrl},#{startTime},#{endTime},#{textContent},#{sort},#{using},NOW())
</insert> </insert>
<update id="updateBannerInfo" parameterType="com.mmc.csf.release.entity.BannerInfoDO"> <update id="updateBannerInfo" parameterType="com.mmc.csf.release.entity.module.BannerInfoDO">
update banner_info update banner_info
<set> <set>
<if test=" moduleId != null "> <if test=" moduleId != null ">
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.csf.release.dao.TaskDao">
<insert id="insertOrderTask" useGeneratedKeys="true"
keyProperty="id" parameterType="com.mmc.csf.release.entity.TaskOrderDO">
insert into task_order
(user_account_id, inspection_id, order_no, order_name, task_address,
start_time, end_time, order_status, lon, lat,image_url)
values (#{userAccountId}, #{inspectionId}, #{orderNo}, #{orderName}, #{taskAddress},
#{startTime}, #{endTime}, #{orderStatus}, #{lon}, #{lat},#{imageUrl})
</insert>
<select id="countTaskServiceList" resultType="java.lang.Integer">
SELECT
count(*)
FROM
industry ind
INNER JOIN industry_inspection ii ON ind.id = ii.industry_id
INNER JOIN inspection ins ON ii.inspection_id = ins.id
<where>
and ins.is_del = 0
<if test="inspectionName != null">
and ins.name like concat('%',#{inspectionName},'%')
</if>
<if test="industryId != null">
and ii.industry_id = #{industryId}
</if>
<if test="appTypeId != null">
and ins.app_type_id = #{appTypeId}
</if>
</where>
</select>
<select id="listPageTaskService" resultType="com.mmc.csf.release.entity.InspectionDO">
SELECT
ins.`name`,
ins.id,
ins.price
FROM
industry ind
INNER JOIN industry_inspection ii ON ind.id = ii.industry_id
INNER JOIN inspection ins ON ii.inspection_id = ins.id
<where>
and ins.is_del = 0
<if test="inspectionName != null">
and ins.name like concat('%',#{inspectionName},'%')
</if>
<if test="industryId != null">
and ii.industry_id = #{industryId}
</if>
<if test="appTypeId != null">
and ins.app_type_id = #{appTypeId}
</if>
</where>
ORDER BY ins.add_time desc
LIMIT #{pageNo},#{pageSize}
</select>
<select id="selectInspectionById" resultType="com.mmc.csf.release.entity.InspectionDO">
SELECT
ins.`name`,
ins.id,
ins.video,
ins.image,
ins.content,
ins.fake_num,
ins.light_spot,
ind.`name` industryName,
ind.id industryId
FROM
inspection ins
INNER JOIN industry_inspection ii ON ins.id = ii.inspection_id
INNER JOIN industry ind ON ind.id = ii.industry_id
WHERE
ins.id = #{id}
</select>
<select id="getIndustryAndInspect" resultType="java.lang.Integer">
select count(*)
from industry_inspection
where industry_id = #{industryId}
and inspection_id = #{inspectionId}
</select>
<select id="getInspectionById" resultType="com.mmc.csf.release.entity.InspectionDO">
select i.id,
i.name,
i.service_type,
i.limit_active,
i.work_type_id,
i.light_spot,
i.number,
i.video,
i.image,
i.sort,
i.is_shelf,
i.content,
i.order_num,
i.is_del,
i.fake_num,
i.card_img,
i.is_show_code
from inspection i
where i.is_del = 0
and i.id = #{id}
order by i.sort
ASC
</select>
<select id="getEvaluateInfoList" resultType="com.mmc.csf.release.entity.InspComtDO">
SELECT id,
content,
content_imgs,
content_video,
star,
`type`,
create_time
FROM insp_comt
ORDER BY RAND() LIMIT #{size}
</select>
<select id="listAllIndustry" resultType="com.mmc.csf.release.entity.IndustryDO">
select
i.id,i.name,i.short_name,i.industry_type,i.number,i.propagate1,i.propagate2,i.image,i.video,i.sort,i.is_shelf,i.industry_icon
from industry i
<where>
i.is_del = 0 and is_shelf = 1
</where>
order by i.sort ASC
</select>
<select id="listAllAppType" resultType="com.mmc.csf.release.entity.AppTypeDO">
select id,
app_name,
create_time
from app_type
</select>
<select id="listAllTaskService" resultType="com.mmc.csf.release.entity.InspectionDO">
select i.id,
i.name,
i.service_type,
i.limit_active,
i.work_type_id,
i.light_spot,
i.number,
i.video,
i.image,
i.sort,
i.is_shelf,
i.content,
i.order_num,
i.is_del,
i.fake_num,
i.card_img,
i.is_show_code
from inspection i
where i.is_del = 0 and i.is_shelf = 1
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论