提交 62b0e132 作者: zhenjie

Merge branch 'develop'

package com.mmc.csf.data.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2023/9/16 14:15
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ReleaseReportDTO {
@ApiModelProperty(value = "信息发布总数")
private Integer releaseCount;
@ApiModelProperty(value = "订单发布数量")
private Integer orderReleaseCount;
@ApiModelProperty(value = "帖子发布数量")
private Integer postsReleaseCount;
@ApiModelProperty(value = "话题发布数量")
private Integer topicReleaseCount;
@ApiModelProperty(value = "订单金额")
private BigDecimal serviceOrderAmount;
}
......@@ -8,6 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
......@@ -50,4 +51,10 @@ public class UserAccountSimpleDTO implements Serializable {
private Integer companyAuthStatus;
@ApiModelProperty(value = "用户合作标签")
private List<CooperationTagVO> cooperationTagVOS;
@ApiModelProperty(value = "地区")
private String region;
@ApiModelProperty(value = "个人简介")
private String briefIntroduction;
@ApiModelProperty(value = "封面背景图")
private String coverPicture;
}
......@@ -15,6 +15,7 @@ import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author: zj
......@@ -181,4 +182,7 @@ public class RequirementsInfoVO implements Serializable {
@ApiModelProperty(value = "抢单飞手id")
private Integer pilotCertificationId;
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
......@@ -44,4 +44,9 @@ public class DynamicInfoDTO {
@ApiModelProperty(value = "审核状态:0审核中 1通过 2未通过")
private Integer checkStatus;
@ApiModelProperty(value = "话题名称",example = "#深圳暴雨,#深圳大雨")
private List<String> gambitName;
}
......@@ -18,12 +18,27 @@ import java.io.Serializable;
@AllArgsConstructor
@Builder
public class CommentVO implements Serializable {
@ApiModelProperty(value = "根节点路径")
private String rootPath;
@ApiModelProperty(value = "动态id")
@ApiModelProperty(value = "动态id",example = "1")
private Integer dynamicId;
@ApiModelProperty(value = "评论内容")
@ApiModelProperty(value = "评论内容",example = "你好")
private String content;
@ApiModelProperty(value = "评论id(注意:单纯评论就为0 ,有回复就评论id) ",example = "0")
private Integer reviewId;
@ApiModelProperty(value = "用户id",hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "pid(注意:单纯评论就为0,有回复就上级id)",example = "0")
private Integer pid;
}
package com.mmc.csf.release.forum.vo;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
......@@ -21,6 +24,19 @@ import java.util.List;
@AllArgsConstructor
@Builder
public class DynamicVO implements Serializable {
@ApiModelProperty(value = "话题名称",example = "#深圳暴雨,#深圳大雨")
private List<String> gambitName;
@ApiModelProperty(value = "话题图标",example = "小程序给默认值")
@NotBlank(message = "话题图标不能为空",groups = {Create.class, Update.class})
private String gambitIcon;
@ApiModelProperty(value = "话题封面",example = "小程序给默认封面")
@NotBlank(message = "话题封面不能为空",groups = {Create.class,Update.class})
private String gambitCover;
@ApiModelProperty(value = "发布动态用户信息")
private UserBaseInfoVO userBaseInfo;
......
package com.mmc.csf.release.forum.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/9/16 17:30
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ReplyToAReviewVO {
@ApiModelProperty(value = "动态id",example = "172")
private Integer dynamicId;
@ApiModelProperty(value = "评论内容",example = "内容")
private String content;
@ApiModelProperty(value = "被回复者用户id")
private Integer replyUserAccountId;
@ApiModelProperty(value = "被回复的一级用户")
private Integer replyOneUserAccountId;
@ApiModelProperty(value = "被回复的二级用户")
private Integer replyTwoUserAccountId;
}
......@@ -30,4 +30,7 @@ public class UserBaseInfoVO implements Serializable {
@ApiModelProperty(value = "UID")
private String uid;
@ApiModelProperty(value = "地区")
private String region;
}
package com.mmc.csf.release.gambit.dto;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/13 17:57
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ForumGambitDTO {
@NotNull(message = "话题id不能为空",groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "话题名称",example = "深圳暴雨")
@NotBlank(message = "话题不能为空",groups = {Create.class, Update.class})
private String gambitName;
@ApiModelProperty(value = "话题图标",example = "http:")
@NotBlank(message = "话题图标不能为空",groups = {Create.class,Update.class})
private String gambitIcon;
@ApiModelProperty(value = "话题封面",example = "http:")
@NotBlank(message = "话题封面不能为空",groups = {Create.class,Update.class})
private String gambitCover;
@ApiModelProperty(value = "话题属性",example = "话题属性 1普通 2热门 3推荐 ")
@NotNull(message = "话题属性不能为空")
private Integer gambitProperty;
@ApiModelProperty(value = "发贴用户",example = "1",hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "贴子数",example = "2")
private Integer postCount;
@ApiModelProperty(value = "话题参与讨论数量",example = "1")
private Integer discussionCount;
}
package com.mmc.csf.release.gambit.dto;
import com.mmc.csf.release.auth.qo.UserAccountQO;
import com.mmc.csf.user.vo.UserAccountVO;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/9/21 15:56
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PostingLeaderboardDTO {
@ApiModelProperty(value = "用户id",example = "1")
private Integer userAccountId;
@ApiModelProperty(value = "用户发贴数量",example = "1")
private Integer number;
@ApiModelProperty(value = "用户信息",example = "")
private UserAccountVO userAccountVO;
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
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;
/**
* @Author small
* @Date 2023/9/18 14:22
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AllReviewQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
@ApiModelProperty(value = "动态id",example = "1")
private String dynamicId;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
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;
/**
* @Author small
* @Date 2023/9/18 14:34
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AppReplyQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
@ApiModelProperty(value = "评论id",example = "1")
private String id;
@ApiModelProperty(value = "动态id",example = "1")
private Integer dynamicId;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
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;
/**
* @Author small
* @Date 2023/9/13 18:00
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ForumGambitQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
@ApiModelProperty(value = "话题名称",example = "深圳暴雨")
private String gambitName;
@ApiModelProperty(value = "话题属性 1普通 2热门 3推荐",example = "1")
private Integer gambitProperty;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
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;
/**
* @Author small
* @Date 2023/9/21 15:58
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PostingLeaderboardQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
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;
/**
* @Author small
* @Date 2023/9/18 11:01
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TopicDynamicsQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
@ApiModelProperty(value = "话题id",example = "1")
private Integer gambitId;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
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;
/**
* @Author small
* @Date 2023/9/18 14:49
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserTopicDynamicsQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
@ApiModelProperty(value = "用户id",example = "1")
private Integer userAccountId;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.vo;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/13 15:43
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ForumGambitVO {
@NotNull(message = "话题id不能为空",groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "话题名称",example = "深圳暴雨")
@NotBlank(message = "话题不能为空",groups = {Create.class, Update.class})
private String gambitName;
@ApiModelProperty(value = "话题图标",example = "http:")
@NotBlank(message = "话题图标不能为空",groups = {Create.class,Update.class})
private String gambitIcon;
@ApiModelProperty(value = "话题封面",example = "http:")
@NotBlank(message = "话题封面不能为空",groups = {Create.class,Update.class})
private String gambitCover;
@ApiModelProperty(value = "话题属性 话题属性 1普通 2热门 3推荐",example = "1")
@NotNull(message = "话题属性不能为空")
private Integer gambitProperty;
@ApiModelProperty(value = "发贴用户",example = "1",hidden = true)
private Integer userAccountId;
}
......@@ -10,6 +10,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
......@@ -24,8 +25,8 @@ public class UserAccountVO implements Serializable {
@ApiModelProperty(value = "用户id")
@NotNull(
message = "用户id不能为空",
groups = {Update.class})
message = "用户id不能为空",
groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "用户类型")
......@@ -85,4 +86,12 @@ public class UserAccountVO implements Serializable {
@ApiModelProperty(value = "是否删除")
private Integer deleted;
@ApiModelProperty(value = "地区")
private String region;
@ApiModelProperty(value = "个人简介")
private String briefIntroduction;
@ApiModelProperty(value = "封面背景图")
private String coverPicture;
}
......@@ -18,4 +18,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims
newTag: f7891e75b7ce235486cc4dc5684c3dbcda5ff297
newTag: 61c2ad045e5b55eb123e1c92662d5490ada54ff6
package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.dao.gambit.GambitDao;
import com.mmc.csf.release.entity.forum.ForumDynamicUserDO;
import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.forum.vo.ReplyToAReviewVO;
import com.mmc.csf.release.gambit.dto.ForumGambitDTO;
import com.mmc.csf.release.gambit.dto.PostingLeaderboardDTO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
import com.mmc.csf.release.gambit.qo.PostingLeaderboardQO;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import com.mmc.csf.release.service.DynamicService;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
......@@ -26,8 +35,7 @@ public class DynamicController extends BaseController {
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/publish")
public ResultBody publishDynamic(@RequestBody DynamicVO dynamicVO, HttpServletRequest request) {
return dynamicService.insertDynamic(
dynamicVO, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request);
return dynamicService.insertDynamic(dynamicVO, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request);
}
@ApiOperation(value = "点赞或取消点赞")
......@@ -39,25 +47,32 @@ public class DynamicController extends BaseController {
this.getUserLoginInfoFromRedis(request).getUserAccountId(), dynamicId);
}
@ApiOperation(value = "评论动态或回复评论")
@ApiOperation(value = "update-评论动态/回复")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/comment")
public ResultBody commentDynamic(@RequestBody CommentVO commentVO, HttpServletRequest request) {
return dynamicService.commentDynamic(
commentVO, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request);
return dynamicService.commentDynamic(commentVO, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request);
}
@ApiOperation(value = "删除评论")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@DeleteMapping("/removeComment")
public ResultBody removeComment(@RequestParam Integer id) {
return dynamicService.deleteComment(id);
@ApiOperation(value = "对评论/及回复的点赞或者取消")
@GetMapping("/reviewLikes")
public ResultBody reviewLikes(@RequestParam Integer id,HttpServletRequest request,@RequestParam Boolean status){
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return dynamicService.reviewLikes(id,userAccountId,status);
}
/* @ApiOperation(value = "删除评论")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@DeleteMapping("/removeComment")
public ResultBody removeComment(@RequestParam Integer id) {
return dynamicService.deleteComment(id);
}
*/
@ApiOperation(value = "动态详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)})
@GetMapping("/dynamicDetails")
public ResultBody dynamicDetails(@RequestParam Integer dynamicId, HttpServletRequest request) {
public ResultBody<DynamicVO> dynamicDetails(@RequestParam Integer dynamicId, HttpServletRequest request) {
return dynamicService.dynamicDetails(
dynamicId, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request);
}
......@@ -65,10 +80,32 @@ public class DynamicController extends BaseController {
@ApiOperation(value = "动态 列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)})
@GetMapping("/dynamicList")
public ResultBody dynamicList(
public ResultBody<DynamicVO> dynamicList(
@RequestParam Integer pageNo, @RequestParam Integer pageSize, HttpServletRequest request) {
return ResultBody.success(
dynamicService.dynamicList(
pageNo, pageSize, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request));
}
@ApiOperation(value = "new-小程序-返回最新5条带动态的图片")
@GetMapping("/recentNews")
public ResultBody<ForumDynamicUserDO> recentNewsList(@ApiParam(value = "用户id" ) @RequestParam(required = false) Integer userAccountId){
return dynamicService.recentNewsList(userAccountId);
}
@ApiOperation(value = "new-小程序-话题列表")
@PostMapping("/appGambitList")
public ResultBody<ForumGambitDTO> appGambitList(@RequestBody ForumGambitQO forumGambitQO){
return ResultBody.success(dynamicService.appGambitList(forumGambitQO));
}
@ApiOperation(value = "发贴排行榜")
@PostMapping("/postingLeaderboard")
public ResultBody<PostingLeaderboardDTO> postingLeaderboard(@RequestBody PostingLeaderboardQO postingLeaderboardQO){
return ResultBody.success(dynamicService.postingLeaderboard(postingLeaderboardQO));
}
}
......@@ -14,6 +14,7 @@ import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
......@@ -28,7 +29,7 @@ import java.util.List;
@Api(tags = {"web-小程序-飞手培训-模块"})
@RestController
@RequestMapping("/curriculum/")
public class FlyerTrainingController extends BaseController{
public class FlyerTrainingController extends BaseController {
@Resource
private FlyerTrainingService flyerTrainingService;
......@@ -37,7 +38,7 @@ public class FlyerTrainingController extends BaseController{
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/pilotRegistration")
public ResultBody pilotRegistration(@RequestBody RegistrationVO registrationVO, HttpServletRequest request) {
return flyerTrainingService.pilotRegistration(registrationVO,this.getUserLoginInfoFromRedis(request).getUserAccountId());
return flyerTrainingService.pilotRegistration(registrationVO, this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
......@@ -100,7 +101,7 @@ public class FlyerTrainingController extends BaseController{
@ApiOperation(value = "V1.0.1新增课程")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CurriculumInfoVO.class)})
@PostMapping("addCurriculum")
public ResultBody addCurriculum(@Validated(Insert.class)@RequestBody CurriculumInfoVO curriculumInfoVO) {
public ResultBody addCurriculum(@Validated(Insert.class) @RequestBody CurriculumInfoVO curriculumInfoVO) {
return ResultBody.success(flyerTrainingService.addCurriculum(curriculumInfoVO));
}
......@@ -127,4 +128,12 @@ public class FlyerTrainingController extends BaseController{
public ResultBody test() {
return ResultBody.success(pmsAppApi.feignQqueryCategoryInfoByType(3));
}
@ApiOperation(value = "获取课程总数")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = Integer.class)})
@GetMapping("getCurriculumCount")
@ApiIgnore
public Integer getCurriculumCount() {
return flyerTrainingService.getCurriculumCount();
}
}
package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.entity.forum.*;
import com.mmc.csf.release.gambit.dto.ForumGambitDTO;
import com.mmc.csf.release.gambit.qo.*;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import com.mmc.csf.release.service.gambit.GambitService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @Author small
* @Date 2023/9/13 15:29
* @Version 1.0
*/
@Api(tags = {"web-小程序-论坛社区-模块发布话题"})
@RestController
@RequestMapping("/gambit")
public class GambitController extends BaseController{
@Autowired
private GambitService gambitService;
@ApiOperation(value = "添加话题")
@PostMapping("/insertGambit")
public ResultBody insertGambit(@RequestBody ForumGambitVO forumGambitVO, HttpServletRequest request){
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
forumGambitVO.setUserAccountId(userAccountId);
return gambitService.insertGambit(forumGambitVO);
}
@ApiOperation(value = "编辑话题")
@PostMapping("/updateGambit")
public ResultBody updateGambit(@RequestBody ForumGambitVO forumGambitVO, HttpServletRequest request){
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
forumGambitVO.setUserAccountId(userAccountId);
return gambitService.updateGambit(forumGambitVO);
}
@ApiOperation(value = "删除话题")
@GetMapping("/deleteGambit")
public ResultBody deleteGambit(@RequestParam(value = "id") Integer id ){
return gambitService.deleteGambit(id);
}
@ApiOperation(value = "后台管理话题列表")
@PostMapping("/listGambit")
public ResultBody<ForumGambitDTO> listGambit(@RequestBody ForumGambitQO forumGambitQO){
return ResultBody.success(gambitService.listGambit(forumGambitQO));
}
@ApiOperation(value = "关注")
@GetMapping("/attention")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "status",value = "关注状态 true",dataType = "Boolean",required = true),
@ApiImplicitParam(name = "userAccountId",value = "被关注的用户",dataType = "Integer",required = true)
})
public ResultBody attention(@RequestParam(value = "status") Boolean status,
@RequestParam(value = "userAccountId")Integer userAccountId,
HttpServletRequest request){
Integer attentionUserAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return gambitService.attention(status,userAccountId,attentionUserAccountId);
}
@ApiOperation(value = "转发数")
@GetMapping("/transPond")
public ResultBody transPond(@RequestParam(value = "dynamicId")Integer dynamicId,HttpServletRequest request){
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return gambitService.transPond(dynamicId,userAccountId);
}
/* @ApiOperation(value = "评论下面——点赞或取消点赞")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/commentLikes")
public ResultBody commentLikes(HttpServletRequest request, @ApiParam(value = "dynamicId") @RequestParam Integer dynamicId) {
return gambitService.commentLikes(this.getUserLoginInfoFromRedis(request).getUserAccountId(), dynamicId);
}*/
@ApiOperation(value = "小程序——自己删除自己的贴子")
@GetMapping("/appRemove")
public ResultBody appRemove(HttpServletRequest request, @ApiParam(value = "dynamicId") @RequestParam Integer dynamicId){
return gambitService.appRemove(this.getUserLoginInfoFromRedis(request).getUserAccountId(),dynamicId);
}
@ApiOperation(value = "小程序话题下面的动态列表")
@PostMapping("/appGambitLists")
public ResultBody<ForumDynamicGambitDO> appGambitList(HttpServletRequest request, @RequestBody TopicDynamicsQO topicDynamicsQO){
return ResultBody.success(gambitService.appGambitList(topicDynamicsQO));
}
@ApiOperation(value = "动态对应的所有评论")
@PostMapping("/allCommentList")
public ResultBody<ForumReviewDO> allCommentList(HttpServletRequest request, @RequestBody AllReviewQO allReviewQO){
return ResultBody.success(gambitService.allCommentList(allReviewQO));
}
@ApiOperation(value = "动态下某一条评论下面所有回复")
@PostMapping("/replyList")
public ResultBody<ForumReviewDO> replyList(HttpServletRequest request, @RequestBody AppReplyQO replyQO){
return ResultBody.success(gambitService.replyList(replyQO));
}
@ApiOperation(value = "用户发的动态")
@PostMapping("/userDynamicList")
public ResultBody<ForumDynamicGambitDO> userDynamicList(HttpServletRequest request, @RequestBody UserTopicDynamicsQO userTopicDynamicsQO){
return ResultBody.success(gambitService.userDynamicList(userTopicDynamicsQO));
}
@ApiOperation(value = "赞过")
@PostMapping("/liked")
public ResultBody<ForumDynamicGambitDO> liked(HttpServletRequest request, @RequestBody UserTopicDynamicsQO userTopicDynamicsQO){
return ResultBody.success(gambitService.liked(userTopicDynamicsQO));
}
@ApiOperation(value = "我的关注")
@PostMapping("/myInterestList")
public ResultBody<MyAttentionDO> myInterestList(HttpServletRequest request, @RequestBody UserTopicDynamicsQO userTopicDynamicsQO){
return ResultBody.success(gambitService.myInterestList(userTopicDynamicsQO));
}
@ApiOperation(value = "我的粉丝")
@PostMapping("/myFansList")
public ResultBody<MyFansDO> myFansList(HttpServletRequest request, @RequestBody UserTopicDynamicsQO userTopicDynamicsQO){
return ResultBody.success(gambitService.myFansList(userTopicDynamicsQO));
}
@ApiOperation(value = "单个用户信息")
@GetMapping("/userMessage")
public ResultBody<ForumCountDO> userMessage(HttpServletRequest request, @ApiParam(value = "userAccountId") @RequestParam Integer userAccountId){
return gambitService.userMessage(userAccountId);
}
}
package com.mmc.csf.release.controller.data;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.data.dto.ReleaseReportDTO;
import com.mmc.csf.release.service.data.ReleaseReportService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author LW
* @date 2023/9/18 9:46
* 概要:
*/
@Api(tags = "云享飞发数据看板")
@RequestMapping("/report")
@RestController
public class ReleaseReportController {
@Autowired
private ReleaseReportService releaseReportService;
@ApiOperation(value = "获取信息发布报表数据")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ReleaseReportDTO.class)})
@GetMapping("/getReleaseReportData")
public ResultBody<ReleaseReportDTO> getUserReportData() {
return releaseReportService.getReleaseReportData();
}
}
......@@ -2,6 +2,11 @@ package com.mmc.csf.release.dao;
import java.util.List;
import com.mmc.csf.release.entity.forum.*;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.release.gambit.dto.PostingLeaderboardDTO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
import com.mmc.csf.release.gambit.qo.PostingLeaderboardQO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -14,7 +19,7 @@ import com.mmc.csf.release.entity.forum.ForumVideoDO;
* @date 2023/5/15 10:29 概要:动态信息数据访问层
*/
@Mapper
public interface DynamicDAO {
public interface DynamicDao {
/**
* 插入动态
......@@ -147,4 +152,49 @@ public interface DynamicDAO {
List<ForumDynamicDO> firstTwoItemsComment(List<Integer> ids);
void updateCheckDynamic(Integer dynamicId, Integer status);
int getDynamicCount();
int getGambitReleaseCount();
void insertforumGambit(ForumGambitDO forumGambitDO);
void insertDynamicGambit(DynamicGambitDO dynamicGambitDO);
void updateDynamic(Integer gambitId);
void updateDynamicNO(Integer gambitId);
void updateDiscussionCount(Integer gambitId,Long count);
void forumCount(Integer userAccountId);
void forumCountNO(Integer userAccountId);
void insertForumCount(Integer userAccountId);
int selectForumCount(Integer userAccountId);
List<ForumDynamicUserDO> recentNewsList(Integer userAccountId);
List<ForumGambitDO> appGambitList(ForumGambitQO forumGambitQO);
int appGambitListCount(ForumGambitQO forumGambitQO);
List<ForumGambitDO> selectGambit(Integer id);
void insertforumFirstLevelReview(ForumFirstLevelReviewDO forumFirstLevelReviewDO);
void updateLikeCountAdd(Integer id);
void insertReviewLikes(Integer id, Integer userAccountId);
void subtractLikeCount(Integer id);
void deleteReview(Integer id, Integer userAccountId);
List<PostingLeaderboardDTO> postingLeaderboardCount(PostingLeaderboardQO postingLeaderboardQO);
}
......@@ -63,28 +63,33 @@ public interface FlyerTrainingDao {
/**
* 添加课程信息
*
* @param currInfoDO
*/
Integer addCurriculum(CurriculumInfoDO currInfoDO);
/**
* 修改课程信息
*
* @param currInfoDO
*/
Integer updateCurriculum(CurriculumInfoDO currInfoDO);
/**
* 删除课程
*
* @param id
*/
Integer removeCurriculum(Integer id);
/**
* 课程技能列表
*
* @return
*/
List<FlightSkillsDO> treeCurriculumSkill();
int countCurriculumInfo(Integer categoriesId);
Integer getCurriculumCount();
}
......@@ -212,4 +212,9 @@ public interface RequirementsDao {
void customerServiceIntervention(LiabilityProblemVO liabilityProblemVO);
int selectCustomer(Integer requirementsInfoId);
int getOrderReleaseCount();
BigDecimal getServiceOrderAmount();
}
package com.mmc.csf.release.dao.data;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author LW
* @date 2023/9/18 10:44
* 概要:
*/
@Mapper
public interface ReleaseReportDao {
}
package com.mmc.csf.release.dao.gambit;
import com.mmc.csf.release.entity.forum.*;
import com.mmc.csf.release.entity.gambit.ForumAttentionDO;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.release.gambit.qo.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author small
* @Date 2023/9/13 15:31
* @Version 1.0
*/
@Mapper
public interface GambitDao {
void insertGambit(ForumGambitDO forumGambitDO);
int selectGambit(String gambitName);
int selectUpdate(ForumGambitDO forumGambitDO);
void updateGambit(ForumGambitDO forumGambitDO);
void deleteGambit(Integer id);
List<ForumGambitDO> listGambit(ForumGambitQO forumGambitQO);
int listGambitCount(ForumGambitQO forumGambitQO);
List<ForumGambitDO> recommendCount(ForumGambitDO forumGambitDO);
List<ForumGambitDO> recommendCountNO(ForumGambitDO forumGambitDO);
ForumGambitDO selectGambitMessage(String gambitName);
void updateDynamicGambit(Integer dynamicId, Integer checkStatus);
List<DynamicGambitDO> selectGambitDynamic(Integer dynamicId);
void updateForumGambit(DynamicGambitDO gambitDO);
void forumDynamicGambit(Integer id);
void insertAttention( Integer userAccountId, Integer attentionUserAccountId,Boolean status);
void removeAttention(Integer userAccountId, Integer attentionUserAccountId);
void insertTransPond(Integer dynamicId, Integer userAccountId);
void commentLikes( Integer dynamicId,Integer userAccountId);
int selectGambitM(Integer dynamicId, Integer userAccountId);
void appRemove( Integer dynamicId);
void RemoveDynamicGambit(Integer dynamicId);
void deleteForumGambit(Integer dynamicId);
void dedateForumGambitTrue(Integer id);
List<DynamicGambitDO> selectGambitList();
List<ForumGambitDO> selectCountList();
void forumCountFansYes(Integer userAccountId);
void forumCountAttentionYes(Integer userAccountId);
void forumCountFansNO(Integer userAccountId);
void forumCountAttentionNO(Integer attentionUserAccountId);
ForumAttentionDO selectAttention(Integer userAccountId, Integer attentionUserAccountId);
void updateAttention(Integer userAccountId, Integer attentionUserAccountId,Boolean status);
void updateAttentionExchange(Integer userAccountId, Integer attentionUserAccountId);
ForumAttentionDO selectAttentionMessage(Integer userAccountId, Integer attentionUserAccountId);
List<ForumDynamicGambitDO> appGambitList(TopicDynamicsQO topicDynamicsQO);
int appGambitListCount(TopicDynamicsQO topicDynamicsQO);
void transPondCount(Integer dynamicId);
int allCommentListCount(AllReviewQO allReviewQO);
List<ForumReviewDO> allCommentList(AllReviewQO allReviewQO);
int replyListCount(AppReplyQO allReviewQO);
List<ForumReviewDO> replyList(AppReplyQO allReviewQO);
int userDynamicListCount(UserTopicDynamicsQO userTopicDynamicsQO);
List<ForumDynamicGambitDO> userDynamicList(UserTopicDynamicsQO userTopicDynamicsQO);
int likedCount(UserTopicDynamicsQO userTopicDynamicsQO);
List<ForumDynamicGambitDO> likedList(UserTopicDynamicsQO userTopicDynamicsQO);
int myInterestListCount(UserTopicDynamicsQO userTopicDynamicsQO);
List<MyAttentionDO> myInterestList(UserTopicDynamicsQO userTopicDynamicsQO);
int myFansListCount(UserTopicDynamicsQO userTopicDynamicsQO);
List<MyFansDO> myFansList(UserTopicDynamicsQO userTopicDynamicsQO);
ForumAttentionDO selectAttentionM(Integer userAccountId, Integer attentionUserAccountId);
ForumCountDO userMessage(Integer userAccountId);
}
package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/14 10:50
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class DynamicGambitDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L;
private Integer id;
private Integer dynamicId;
private Integer gambitId;
private Integer userAccountId;
private Integer checkStatus;
public DynamicGambitDO(ForumDynamicDO forumDynamicDO, ForumGambitDO forumGambitDO){
this.dynamicId=forumDynamicDO.getId();
this.gambitId=forumGambitDO.getId();
this.userAccountId=forumGambitDO.getUserAccountId();
}
}
package com.mmc.csf.release.entity.forum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/18 15:42
* @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ForumCountDO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "获赞数量")
private Integer likeCount;
@ApiModelProperty(value = "粉丝数量")
private Integer fansCount;
@ApiModelProperty(value = "关注数量")
private Integer attentionCount;
@ApiModelProperty(value = "创建时间")
private String createTime;
@ApiModelProperty(value = "修改时间")
private String updateTime;
}
......@@ -6,12 +6,15 @@ import java.math.BigDecimal;
import com.mmc.csf.release.entity.common.BaseDO;
import com.mmc.csf.release.forum.dto.DynamicInfoDTO;
import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* 动态信息表(ForumDynamicDO)实体类
*
......@@ -63,7 +66,24 @@ public class ForumDynamicDO extends BaseDO implements Serializable {
private Integer checkStatus;
@ApiModelProperty(value = "话题图标",example = "小程序给默认值")
@NotBlank(message = "话题图标不能为空",groups = {Create.class, Update.class})
private String gambitIcon;
@ApiModelProperty(value = "话题封面",example = "小程序给默认封面")
@NotBlank(message = "话题封面不能为空",groups = {Create.class,Update.class})
private String gambitCover;
@ApiModelProperty(value = "话题名称",example = "#深圳暴雨")
private List<String> gambitName;
private Integer dynamicId;
public ForumDynamicDO(DynamicVO dynamicVO) {
this.gambitIcon=dynamicVO.getGambitIcon();
this.gambitCover=dynamicVO.getGambitCover();
this.gambitName=dynamicVO.getGambitName();
this.description = dynamicVO.getDescription();
this.location = dynamicVO.getLocation();
this.lat = dynamicVO.getLat();
......@@ -81,6 +101,7 @@ public class ForumDynamicDO extends BaseDO implements Serializable {
.lon(lon)
.location(location)
.dynamicPublishTime(this.getCreateTime())
.gambitName(this.gambitName)
.build();
}
......@@ -92,6 +113,7 @@ public class ForumDynamicDO extends BaseDO implements Serializable {
.dynamicPublishTime(this.getCreateTime())
.show(this.getDeleted())
.checkStatus(checkStatus)
.gambitName(this.gambitName)
.build();
}
......
package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Author small
* @Date 2023/9/18 11:17
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ForumDynamicGambitDO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "描述")
private String description;
@ApiModelProperty(value = "发布者用户")
private Integer userAccountId;
@ApiModelProperty(value = "点赞数")
private Integer likesCount;
@ApiModelProperty(value = "评论数")
private Integer commentsCount;
@ApiModelProperty(value = "转发数")
private Integer transpond;
@ApiModelProperty(value = "创建时间")
private String createTime;
@ApiModelProperty("图片")
private List<ForumResourceDO> forumResourceDOList;
@ApiModelProperty("话题")
private List<ForumGambitDO> forumGambitDOList;
@ApiModelProperty("评论")
private ForumReviewDO forumReviewDO;
}
package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.user.vo.UserAccountVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author small
* @Date 2023/9/16 9:57
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class ForumDynamicUserDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L;
private Integer id;
/**
* 版本字段
*/
private Integer version;
/**
* 发布用户ID
*/
private Integer userAccountId;
/**
* 动态描述
*/
private String description;
/**
* 发布动态具体位置
*/
private String location;
/**
* 发布动态纬度
*/
private BigDecimal lat;
/**
* 发布动态经度
*/
private BigDecimal lon;
/**
* 点赞数
*/
private Integer likesCount;
/**
* 评论数
*/
private Integer commentsCount;
/**
* 记录父节点id
*/
private String rootPath;
private Integer checkStatus;
private List<ForumResourceDO> forumResourceDOList;
private List<ForumGambitDO> forumGambitDOList;
private UserAccountVO userAccountVO;
}
package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.forum.vo.CommentVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/16 17:19
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ForumFirstLevelReviewDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L;
@ApiModelProperty(value = "动态id")
private Integer dynamicId;
@ApiModelProperty(value = "评论内容")
private String content;
@ApiModelProperty(value = "评论id,没有回复就为0 有就是评论id ")
private Integer reviewId;
@ApiModelProperty(value = "用户id",hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "pid(注意:pid为0表示评论,回复需要上级评论id)",example = "0")
private Integer pid;
public ForumFirstLevelReviewDO(CommentVO commentVO){
this.dynamicId=commentVO.getDynamicId();
this.content=commentVO.getContent();
this.reviewId=commentVO.getReviewId();
this.userAccountId=commentVO.getUserAccountId();
this.pid=commentVO.getPid();
}
}
package com.mmc.csf.release.entity.forum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/18 13:54
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class ForumReviewDO implements Serializable {
private static final long serialVersionUID = 678578415154893126L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "动态id")
private Integer dynamicId;
@ApiModelProperty(value = "评论内容")
private String content;
@ApiModelProperty(value = "回复id")
private Integer reviewId;
@ApiModelProperty(value = "评论点赞数")
private Integer likeCount;
@ApiModelProperty(value = "创建时间")
private String createTime;
@ApiModelProperty(value = "更新时间")
private String updateTime;
@ApiModelProperty(value = "pid")
private Integer pid;
}
package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.forum.vo.ReplyToAReviewVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/16 17:37
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ForumTwoLevelReviewDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "二级评论点赞数")
private Integer firstLikeCount;
@ApiModelProperty(value = "动态id",example = "172")
private Integer dynamicId;
@ApiModelProperty(value = "评论内容",example = "内容")
private String content;
@ApiModelProperty(value = "被回复者用户id")
private Integer replyUserAccountId;
@ApiModelProperty(value = "被回复的一级用户")
private Integer replyOneUserAccountId;
@ApiModelProperty(value = "被回复的二级用户")
private Integer replyTwoUserAccountId;
public ForumTwoLevelReviewDO(ReplyToAReviewVO replyToAReviewVO){
this.dynamicId=replyToAReviewVO.getDynamicId();
this.content=replyToAReviewVO.getContent();
this.replyUserAccountId=replyToAReviewVO.getReplyUserAccountId();
this.replyOneUserAccountId=replyToAReviewVO.getReplyOneUserAccountId();
this.replyTwoUserAccountId=replyToAReviewVO.getReplyTwoUserAccountId();
}
}
package com.mmc.csf.release.entity.forum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/18 15:38
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MyAttentionDO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "是否互相关注")
private Integer mutualAttention;
@ApiModelProperty(value = "作品数")
private Integer dynamicCount;
@ApiModelProperty(value = "用户信息")
private ForumCountDO countDO;
}
package com.mmc.csf.release.entity.forum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/18 16:10
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MyFansDO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "是否互相关注")
private Integer mutualAttention;
@ApiModelProperty(value = "作品数")
private Integer dynamicCount;
@ApiModelProperty(value = "用户信息")
private ForumCountDO countDO;
}
package com.mmc.csf.release.entity.gambit;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/9/15 14:26
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ForumAttentionDO {
private Integer id;
@ApiModelProperty(value = "被关注的用户")
private Integer userAccountId;
@ApiModelProperty(value = "关注用户")
private Integer attentionUserAccountId;
@ApiModelProperty(value = "关注状态")
private Boolean status;
@ApiModelProperty(value = "是否相互关注")
private Boolean mutualAttention;
private String createTime;
private String updateTime;
}
package com.mmc.csf.release.entity.gambit;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.gambit.dto.ForumGambitDTO;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/13 16:06
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ForumGambitDO {
private Integer id;
@ApiModelProperty(value = "话题名称",example = "深圳暴雨")
@NotBlank(message = "话题不能为空",groups = {Create.class, Update.class})
private String gambitName;
@ApiModelProperty(value = "话题图标",example = "小程序给默认值")
@NotBlank(message = "话题图标不能为空",groups = {Create.class,Update.class})
private String gambitIcon;
@ApiModelProperty(value = "话题封面",example = "小程序给默认封面")
@NotBlank(message = "话题封面不能为空",groups = {Create.class,Update.class})
private String gambitCover;
@ApiModelProperty(value = "话题属性",example = "话题属性 1普通 2热门 3推荐 (小程序默认普通:1)")
@NotNull(message = "话题属性不能为空")
private Integer gambitProperty;
@ApiModelProperty(value = "发贴用户",example = "1",hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "贴子数",example = "11")
private Integer postCount;
@ApiModelProperty(value = "话题参与讨论数量",example = "1")
private Integer discussionCount;
public ForumGambitDO(ForumGambitVO forumGambitVO){
this.gambitName= forumGambitVO.getGambitName();
this.gambitIcon= forumGambitVO.getGambitIcon();
this.gambitCover= forumGambitVO.getGambitCover();
this.gambitProperty= forumGambitVO.getGambitProperty();
this.userAccountId= forumGambitVO.getUserAccountId();
this.id=forumGambitVO.getId();
}
public ForumGambitDO(ForumDynamicDO forumDynamicDO){
this.gambitIcon=forumDynamicDO.getGambitIcon();
this.gambitCover=forumDynamicDO.getGambitCover();
this.userAccountId= forumDynamicDO.getUserAccountId();
}
public ForumGambitDTO buildForumGambitDTO(){
return ForumGambitDTO.builder()
.id(this.id)
.gambitName(this.gambitName)
.gambitIcon(this.gambitIcon)
.gambitCover(this.gambitCover)
.gambitProperty(this.gambitProperty)
.postCount(this.postCount)
.userAccountId(this.userAccountId)
.discussionCount(this.discussionCount)
.build();
}
}
......@@ -177,6 +177,8 @@ public class RequirementsInfoDO implements Serializable {
@ApiModelProperty(value = "发布者openid")
private String openid;
public RequirementsInfoVO buildRequirementsInfoVO() {
return RequirementsInfoVO.builder().id(this.id).requirementTypeId(this.requirementTypeId).userAccountId(this.userAccountId).publishName(this.publishName)
.publishPhone(this.publishPhone).requireDescription(this.requireDescription).solved(this.solved).taskStartTime(this.taskStartTime).taskEndTime(this.taskEndTime)
......@@ -208,6 +210,7 @@ public class RequirementsInfoDO implements Serializable {
.pilotCertificationUserId(this.pilotCertificationUserId)
.preemptPhone(this.preemptPhone)
.pilotCertificationId(this.pilotCertificationId)
.createTime(this.createTime)
.build();
}
......
......@@ -3,7 +3,7 @@ package com.mmc.csf.release.mq.listener;
import com.alibaba.fastjson.JSONObject;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.mmc.csf.release.constant.RabbitmqConstant;
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.entity.forum.ForumDynamicDO;
import com.mmc.csf.user.vo.UserAccountVO;
......@@ -20,28 +20,30 @@ import java.util.stream.Collectors;
/**
* @Author LW
*
* @date 2023/6/29 10:35 概要:
*/
@Slf4j
@Component
public class MqConsumer {
@Autowired DynamicDAO dynamicDAO;
@Autowired LikeDAO likeDAO;
@Autowired
DynamicDao dynamicDAO;
@Autowired
LikeDAO likeDAO;
@RabbitListener(queues = RabbitmqConstant.USER_INFO_UPDATE_FANOUT_FORUM_QUEUE)
public void subscribeFanoutQueue(@Payload String userAccount, Channel channel, Message message) {
UserAccountVO userAccountVO = JSONObject.parseObject(userAccount, UserAccountVO.class);
log.info("用户信息更改====>论坛消费者消费开始:用户信息是---->{}", userAccount);
if (userAccountVO.getDeleted() != null && userAccountVO.getDeleted().equals(1)) {
// 删除关于该用户的所有动态及评论和点赞信息
List<ForumDynamicDO> forumDynamicList = dynamicDAO.listDynamicByUserId(userAccountVO.getId());
if (CollectionUtils.isNotEmpty(forumDynamicList)) {
List<Integer> dynamicIds =
forumDynamicList.stream().map(ForumDynamicDO::getId).collect(Collectors.toList());
dynamicDAO.batchDeleteDynamic(dynamicIds);
}
@RabbitListener(queues = RabbitmqConstant.USER_INFO_UPDATE_FANOUT_FORUM_QUEUE)
public void subscribeFanoutQueue(@Payload String userAccount, Channel channel, Message message) {
UserAccountVO userAccountVO = JSONObject.parseObject(userAccount, UserAccountVO.class);
log.info("用户信息更改====>论坛消费者消费开始:用户信息是---->{}", userAccount);
if (userAccountVO.getDeleted() != null && userAccountVO.getDeleted().equals(1)) {
// 删除关于该用户的所有动态及评论和点赞信息
List<ForumDynamicDO> forumDynamicList = dynamicDAO.listDynamicByUserId(userAccountVO.getId());
if (CollectionUtils.isNotEmpty(forumDynamicList)) {
List<Integer> dynamicIds =
forumDynamicList.stream().map(ForumDynamicDO::getId).collect(Collectors.toList());
dynamicDAO.batchDeleteDynamic(dynamicIds);
}
}
log.info("用户信息更改====>论坛消费者消费结束。");
}
log.info("用户信息更改====>论坛消费者消费结束。");
}
}
......@@ -6,6 +6,10 @@ import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.forum.vo.ReplyToAReviewVO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
import com.mmc.csf.release.gambit.qo.PostingLeaderboardQO;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
/**
* @Author LW 测试合并
......@@ -56,4 +60,12 @@ public interface DynamicService {
PageResult dynamicList(
Integer pageNo, Integer pageSize, Integer userAccountId, HttpServletRequest request);
ResultBody recentNewsList(Integer userAccountId);
PageResult appGambitList(ForumGambitQO forumGambitQO);
ResultBody reviewLikes(Integer id, Integer userAccountId, Boolean status);
PageResult postingLeaderboard(PostingLeaderboardQO postingLeaderboardQO);
}
......@@ -20,7 +20,7 @@ public interface FlyerTrainingService {
* @param registrationVO 注册信息
* @return {@link ResultBody}
*/
ResultBody pilotRegistration(RegistrationVO registrationVO,Integer userAccount);
ResultBody pilotRegistration(RegistrationVO registrationVO, Integer userAccount);
/**
* 获取无人机飞行员执照
......@@ -56,34 +56,41 @@ public interface FlyerTrainingService {
/**
* 添加课程
*
* @param curriculumInfoVO
*/
Integer addCurriculum(CurriculumInfoVO curriculumInfoVO);
/**
* 修改课程
*
* @param curriculumInfoVO
*/
Integer updateCurriculum(CurriculumInfoVO curriculumInfoVO);
/**
* 删除课程
*
* @param id
*/
Integer removeCurriculum(Integer id);
/**
* 课程列表
*
* @return
*/
ResultBody treeCurriculumSkill();
/**
* 根据分类列表查询课程
*
* @param categoriesId
* @return
*/
List<CurriculumInfoVO> feignCurriculumInfoList(Integer categoriesId);
int feignCountCurriculumInfo(Integer categoriesId);
Integer getCurriculumCount();
}
package com.mmc.csf.release.service.data;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.data.dto.ReleaseReportDTO;
/**
* @Author LW
* @date 2023/9/18 10:43
* 概要:
*/
public interface ReleaseReportService {
ResultBody<ReleaseReportDTO> getReleaseReportData();
}
package com.mmc.csf.release.service.data.impl;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.data.dto.ReleaseReportDTO;
import com.mmc.csf.release.dao.DynamicDao;
import com.mmc.csf.release.dao.RequirementsDao;
import com.mmc.csf.release.service.data.ReleaseReportService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
/**
* @Author LW
* @date 2023/9/18 10:44
* 概要:
*/
@Service
public class ReleaseReportServiceImpl implements ReleaseReportService {
@Resource
private RequirementsDao requirementsDao;
@Resource
private DynamicDao dynamicDao;
@Override
public ResultBody<ReleaseReportDTO> getReleaseReportData() {
ReleaseReportDTO releaseReportDTO = new ReleaseReportDTO();
// 获取订单发布数量总数
int orderCount = requirementsDao.getOrderReleaseCount();
releaseReportDTO.setOrderReleaseCount(orderCount);
// 获取帖子发布总数
int dynamicCount = dynamicDao.getDynamicCount();
releaseReportDTO.setPostsReleaseCount(dynamicCount);
// 获取话题发布总数
int gambitReleaseCount = dynamicDao.getGambitReleaseCount();
releaseReportDTO.setTopicReleaseCount(gambitReleaseCount);
// 信息发布总数
releaseReportDTO.setReleaseCount(orderCount + dynamicCount + gambitReleaseCount);
// 获取订单金额
BigDecimal serviceOrderAmount = requirementsDao.getServiceOrderAmount();
releaseReportDTO.setServiceOrderAmount(serviceOrderAmount);
return ResultBody.success(releaseReportDTO);
}
}
package com.mmc.csf.release.service.gambit;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.gambit.qo.*;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
/**
* @Author small
* @Date 2023/9/13 15:30
* @Version 1.0
*/
public interface GambitService {
ResultBody insertGambit(ForumGambitVO forumGambitVO);
ResultBody updateGambit(ForumGambitVO forumGambitVO);
ResultBody deleteGambit(Integer id);
PageResult listGambit(ForumGambitQO forumGambitQO);
ResultBody attention(Boolean status, Integer userAccountId,Integer attentionUserAccountId);
ResultBody transPond(Integer dynamicId, Integer userAccountId);
ResultBody commentLikes(Integer userAccountId, Integer dynamicId);
ResultBody appRemove(Integer userAccountId, Integer dynamicId);
PageResult appGambitList(TopicDynamicsQO topicDynamicsQO);
PageResult allCommentList(AllReviewQO allReviewQO);
PageResult replyList(AppReplyQO allReviewQO);
PageResult userDynamicList(UserTopicDynamicsQO userTopicDynamicsQO);
PageResult liked(UserTopicDynamicsQO userTopicDynamicsQO);
PageResult myInterestList(UserTopicDynamicsQO userTopicDynamicsQO);
PageResult myFansList(UserTopicDynamicsQO userTopicDynamicsQO);
ResultBody userMessage(Integer userAccountId);
}
......@@ -19,11 +19,14 @@ import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.release.auth.qo.UserAccountQO;
import com.mmc.csf.release.constant.TokenConstant;
import com.mmc.csf.release.dao.BackstageForumDao;
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.gambit.GambitDao;
import com.mmc.csf.release.entity.forum.DynamicGambitDO;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.forum.ForumLikeDO;
import com.mmc.csf.release.entity.forum.ForumResourceDO;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.forum.dto.DynamicInfoDTO;
import com.mmc.csf.release.forum.qo.DynamicQO;
......@@ -39,11 +42,13 @@ public class BackstageForumServiceImpl implements BackstageForumService {
@Autowired
BackstageForumDao backstageForumDao;
@Autowired
DynamicDAO dynamicDAO;
DynamicDao dynamicDao;
@Autowired
UserAppApi userAppApi;
@Autowired
LikeDAO likeDAO;
@Autowired
private GambitDao gambitDao;
@Override
public PageResult listDynamic(DynamicQO dynamic, HttpServletRequest request) {
......@@ -73,11 +78,21 @@ public class BackstageForumServiceImpl implements BackstageForumService {
// 获取动态信息
List<ForumDynamicDO> dynamicList =
backstageForumDao.listDynamicInfo(userIds, itemIndex, dynamic.getPageSize());
for (ForumDynamicDO forumDynamicDO : dynamicList) {
Integer id = forumDynamicDO.getDynamicId();
ArrayList<String> list = new ArrayList<>();
List<ForumGambitDO> gambitDOS = dynamicDao.selectGambit(id);
for (ForumGambitDO gambitDO : gambitDOS) {
list.add(gambitDO.getGambitName());
}
forumDynamicDO.setGambitName(list);
}
// 动态id集合
List<Integer> ids =
dynamicList.stream().map(ForumDynamicDO::getId).collect(Collectors.toList());
// 根据id集合查询图片
List<ForumResourceDO> forumImageList = dynamicDAO.listDynamicPicture(ids);
List<ForumResourceDO> forumImageList = dynamicDao.listDynamicPicture(ids);
Map<Integer, List<ForumResourceDO>> ImageMap =
forumImageList.stream().collect(Collectors.groupingBy(ForumResourceDO::getDynamicId));
// 获取用户信息
......@@ -122,13 +137,13 @@ public class BackstageForumServiceImpl implements BackstageForumService {
@Override
public ResultBody deleteDynamic(Integer dynamicId) {
dynamicDAO.deleteDynamic(dynamicId);
dynamicDao.deleteDynamic(dynamicId);
return ResultBody.success();
}
@Override
public ResultBody hiddenDynamic(Integer dynamicId) {
dynamicDAO.hiddenDynamic(dynamicId);
dynamicDao.hiddenDynamic(dynamicId);
return ResultBody.success();
}
......@@ -162,9 +177,35 @@ public class BackstageForumServiceImpl implements BackstageForumService {
@Override
public ResultBody checkDynamic(Integer dynamicId, Boolean status) {
if (status) {
dynamicDAO.updateCheckDynamic(dynamicId, 1);
//审核通过
dynamicDao.updateCheckDynamic(dynamicId, 1);
gambitDao.updateDynamicGambit(dynamicId,1);
List<DynamicGambitDO> gambitDOList= gambitDao.selectGambitDynamic(dynamicId);
for (DynamicGambitDO gambitDO : gambitDOList) {
Integer checkStatus = gambitDO.getCheckStatus();
if (checkStatus!=1){
gambitDO.setCheckStatus(1);
gambitDao.updateForumGambit(gambitDO);
}
dynamicDao.updateDynamic(gambitDO.getGambitId());
}
List<DynamicGambitDO> ga= gambitDao.selectGambitList();
List<ForumGambitDO> gambitDOS= gambitDao.selectCountList();
for (ForumGambitDO gambitDO : gambitDOS) {
long count = ga.stream().filter(u -> u.getGambitId().equals(gambitDO.getId())).count();
dynamicDao.updateDiscussionCount(gambitDO.getId(),count);
}
} else {
dynamicDAO.updateCheckDynamic(dynamicId, 2);
dynamicDao.updateCheckDynamic(dynamicId, 2);
List<DynamicGambitDO> gambitDOList= gambitDao.selectGambitDynamic(dynamicId);
for (DynamicGambitDO gambitDO : gambitDOList) {
Integer checkStatus = gambitDO.getCheckStatus();
if (checkStatus!=1){
gambitDO.setCheckStatus(2);
gambitDao.dedateForumGambitTrue(gambitDO.getGambitId());
}
}
gambitDao.deleteForumGambit(dynamicId);
}
return ResultBody.success();
}
......
......@@ -43,7 +43,7 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
private PmsAppApi pmsAppApi;
@Override
public ResultBody pilotRegistration(RegistrationVO registrationVO,Integer userAccountId) {
public ResultBody pilotRegistration(RegistrationVO registrationVO, Integer userAccountId) {
PilotRegistrationDO pilotRegistrationDO = new PilotRegistrationDO(registrationVO);
pilotRegistrationDO.setApplyUserId(userAccountId);
if (CollectionUtils.isNotEmpty(registrationVO.getIndustryAppAuth())) {
......@@ -101,12 +101,12 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
List<CurriculumInfoDO> curriculumList = flyerTrainingDao.listPageCurriculumInfo(curriculumQo);
List<AllCategoryDTO> allCategoryDTOS = pmsAppApi.feignQqueryCategoryInfoByType(3);
List<CurriculumInfoVO> list = curriculumList.stream().map(CurriculumInfoDO::buildCurriculumInfoVO).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(allCategoryDTOS)){
if (CollectionUtils.isNotEmpty(allCategoryDTOS)) {
list.stream().forEach(curriculumInfoVO -> {
allCategoryDTOS.stream().forEach(directory -> {
if (CollectionUtils.isNotEmpty(directory.getCategoriesInfoListDTO())){
if (CollectionUtils.isNotEmpty(directory.getCategoriesInfoListDTO())) {
directory.getCategoriesInfoListDTO().stream().forEach(category -> {
if (curriculumInfoVO.getCategoriesId().equals(category.getId())){
if (curriculumInfoVO.getCategoriesId().equals(category.getId())) {
curriculumInfoVO.setDirectoryName(directory.getName());
curriculumInfoVO.setCategoriesName(category.getName());
}
......@@ -134,25 +134,25 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
@Override
public ResultBody curriculumDetails(Integer id) {
CurriculumInfoDO curriculumInfoDO = flyerTrainingDao.curriculumDetails(id);
if (curriculumInfoDO == null) {
return ResultBody.error("课程不存在或已下架!");
}else {
CurriculumInfoVO curriculumInfoVO = curriculumInfoDO.buildCurriculumInfoVO();
List<AllCategoryDTO> allCategoryDTOS = pmsAppApi.feignQqueryCategoryInfoByType(3);
for (AllCategoryDTO directory : allCategoryDTOS) {
if (CollectionUtils.isNotEmpty(directory.getCategoriesInfoListDTO())){
for (CategoriesInfoListDTO category : directory.getCategoriesInfoListDTO()) {
if (curriculumInfoVO.getCategoriesId().equals(category.getId())){
curriculumInfoVO.setDirectoryName(directory.getName());
curriculumInfoVO.setCategoriesName(category.getName());
break;
}
}
}
}
return ResultBody.success(curriculumInfoVO);
}
CurriculumInfoDO curriculumInfoDO = flyerTrainingDao.curriculumDetails(id);
if (curriculumInfoDO == null) {
return ResultBody.error("课程不存在或已下架!");
} else {
CurriculumInfoVO curriculumInfoVO = curriculumInfoDO.buildCurriculumInfoVO();
List<AllCategoryDTO> allCategoryDTOS = pmsAppApi.feignQqueryCategoryInfoByType(3);
for (AllCategoryDTO directory : allCategoryDTOS) {
if (CollectionUtils.isNotEmpty(directory.getCategoriesInfoListDTO())) {
for (CategoriesInfoListDTO category : directory.getCategoriesInfoListDTO()) {
if (curriculumInfoVO.getCategoriesId().equals(category.getId())) {
curriculumInfoVO.setDirectoryName(directory.getName());
curriculumInfoVO.setCategoriesName(category.getName());
break;
}
}
}
}
return ResultBody.success(curriculumInfoVO);
}
}
@Override
......@@ -203,4 +203,9 @@ public class FlyerTrainingServiceImpl implements FlyerTrainingService {
int count = flyerTrainingDao.countCurriculumInfo(categoriesId);
return count;
}
@Override
public Integer getCurriculumCount() {
return flyerTrainingDao.getCurriculumCount();
}
}
......@@ -172,15 +172,15 @@ public class RequirementsServiceImpl implements RequirementsService {
public ResultBody appPublishList() {
List<RequirementsInfoDO> requirementsInfoDOS = requirementsDao.appPublishList();
//远程调用服务一级分类
List<IndustryTypeDTO> industryTypeDTOS = listIndustry();
// List<IndustryTypeDTO> industryTypeDTOS = listIndustry();
List<RequirementsInfoVO> collect = requirementsInfoDOS.stream().map(RequirementsInfoDO::buildRequirementsInfoVO).collect(Collectors.toList());
for (RequirementsInfoVO requirementsInfoVO : collect) {
/* for (RequirementsInfoVO requirementsInfoVO : collect) {
for (IndustryTypeDTO industryTypeDTO : industryTypeDTOS) {
if (requirementsInfoVO.getServiceId() != null && requirementsInfoVO.getServiceId().equals(industryTypeDTO.getId())) {
requirementsInfoVO.setServiceName(industryTypeDTO.getTypeName());
}
}
}
}*/
return ResultBody.success(collect);
}
......
<?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.data.ReleaseReportDao">
</mapper>
\ No newline at end of file
......@@ -8,7 +8,8 @@
<id column="id" property="id"/>
<result column="pid" property="pid"/>
<result column="skills_name" property="skillsName"/>
<collection property="childrenSkills" ofType="com.mmc.csf.release.entity.curriculum.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"/>
<result column="childIdPid" property="pid"/>
<result column="childIdSkillsName" property="skillsName"/>
......@@ -24,9 +25,12 @@
#{uavLicenseLevelTwo}, #{uavLicenseLevelThree}, #{industryAppAuth}, #{remark})
</insert>
<insert id="addCurriculum" keyProperty="id" useGeneratedKeys="true" parameterType="com.mmc.csf.release.entity.curriculum.CurriculumInfoDO">
INSERT INTO `curriculum_info`(`curriculum_name`, `supplier_id`, `curriculum_desc`, `drone_pilot_license_id`, `flight_skills`, `categories_id`, `surface_url`, `video_url`, `detail_content`)
VALUES (#{curriculumName},#{supplierId},#{curriculumDesc},#{dronePilotLicenseId},#{flightSkills},#{categoriesId},#{surfaceUrl},#{videoUrl},#{detailContent});
<insert id="addCurriculum" keyProperty="id" useGeneratedKeys="true"
parameterType="com.mmc.csf.release.entity.curriculum.CurriculumInfoDO">
INSERT INTO `curriculum_info`(`curriculum_name`, `supplier_id`, `curriculum_desc`, `drone_pilot_license_id`,
`flight_skills`, `categories_id`, `surface_url`, `video_url`, `detail_content`)
VALUES (#{curriculumName}, #{supplierId}, #{curriculumDesc}, #{dronePilotLicenseId}, #{flightSkills},
#{categoriesId}, #{surfaceUrl}, #{videoUrl}, #{detailContent});
</insert>
<update id="updateCurriculum" parameterType="com.mmc.csf.release.entity.curriculum.CurriculumInfoDO">
......@@ -63,7 +67,9 @@
</update>
<update id="removeCurriculum">
update curriculum_info set is_deleted = 1 where id = #{id}
update curriculum_info
set is_deleted = 1
where id = #{id}
</update>
<select id="selectAllLicenses" resultType="com.mmc.csf.release.flyer.vo.DronePilotLicenseVO">
select id,
......@@ -165,7 +171,7 @@
ci.supplier_id,
ci.curriculum_price,
ci.curriculum_desc,
ci.is_free free,
ci.is_free free,
ci.drone_pilot_license_id,
ci.flight_skills,
ci.detail_content,
......@@ -178,22 +184,24 @@
</select>
<select id="treeCurriculumSkill" resultMap="flightSkillsResultMap">
SELECT
fs0.id,
fs0.pid,
fs0.skills_name,
fs1.id as childId,
fs1.pid as childIdPid,
fs1.skills_name as childIdSkillsName
FROM
flight_skills fs0
INNER JOIN flight_skills fs1 ON fs0.id = fs1.pid
SELECT fs0.id,
fs0.pid,
fs0.skills_name,
fs1.id as childId,
fs1.pid as childIdPid,
fs1.skills_name as childIdSkillsName
FROM flight_skills fs0
INNER JOIN flight_skills fs1 ON fs0.id = fs1.pid
</select>
<select id="countCurriculumInfo" resultType="java.lang.Integer">
SELECT
count(*)
SELECT count(*)
from curriculum_info
where categories_id = #{categoriesId}
and is_deleted = 0
and is_deleted = 0
</select>
<select id="getCurriculumCount" resultType="java.lang.Integer">
select count(*)
from curriculum_info
where is_deleted = 0
</select>
</mapper>
......@@ -17,7 +17,7 @@
</where>
</select>
<select id="listDynamicInfo" resultType="com.mmc.csf.release.entity.forum.ForumDynamicDO">
select id,user_account_id,description,is_deleted as deleted,create_time,check_status from forum_dynamic
select id,user_account_id,description,is_deleted as deleted,create_time,check_status,id AS dynamicId from forum_dynamic
<where>
root_path is null
<if test="ids != null">
......@@ -30,4 +30,4 @@
order by create_time desc
limit #{pageNo},#{pageSize}
</select>
</mapper>
\ No newline at end of file
</mapper>
......@@ -2,7 +2,55 @@
<!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.DynamicDAO">
<mapper namespace="com.mmc.csf.release.dao.DynamicDao">
<resultMap id="recentNewsListMap" type="com.mmc.csf.release.entity.forum.ForumDynamicUserDO">
<result property="id" column="id" />
<result property="version" column="version"/>
<result property="userAccountId" column="user_account_id"/>
<result property="description" column="description"/>
<result property="location" column="location"/>
<result property="lat" column="lat"/>
<result property="lon" column="lon"/>
<result property="likesCount" column="likes_count"/>
<result property="commentsCount" column="comments_count"/>
<result property="checkStatus" column="create_time"/>
<collection property="forumResourceDOList" ofType="com.mmc.csf.release.entity.forum.ForumResourceDO"
select="selectResourceList" column="{dynamicId=id}">
</collection>
<collection property="forumGambitDOList" ofType="com.mmc.csf.release.entity.gambit.ForumGambitDO"
select="selectGambitList" column="{dynamicId=id}">
</collection>
</resultMap>
<select id="selectResourceList" resultType="com.mmc.csf.release.entity.forum.ForumResourceDO">
select dynamic_id,resource_url,create_time,update_time,`type` from forum_resource where dynamic_id=#{dynamicId}
</select>
<select id="selectGambitList" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO">
SELECT
fdg.dynamic_id,
fdg.gambit_id,
fg.gambit_name
FROM
forum_dynamic_gambit fdg
LEFT JOIN forum_gambit fg ON fdg.gambit_id = fg.id
WHERE
fdg.dynamic_id = #{dynamicId}
</select>
<select id="getDynamicCount" resultType="java.lang.Integer">
select count(*)
from forum_dynamic
where root_path is null
</select>
<select id="getGambitReleaseCount" resultType="java.lang.Integer">
select count(*)
from forum_gambit
</select>
<insert id="insertPicture">
insert into forum_image(dynamic_id, url)
......@@ -17,6 +65,168 @@
INSERT INTO forum_dynamic(user_account_id, description, location, lat, lon, root_path, check_status)
VALUES (#{userAccountId}, #{description}, #{location}, #{lat}, #{lon}, #{rootPath}, #{checkStatus})
</insert>
<insert id="insertforumGambit" parameterType="com.mmc.csf.release.entity.gambit.ForumGambitDO" keyProperty="id" useGeneratedKeys="true">
insert into forum_gambit(gambit_name,gambit_icon,gambit_cover,
user_account_id,create_time,update_time)
values (#{gambitName},#{gambitIcon},#{gambitCover},
#{userAccountId},NOW(),NOW())
</insert>
<insert id="insertDynamicGambit" parameterType="com.mmc.csf.release.entity.forum.DynamicGambitDO">
insert into forum_dynamic_gambit(dynamic_id,gambit_id,user_account_id,create_time,update_time)
values (#{dynamicId},#{gambitId},#{userAccountId},NOW(),NOW())
</insert>
<update id="updateDynamic" >
update forum_gambit
set post_count=post_count+1,
update_time=NOW()
where id=#{gambitId}
</update>
<update id="updateDynamicNO">
update forum_gambit
set post_count=post_count-1,
update_time=NOW()
where id=#{gambitId}
</update>
<update id="updateDiscussionCount">
update forum_gambit
set discussion_count=#{count},
update_time=NOW()
where id=#{gambitId}
</update>
<update id="forumCount">
update forum_count
set like_count=like_count+1,
update_time=NOW()
where user_account_id=#{userAccountId}
</update>
<update id="forumCountNO">
update forum_count
set like_count=like_count-1,
update_time=NOW()
where user_account_id=#{userAccountId}
</update>
<update id="updateLikeCountAdd">
update forum_review
set like_count=like_count+1,
update_time=NOW()
where id=#{id}
</update>
<update id="subtractLikeCount">
update forum_review
set like_count=like_count-1,
update_time=NOW()
where id=#{id}
</update>
<delete id="deleteReview">
delete from forum_review_likes where user_account_id=#{userAccountId} and review_id=#{id}
</delete>
<select id="postingLeaderboardCount" resultType="com.mmc.csf.release.gambit.dto.PostingLeaderboardDTO">
SELECT
user_account_id,
count( user_account_id ) AS number
FROM
forum_dynamic
WHERE
is_deleted = 0
AND check_status = 1
GROUP BY
user_account_id
HAVING
count( user_account_id )>= 1
ORDER BY
number DESC
</select>
<insert id="insertReviewLikes" >
insert into forum_review_likes(user_account_id,review_id,create_time,update_time) values(#{userAccountId},#{id},NOW(),NOW())
</insert>
<insert id="insertForumCount" parameterType="java.lang.Integer" >
insert into forum_count(user_account_id,create_time,update_time)
values (#{userAccountId},NOW(),NOW())
</insert>
<select id="selectForumCount" parameterType="java.lang.Integer" resultType="java.lang.Integer">
select count(*) from forum_count where user_account_id=#{userAccountId}
</select>
<select id="recentNewsList" resultMap="recentNewsListMap">
SELECT DISTINCT
fd.id,
fd.version,
fd.user_account_id,
fd.description,
fd.location,
fd.lat,
fd.lon,
fd.likes_count,
fd.comments_count
FROM
forum_dynamic fd
LEFT JOIN forum_dynamic_gambit fdg ON fd.id = fdg.dynamic_id
WHERE
fd.check_status = 1
<if test="userAccountId!=null">
and fd.user_account_id=#{userAccountId}
</if>
ORDER BY
fd.id DESC
LIMIT 5
</select>
<select id="appGambitList" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO"
parameterType="com.mmc.csf.release.gambit.qo.ForumGambitQO">
select id,gambit_name,gambit_icon,gambit_cover,post_count,gambit_property,user_account_id,discussion_count
from forum_gambit where check_status=1
<if test="gambitName!='' and gambitName!=null">
and gambit_name like concat ('%',#{gambitName},'%')
</if>
<if test="gambitProperty!=null">
and gambit_property=#{gambitProperty}
</if>
ORDER BY gambit_property desc,create_time DESC
limit #{pageNo}, #{pageSize}
</select>
<select id="appGambitListCount" resultType="java.lang.Integer">
select count(*) from forum_gambit where check_status=1
<if test="gambitName!='' and gambitName!=null">
and gambit_name like concat ('%',#{gambitName},'%')
</if>
<if test="gambitProperty!=null">
and gambit_property=#{gambitProperty}
</if>
ORDER BY gambit_property,create_time DESC
</select>
<select id="selectGambit" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO">
SELECT DISTINCT
gf.id,
gf.gambit_name
FROM
forum_dynamic_gambit fdg
INNER JOIN forum_gambit gf
WHERE
fdg.gambit_id = gf.id
AND fdg.check_status = 1
AND fdg.dynamic_id = #{id}
</select>
<insert id="insertforumFirstLevelReview" parameterType="com.mmc.csf.release.entity.forum.ForumFirstLevelReviewDO">
insert into forum_review(user_account_id,dynamic_id,content,review_id,pid,create_time,update_time)
values(#{userAccountId},#{dynamicId},#{content},#{reviewId},#{pid},NOW(),NOW())
</insert>
<insert id="insertResource">
insert into forum_resource(dynamic_id, resource_url, `type`)
values (#{dynamicId}, #{url}, #{type})
......@@ -100,7 +310,8 @@
lon,
likes_count,
comments_count,
create_time
create_time,
id AS dynamicId
from forum_dynamic
where is_deleted = 0
and root_path is null
......@@ -217,4 +428,4 @@
ORDER BY
create_time DESC
</select>
</mapper>
\ No newline at end of file
</mapper>
......@@ -58,7 +58,8 @@
</insert>
<update id="updateRequirementsAmountUpdate" parameterType="com.mmc.csf.release.entity.requirements.RequirementsAmountUpdateDO">
<update id="updateRequirementsAmountUpdate"
parameterType="com.mmc.csf.release.entity.requirements.RequirementsAmountUpdateDO">
update requirements_amount_update
<set>
<if test=" orderAmount != null ">
......@@ -93,13 +94,26 @@
<select id="findUpdateAmount" resultType="com.mmc.csf.release.entity.requirements.RequirementsAmountUpdateDO">
select requirements_info_id,order_amount,update_order_amount,return_cash_amount,return_we_chat,return_salary_amount,
cash_amount,cash_amount,we_chat,salary_amount,wechat_pay_order_number from
requirements_amount_update where requirements_info_id=#{requirementsInfoId}
select requirements_info_id,
order_amount,
update_order_amount,
return_cash_amount,
return_we_chat,
return_salary_amount,
cash_amount,
cash_amount,
we_chat,
salary_amount,
wechat_pay_order_number
from requirements_amount_update
where requirements_info_id = #{requirementsInfoId}
</select>
<select id="selectInfo" resultType="java.lang.Integer">
select count(*) from requirements_info where service_flow_id =5 and id=#{id}
select count(*)
from requirements_info
where service_flow_id = 5
and id = #{id}
</select>
<insert id="insertPlatformOrderEarnings">
......@@ -111,12 +125,14 @@
<insert id="customerServiceIntervention" parameterType="com.mmc.csf.infomation.vo.LiabilityProblemVO">
INSERT INTO customer_service_intervention(requirements_info_id, create_time, update_time, user_account_id,
decision_content,duty)
values (#{requirementsInfoId}, NOW(), NOW(), #{userAccountId}, #{decisionContent},#{duty})
decision_content, duty)
values (#{requirementsInfoId}, NOW(), NOW(), #{userAccountId}, #{decisionContent}, #{duty})
</insert>
<select id="selectCustomer" resultType="java.lang.Integer">
select count(*) from customer_service_intervention where requirements_info_id=#{requirementsInfoId}
select count(*)
from customer_service_intervention
where requirements_info_id = #{requirementsInfoId}
</select>
<update id="updatePlatformOrderEarnings">
......@@ -456,7 +472,9 @@
ra.order_amount,
ra.update_order_amount,
ri.insurance,
ri.publish
ri.publish,
ri.service_name,
ri.create_time
FROM requirements_info ri
left join requirements_amount ra
on ra.requirements_info_id = ri.id and ri.user_account_id = ra.user_account_id
......@@ -651,8 +669,10 @@
VALUES (#{orderAmount}, #{requirementsInfoId}, #{remark}, NOW(), NOW());
</insert>
<select id="selectSettleAccountEs" resultType="java.lang.Integer" >
select count(*) from service_settle_accounts where requirements_info_id=#{requirementsInfoId}
<select id="selectSettleAccountEs" resultType="java.lang.Integer">
select count(*)
from service_settle_accounts
where requirements_info_id = #{requirementsInfoId}
</select>
......@@ -928,7 +948,7 @@
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
INNER JOIN requirements_service rs ON ri.id = rs.requirements_info_id
WHERE rs.requirements_info_id = #{requirementsInfoId}
WHERE rs.requirements_info_id = #{requirementsInfoId}
</select>
<select id="publisherCancel" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
......@@ -1028,7 +1048,7 @@
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
WHERE ri.id = #{requirementsInfoId}
WHERE ri.id = #{requirementsInfoId}
</select>
......@@ -1497,6 +1517,20 @@
</update>
<select id="findAmountUpdate" resultType="java.lang.Integer">
select count(*) from requirements_amount_update where requirements_info_id=#{requirementsInfoId}
select count(*)
from requirements_amount_update
where requirements_info_id = #{requirementsInfoId}
</select>
<select id="getOrderReleaseCount" resultType="java.lang.Integer">
select count(*)
from requirements_info
where service_flow_id <![CDATA[<>]]> 7
and is_deleted = 0
</select>
<select id="getServiceOrderAmount" resultType="java.math.BigDecimal">
SELECT sum(ra.total_amount)
FROM requirements_info ri
INNER JOIN requirements_amount ra ON ri.id = ra.requirements_info_id
WHERE ri.service_flow_id <![CDATA[<>]]> 7
</select>
</mapper>
......@@ -38,3 +38,6 @@ data-filter:
- /release/licence/background/appListOrgPage
- /release/licence/background/webListOrgPage
- /release/requirements/appPublishList
- /release/dynamic/recentNews
- /release/curriculum/getCurriculumCount
- /release/report/getReleaseReportData
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论