提交 00c0f210 作者: xiaowang

信息发布数据看板

上级 4536da3e
package com.mmc.csf.data.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @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;
}
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("/release/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();
}
}
......@@ -13,7 +13,7 @@ import java.util.List;
* @date 2023/5/15 10:29 概要:动态信息数据访问层
*/
@Mapper
public interface DynamicDAO {
public interface DynamicDao {
/**
* 插入动态
......@@ -146,4 +146,9 @@ public interface DynamicDAO {
List<ForumDynamicDO> firstTwoItemsComment(List<Integer> ids);
void updateCheckDynamic(Integer dynamicId, Integer status);
int getDynamicCount();
int getGambitReleaseCount();
}
......@@ -212,4 +212,7 @@ public interface RequirementsDao {
void customerServiceIntervention(LiabilityProblemVO liabilityProblemVO);
int selectCustomer(Integer requirementsInfoId);
int getOrderReleaseCount();
}
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 {
}
......@@ -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,29 @@ 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("用户信息更改====>论坛消费者消费结束。");
}
}
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;
/**
* @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);
return ResultBody.success(releaseReportDTO);
}
}
......@@ -6,7 +6,7 @@ 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.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.forum.ForumLikeDO;
......@@ -37,7 +37,7 @@ public class BackstageForumServiceImpl implements BackstageForumService {
@Autowired
BackstageForumDao backstageForumDao;
@Autowired
DynamicDAO dynamicDAO;
DynamicDao dynamicDAO;
@Autowired
UserAppApi userAppApi;
@Autowired
......
......@@ -6,7 +6,7 @@ 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.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.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.forum.ForumResourceDO;
......@@ -39,7 +39,7 @@ import java.util.stream.Collectors;
public class DynamicServiceImpl implements DynamicService {
@Resource
private DynamicDAO dynamicDAO;
private DynamicDao dynamicDAO;
@Resource
private LikeDAO likeDAO;
@Resource
......
<?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
......@@ -2,7 +2,7 @@
<!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">
<insert id="insertPicture">
insert into forum_image(dynamic_id, url)
......@@ -217,4 +217,13 @@
ORDER BY
create_time DESC
</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>
</mapper>
\ No newline at end of file
......@@ -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">
......@@ -652,8 +668,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>
......@@ -929,7 +947,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">
......@@ -1029,7 +1047,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>
......@@ -1498,6 +1516,12 @@
</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
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论