提交 99ba1448 作者: xiaowang

作业服务及飞手培训的课程列表

上级 5bd4eafb
package com.mmc.csf.release.flyer.qo;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author LW
* @date 2023/5/17 14:16
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CurriculumQo implements Serializable {
@ApiModelProperty(value = "地域id")
private Integer regionId;
@ApiModelProperty(value = "执照id")
private Integer licenseId;
@ApiModelProperty(value = "技能id")
private Integer flightSkillsId;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = { Page.class })
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = { Page.class })
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.csf.release.flyer.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2023/5/17 14:28
* 概要:课程信息
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CurriculumInfoVO implements Serializable {
@ApiModelProperty(value = "课程id")
private Integer id;
@ApiModelProperty(value = "价格")
private BigDecimal price;
@ApiModelProperty(value = "供应商名称")
private String supplierName;
@ApiModelProperty(value = "课程名称")
private String curriculumName;
@ApiModelProperty(value = "课程是否免费 0:免费 1:付费")
private Integer free;
@ApiModelProperty(value = "课程介绍")
private String curriculumDesc;
@ApiModelProperty(value = "课程视频")
private String videoUrl;
}
package com.mmc.csf.release.vo; package com.mmc.csf.release.flyer.vo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
......
package com.mmc.csf.release.vo; package com.mmc.csf.release.flyer.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
......
package com.mmc.csf.release.vo; package com.mmc.csf.release.flyer.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
......
package com.mmc.csf.forum.vo; package com.mmc.csf.release.forum.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
......
package com.mmc.csf.forum.vo; package com.mmc.csf.release.forum.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
......
package com.mmc.csf.forum.vo; package com.mmc.csf.release.forum.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
......
package com.mmc.csf.forum.vo; package com.mmc.csf.release.forum.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
......
package com.mmc.csf.release.task.qo;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author LW
* @date 2023/5/17 14:16
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TaskServiceQo implements Serializable {
@ApiModelProperty(value = "地域id")
private Integer regionId;
@ApiModelProperty(value = "行业id")
private Integer industryId;
@ApiModelProperty(value = "应用id")
private Integer appTypeId;
@ApiModelProperty(value = "服务名称")
private String inspectionName;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = { Page.class })
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = { Page.class })
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.csf.release.task.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author LW
* @date 2022/4/22 15:33
* 概要:
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "com.mmc.csf.model.dto.EvaluateInfoVO",description = "评论列表DTO")
public class EvaluateInfoVO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "内容")
private String content;
@ApiModelProperty(value = "评论图片")
private String contentImgs;
@ApiModelProperty(value = "评论视频")
private String contentVideo;
@ApiModelProperty(value = "星级 0-5")
private Integer star;
@ApiModelProperty(value = "是否带图 0:带图 1:不带图")
private Integer img;
@ApiModelProperty(value = "评价类型:0:好评 1:差评")
private Integer type;
}
package com.mmc.csf.release.task.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mmc.csf.release.model.group.Create;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @author Lw
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "com.mmc.csf.model.vo.OrderTaskVO", description = "订单增改VO")
public class OrderTaskVO implements Serializable {
private static final long serialVersionUID = -2965614984473801301L;
@ApiModelProperty(value = "服务id")
@NotNull(message = "服务id不能为空", groups = { Create.class})
private Integer inspectionId;
@ApiModelProperty(value = "industryId")
@NotNull(message = "industryId不能为空", groups = { Create.class })
private Integer industryId;
@ApiModelProperty(value = "服务开始时间", example = "2021-04-09 12:12:12")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date startTime;
@ApiModelProperty(value = "服务结束时间", example = "2021-04-09 12:12:12")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endTime;
@ApiModelProperty(value = "任务描述", example = "0")
@Size(max = 400, message = "备注内容不能超过400个字符", groups = { Create.class})
private String taskDesc;
@ApiModelProperty(value = "图片地址", example = "0")
private List<String> filePath;
@ApiModelProperty(value = "详细地址")
private String taskAddress;
@ApiModelProperty(value = "经度")
private BigDecimal lon;
@ApiModelProperty(value = "纬度")
private BigDecimal lat;
}
package com.mmc.csf.release.task.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Author LW
* @date 2023/5/17 22:07
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class TaskServiceDetailVO implements Serializable {
@ApiModelProperty(value = "服务id")
private Integer id;
@ApiModelProperty(value = "服务名称")
private String serviceName;
@ApiModelProperty(value = "服务图片")
private String pictureUrl;
@ApiModelProperty(value = "服务视频")
private String videoUrl;
@ApiModelProperty(value = "服务团队详情海报图")
private String teamPoster;
@ApiModelProperty(value = "评价信息")
private List<EvaluateInfoVO> evaluateInfo;
@ApiModelProperty(value = "评价总数量")
private Integer item;
}
package com.mmc.csf.release.task.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2023/5/17 14:28
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class TaskServiceVO implements Serializable {
@ApiModelProperty(value = "服务id")
private Integer id;
@ApiModelProperty(value = "价格")
private BigDecimal price;
@ApiModelProperty(value = "团队名称")
private String teamName;
@ApiModelProperty(value = "服务名称")
private String serviceName;
}
...@@ -41,6 +41,11 @@ ...@@ -41,6 +41,11 @@
<version>2.3.0</version> <version>2.3.0</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- <dependency> --> <!-- <dependency> -->
<!-- <groupId>com.aliyun</groupId> --> <!-- <groupId>com.aliyun</groupId> -->
<!-- <artifactId>aliyun-java-sdk-core</artifactId> --> <!-- <artifactId>aliyun-java-sdk-core</artifactId> -->
......
...@@ -2,7 +2,7 @@ package com.mmc.csf.common.util.page; ...@@ -2,7 +2,7 @@ package com.mmc.csf.common.util.page;
import java.io.Serializable; import java.io.Serializable;
import com.mmc.csf.release.qo.BaseInfoQO; import com.mmc.csf.release.flyer.qo.BaseInfoQO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
......
package com.mmc.csf.common.util.redis;
public class RedisConstant {
/**
* 验证码-key
*/
public final static String VERIFYCODEKEY = "verifyCode";
/**
* 电话号码-key
*/
public final static String PHONENUMKEY = "phoneNum";
/**
* 当天用户量统计-key
*/
public final static String ACTIVE_USER_TOTAL_COUNT_TODAY = "active_user_total_count_today";
/**
* 后台-当天用户量统计-key
*/
public final static String ADMIN_ACTIVE_COUNT_TODAY = "admin_active_count_today";
/**
* 云享飞-当天用户量统计-key
*/
public final static String YXF_ACTIVE_COUNT_TODAY = "yxf_active_count_today";
/**
* 云飞手-当天用户量统计-key
*/
public final static String YFS_ACTIVE_COUNT_TODAY = "yfs_active_count_today";
/**
* 云仓-当天用户量统计-key
*/
public final static String YC_ACTIVE_COUNT_TODAY = "yc_active_count_today";
/**
* 登录信息token前缀
*/
public final static String LOGING_TOKEN_BEFORE = "CLOUD-SHARED-FLIGHT-USERID@";
/**
* token黑名单-key
*
* @param userId
* @return
*/
/**
* 实名认证 redis 的键
*/
public final static String REALNAMEREDISKEY = "realName";
/**
* token失效
*/
public final static String DISABLE_TOKEN = "DISABLE-TOKEN";
/**
* 分片上传的key
*
* @param userId
* @return
*/
public final static String PART_UPLOAD = "UPLOAD_PART_";
/**
* 飞手端-假数据-分页信息-可以
*/
public final static String FLYER_DUMMY_DATA_PAGE = "FLYER_DUMMY_DATA_PAGE";
/**
* token失效列表的key
*/
public final static String DISABLE_TOKEN_LIST = "DISABLE_TOKEN_LIST";
/**
* 无人机城的订单状态
*/
public final static String UAV_MALL_ORDER_STATUS = "UAV_MALL_ORDER_STATUS";
/**
* 无人机城的快递公司编码
*/
public final static String UAV_MALL_EXP_COM = "UAV_MALL_EXP_COM";
/**
* 无人机城的快递状态码
*/
public final static String UAV_MALL_EXP_STATUS = "UAV_MALL_EXP_STATUS";
/**
* 微信access_token
*
* @param userId
* @return
*/
public final static String WX_ACCESS_TOKEN_BEFORE = "WX_ACCESS_TOKEN_";
public final static String REPO_SEND_PAY_MESSAGE = "REPO_ORDER_REMIND_PAY_";
public final static String FLYER_PUBLIC_DEFAULT_NAME = "FLYER_PUBLIC_DEFAULT_NAME";
public final static String EVALUATION = "EVALUATION";
public final static String FLYER_DUMMY_DATA="FLYER_DUMMY_DATA_KEY";
public final static String UAV_DUMMY_DATA="UAV_DUMMY_DATA_KEY";
/**
* tagInfoAllot表的缓存key
*/
public final static String TAGINFOALLOT_QUESTALL = "csf-service-system:tagInfoAllot:questAll";
public static String getDisableTokenKey(String accountId, String roleId, String tokenType) {
StringBuffer key = new StringBuffer();
key.append(RedisConstant.DISABLE_TOKEN);
key.append("_ROLE_");
key.append(roleId);
key.append("_");
key.append(accountId);
return key.toString();
}
/**
* 生成唯一的分片上传key
*
* @param uploadId
* @return
*/
public static String createPartUploadKey(String uploadId) {
StringBuffer key = new StringBuffer();
key.append(uploadId);
return key.toString();
}
/**
* 生成微信api的access_token的key
*/
public static String createWxToken(String wxAppid) {
StringBuffer key = new StringBuffer();
key.append(RedisConstant.WX_ACCESS_TOKEN_BEFORE);
key.append(wxAppid);
return key.toString();
}
/**
* 表单重复提交key
*/
public static String createRepeatKey(String token, String url, String params) {
StringBuffer key = new StringBuffer();
key.append(token);
key.append(url);
key.append(params);
return key.toString();
}
public static String createRepeatKey(String token, String url) {
return RedisConstant.createRepeatKey(token, url, "");
}
/**
* 登录缓存信息
*/
public static String createLoginCacheKey(String tokenType, Integer id) {
StringBuffer key = new StringBuffer();
key.append(tokenType);
key.append("_");
key.append(id);
return key.toString();
}
/**
* 每位账号的的token的key的前缀
*/
public static String tokenPreFix(String tokenType, String roleId) {
StringBuffer key = new StringBuffer();
key.append(tokenType);
key.append("_ROLE_");
key.append(roleId);
key.append("_");
return key.toString();
}
/**
* 每位账号的token保存的key
*/
public static String createLoginTokenKey(String tokenType, String roleId, String accountId) {
StringBuffer key = new StringBuffer();
key.append(RedisConstant.tokenPreFix(tokenType, roleId));
key.append(accountId);
return key.toString();
}
public static String createRepoOrderOver(Integer orderInfoId) {
StringBuffer key = new StringBuffer();
key.append(RedisConstant.REPO_SEND_PAY_MESSAGE);
key.append(orderInfoId);
return key.toString();
}
public static String getLockKey(String userId, String tokenType, String path) {
StringBuffer sb = new StringBuffer();
sb.append(userId);
sb.append("_");
sb.append(tokenType);
sb.append("_");
sb.append(path);
return sb.toString();
}
public static String createInspection(Integer id) {
StringBuffer key = new StringBuffer();
key.append(RedisConstant.EVALUATION);
key.append(id);
return key.toString();
}
public static String accessTokenKey(String clientId, Integer roleId, String grantType) {
StringBuilder key = new StringBuilder();
key.append("OAUTH_");
key.append(clientId);
key.append("_");
key.append(roleId);
key.append("_");
key.append(grantType);
return key.toString();
}
public static String getCompanyChildKey(Integer companyId){
StringBuilder key = new StringBuilder();
key.append("company_cache:");
key.append(companyId);
return key.toString();
}
public static String getXEAccessTokenKey(){
StringBuilder key = new StringBuilder();
key.append("XE_ACCESS_TOKEN");
return key.toString();
}
}
package com.mmc.csf.release.controller; package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.forum.vo.CommentAndReplyVO; import com.mmc.csf.release.forum.vo.CommentAndReplyVO;
import com.mmc.csf.forum.vo.CommentVO; import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.forum.vo.DynamicVO; import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.service.DynamicService; import com.mmc.csf.release.service.DynamicService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
......
package com.mmc.csf.release.controller; package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.flyer.qo.CurriculumQo;
import com.mmc.csf.release.flyer.vo.CurriculumInfoVO;
import com.mmc.csf.release.service.FlyerTrainingService; import com.mmc.csf.release.service.FlyerTrainingService;
import com.mmc.csf.release.vo.DronePilotLicenseVO; import com.mmc.csf.release.flyer.vo.DronePilotLicenseVO;
import com.mmc.csf.release.vo.FlightSkillsVO; import com.mmc.csf.release.flyer.vo.FlightSkillsVO;
import com.mmc.csf.release.vo.RegistrationVO; import com.mmc.csf.release.flyer.vo.RegistrationVO;
import com.mmc.csf.release.task.qo.TaskServiceQo;
import com.mmc.csf.release.task.vo.TaskServiceVO;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -45,4 +49,11 @@ public class FlyerTrainingController { ...@@ -45,4 +49,11 @@ public class FlyerTrainingController {
public ResultBody getIndustryFlightSkills() { public ResultBody getIndustryFlightSkills() {
return flyerTrainingService.getIndustryFlightSkills(); return flyerTrainingService.getIndustryFlightSkills();
} }
@ApiOperation(value = "课程视频列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CurriculumInfoVO.class)})
@PostMapping("/queryCurriculumInfoList")
public ResultBody queryCurriculumInfoList(@RequestBody CurriculumQo curriculumQo) {
return ResultBody.success(flyerTrainingService.queryCurriculumInfoList(curriculumQo));
}
} }
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.forum.vo.DynamicVO;
import com.mmc.csf.release.service.TaskService;
import com.mmc.csf.release.task.qo.TaskServiceQo;
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;
import javax.servlet.http.HttpServletRequest;
/**
* @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);
}
}
package com.mmc.csf.release.dao; package com.mmc.csf.release.dao;
import com.mmc.csf.forum.vo.CommentAndReplyVO; import com.mmc.csf.release.forum.vo.CommentAndReplyVO;
import com.mmc.csf.forum.vo.CommentVO; import com.mmc.csf.release.forum.vo.CommentVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
......
package com.mmc.csf.release.dao; package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.CurriculumInfoDO;
import com.mmc.csf.release.entity.FlightSkillsDO; import com.mmc.csf.release.entity.FlightSkillsDO;
import com.mmc.csf.release.entity.PilotRegistrationDO; import com.mmc.csf.release.entity.PilotRegistrationDO;
import com.mmc.csf.release.vo.DronePilotLicenseVO; import com.mmc.csf.release.flyer.qo.CurriculumQo;
import com.mmc.csf.release.flyer.vo.DronePilotLicenseVO;
import com.mmc.csf.release.task.qo.TaskServiceQo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
...@@ -30,4 +33,14 @@ public interface FlyerTrainingDao { ...@@ -30,4 +33,14 @@ public interface FlyerTrainingDao {
* @return {@link List}<{@link FlightSkillsDO}> * @return {@link List}<{@link FlightSkillsDO}>
*/ */
List<FlightSkillsDO> listIndustryFlightSkills(); List<FlightSkillsDO> listIndustryFlightSkills();
int countCurriculumInfoList(CurriculumQo curriculumQo);
/**
* 课程信息列表页面
*
* @param curriculumQo 课程问:
* @return {@link List}<{@link CurriculumInfoDO}>
*/
List<CurriculumInfoDO> listPageCurriculumInfo(CurriculumQo curriculumQo);
} }
package com.mmc.csf.release.dao;
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.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);
}
package com.mmc.csf.release.entity;
import com.mmc.csf.release.flyer.vo.CurriculumInfoVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;
/**
* 课程基本信息(CurriculumInfoDO)实体类
*
* @author makejava
* @since 2023-05-18 17:37:06
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CurriculumInfoDO implements Serializable {
private static final long serialVersionUID = 140348746605431718L;
private Integer id;
/**
* 课程名称
*/
private String curriculumName;
/**
* 课程供应商(id)
*/
private Integer supplierId;
/**
* 课程价格
*/
private BigDecimal curriculumPrice;
/**
* 课程简介
*/
private String curriculumDesc;
/**
* 课程是否免费 0:是 1:否
*/
private Integer free;
/**
* 执照考试id
*/
private Integer dronePilotLicenseId;
/**
* 飞行服务技能id
*/
private Integer flightSkills;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改时间
*/
private Date updateTime;
/**
* 是否删除 0:否 1:是
*/
private Integer deleted;
private String videoUrl;
public CurriculumInfoVO buildCurriculumInfoVO(){
return CurriculumInfoVO.builder().id(id).curriculumDesc(curriculumDesc).price(curriculumPrice)
.free(free).supplierName("浙江科比特创新科技有限公司").curriculumName(curriculumName)
.videoUrl(videoUrl).build();
}
}
package com.mmc.csf.release.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.io.Serializable;
/**
* 课程视频url地址表(CurriculumVideoDO)实体类
*
* @author makejava
* @since 2023-05-18 17:37:22
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CurriculumVideoDO implements Serializable {
private static final long serialVersionUID = -50625092373872063L;
private Integer id;
private Integer curriculumInfoId;
/**
* 课程url地址
*/
private String curriculumUrl;
private Date updateTime;
private Integer deleted;
}
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity;
import com.mmc.csf.release.vo.FlightSkillsVO; import com.mmc.csf.release.flyer.vo.FlightSkillsVO;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
......
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity;
import com.mmc.csf.forum.vo.DynamicVO; import com.mmc.csf.release.forum.vo.DynamicVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
......
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;
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).build();
}
}
package com.mmc.csf.release.entity; package com.mmc.csf.release.entity;
import com.mmc.csf.release.vo.RegistrationVO; import com.mmc.csf.release.flyer.vo.RegistrationVO;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
......
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;
}
}
}
...@@ -2,9 +2,9 @@ package com.mmc.csf.release.service; ...@@ -2,9 +2,9 @@ package com.mmc.csf.release.service;
import com.mmc.csf.common.util.page.PageResult; 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.forum.vo.CommentAndReplyVO; import com.mmc.csf.release.forum.vo.CommentAndReplyVO;
import com.mmc.csf.forum.vo.CommentVO; import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.forum.vo.DynamicVO; import com.mmc.csf.release.forum.vo.DynamicVO;
import java.util.List; import java.util.List;
......
package com.mmc.csf.release.service; 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.common.util.web.ResultBody;
import com.mmc.csf.release.vo.RegistrationVO; import com.mmc.csf.release.flyer.qo.CurriculumQo;
import com.mmc.csf.release.flyer.vo.RegistrationVO;
/** /**
* @Author LW * @Author LW
...@@ -31,4 +33,12 @@ public interface FlyerTrainingService { ...@@ -31,4 +33,12 @@ public interface FlyerTrainingService {
* @return {@link ResultBody} * @return {@link ResultBody}
*/ */
ResultBody getIndustryFlightSkills(); ResultBody getIndustryFlightSkills();
/**
* 查询任务服务列表
*
* @param taskServiceQo 任务服务问:
* @return {@link Object}
*/
PageResult queryCurriculumInfoList(CurriculumQo taskServiceQo);
} }
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);
}
...@@ -2,10 +2,10 @@ package com.mmc.csf.release.service.impl; ...@@ -2,10 +2,10 @@ package com.mmc.csf.release.service.impl;
import com.mmc.csf.common.util.page.PageResult; 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.forum.vo.CommentAndReplyVO; import com.mmc.csf.release.forum.vo.CommentAndReplyVO;
import com.mmc.csf.forum.vo.CommentVO; import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.forum.vo.DynamicVO; import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.forum.vo.MediaVO; import com.mmc.csf.release.forum.vo.MediaVO;
import com.mmc.csf.release.dao.CommentDAO; import com.mmc.csf.release.dao.CommentDAO;
import com.mmc.csf.release.dao.DynamicDAO; import com.mmc.csf.release.dao.DynamicDAO;
import com.mmc.csf.release.dao.LikeDAO; import com.mmc.csf.release.dao.LikeDAO;
......
package com.mmc.csf.release.service.impl; package com.mmc.csf.release.service.impl;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.release.dao.FlyerTrainingDao; import com.mmc.csf.release.dao.FlyerTrainingDao;
import com.mmc.csf.common.util.web.ResultBody; import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.entity.CurriculumInfoDO;
import com.mmc.csf.release.entity.FlightSkillsDO; import com.mmc.csf.release.entity.FlightSkillsDO;
import com.mmc.csf.release.entity.InspectionDO;
import com.mmc.csf.release.entity.PilotRegistrationDO; import com.mmc.csf.release.entity.PilotRegistrationDO;
import com.mmc.csf.release.flyer.qo.CurriculumQo;
import com.mmc.csf.release.flyer.vo.CurriculumInfoVO;
import com.mmc.csf.release.service.FlyerTrainingService; import com.mmc.csf.release.service.FlyerTrainingService;
import com.mmc.csf.release.vo.DronePilotLicenseVO; import com.mmc.csf.release.flyer.vo.DronePilotLicenseVO;
import com.mmc.csf.release.vo.RegistrationVO; import com.mmc.csf.release.flyer.vo.RegistrationVO;
import com.mmc.csf.release.task.vo.TaskServiceVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -70,4 +76,21 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService { ...@@ -70,4 +76,21 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
return ResultBody.success(flightSkillsList.stream() return ResultBody.success(flightSkillsList.stream()
.map(FlightSkillsDO::buildFlightSkillsVO).collect(Collectors.toList())); .map(FlightSkillsDO::buildFlightSkillsVO).collect(Collectors.toList()));
} }
@Override
public PageResult queryCurriculumInfoList(CurriculumQo curriculumQo) {
Integer SZ = 440300;
if (curriculumQo.getRegionId() != null && !curriculumQo.getRegionId().equals(SZ)) {
return PageResult.buildPage(curriculumQo.getPageNo(), curriculumQo.getPageSize(), 0);
}
int count = flyerTrainingDao.countCurriculumInfoList(curriculumQo);
if (count == 0) {
return PageResult.buildPage(curriculumQo.getPageNo(), curriculumQo.getPageSize(), count);
}
Integer pageNo = curriculumQo.getPageNo();
curriculumQo.buildCurrentPage();
List<CurriculumInfoDO> curriculumList = flyerTrainingDao.listPageCurriculumInfo(curriculumQo);
List<CurriculumInfoVO> list = curriculumList.stream().map(CurriculumInfoDO::buildCurriculumInfoVO).collect(Collectors.toList());
return PageResult.buildPage(pageNo, curriculumQo.getPageSize(), count, list);
}
} }
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.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.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();
}
}
...@@ -51,8 +51,8 @@ spring: ...@@ -51,8 +51,8 @@ spring:
#Redis #Redis
redis: redis:
database: 0 database: 0
host: 119.23.248.181 host: r-wz9ke310fs684hacn1pd.redis.rds.aliyuncs.com
password: mmc@redis123 password: MMC@2022&REDIS
port: 6379 port: 6379
#连接池 #连接池
lettuce: lettuce:
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<!DOCTYPE mapper <!DOCTYPE mapper
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.flyer.dao.FlyerTrainingDao"> <mapper namespace="com.mmc.csf.release.dao.FlyerTrainingDao">
<insert id="insertPilotRegistrationInfo" parameterType="com.mmc.csf.release.entity.PilotRegistrationDO" <insert id="insertPilotRegistrationInfo" parameterType="com.mmc.csf.release.entity.PilotRegistrationDO"
useGeneratedKeys="true" keyProperty="id"> useGeneratedKeys="true" keyProperty="id">
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
VALUES (#{id}, #{applyUserId}, #{name}, #{city}, #{telephone}, #{drivingLicense}, #{province}, #{uavLicense}, VALUES (#{id}, #{applyUserId}, #{name}, #{city}, #{telephone}, #{drivingLicense}, #{province}, #{uavLicense},
#{industryAppAuth}, #{remark}) #{industryAppAuth}, #{remark})
</insert> </insert>
<select id="selectAllLicenses" resultType="com.mmc.csf.release.vo.DronePilotLicenseVO"> <select id="selectAllLicenses" resultType="com.mmc.csf.release.flyer.vo.DronePilotLicenseVO">
select id, select id,
parent_id, parent_id,
license_type, license_type,
...@@ -25,4 +25,43 @@ ...@@ -25,4 +25,43 @@
skills_name skills_name
from flight_skills from flight_skills
</select> </select>
<select id="countCurriculumInfoList" resultType="java.lang.Integer">
SELECT
count(*)
FROM
curriculum_info ci INNER JOIN curriculum_video cv ON ci.id = cv.curriculum_info_id
<where>
and ci.is_deleted = 0
<if test="licenseId != null">
and ci.drone_pilot_license_id = #{licenseId}
</if>
<if test="flightSkillsId != null">
and ci.flight_skills = #{flightSkillsId}
</if>
</where>
</select>
<select id="listPageCurriculumInfo" resultType="com.mmc.csf.release.entity.CurriculumInfoDO">
SELECT
ci.id,
ci.curriculum_name,
ci.supplier_id,
ci.curriculum_price,
ci.curriculum_desc,
ci.is_free free,
ci.drone_pilot_license_id,
ci.flight_skills,
cv.curriculum_url videoUrl
from curriculum_info ci INNER JOIN curriculum_video cv ON ci.id = cv.curriculum_info_id
<where>
and ci.is_deleted = 0
<if test="licenseId != null">
and drone_pilot_license_id = #{licenseId}
</if>
<if test="flightSkillsId != null">
and flight_skills = #{flightSkillsId}
</if>
</where>
order by ci.create_time desc
LIMIT #{pageNo},#{pageSize}
</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.CommentDAO"> <mapper namespace="com.mmc.csf.release.dao.CommentDAO">
<insert id="insertComment" parameterType="com.mmc.csf.forum.vo.CommentVO"> <insert id="insertComment" parameterType="com.mmc.csf.release.forum.vo.CommentVO">
INSERT INTO forum_comment(user_id, dynamic_id, content) INSERT INTO forum_comment(user_id, dynamic_id, content)
VALUES (#{userId}, #{dynamicId}, #{content}) VALUES (#{userId}, #{dynamicId}, #{content})
</insert> </insert>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<delete id="deleteCommentsByDynamic" parameterType="int"> <delete id="deleteCommentsByDynamic" parameterType="int">
DELETE FROM forum_comment WHERE dynamic_id = #{dynamicId} DELETE FROM forum_comment WHERE dynamic_id = #{dynamicId}
</delete> </delete>
<select id="selectCommentList" resultType="com.mmc.csf.forum.vo.CommentAndReplyVO"> <select id="selectCommentList" resultType="com.mmc.csf.release.forum.vo.CommentAndReplyVO">
select id, select id,
parent_id, parent_id,
user_id, user_id,
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
from forum_comment from forum_comment
where dynamic_id = #{dynamicId} and is_deleted = 0 where dynamic_id = #{dynamicId} and is_deleted = 0
</select> </select>
<select id="selectSubCommentList" resultType="com.mmc.csf.forum.vo.CommentVO"> <select id="selectSubCommentList" resultType="com.mmc.csf.release.forum.vo.CommentVO">
select id, select id,
parent_id, parent_id,
user_id, user_id,
......
<?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 `name`,
id,
video,
image
from inspection
where 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>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论