Commit 368ca1e6 authored by jiaorz's avatar jiaorz

添加积分消息队列接口

parent 74295ba6
package com.github.wxiaoqi.security.admin.rpc.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.biz.*;
import com.github.wxiaoqi.security.admin.biz.AppUserBiz;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz;
import com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz;
import com.github.wxiaoqi.security.admin.biz.ElementBiz;
import com.github.wxiaoqi.security.admin.constant.RedisKey;
import com.github.wxiaoqi.security.admin.constant.enumerate.UserSourceEnum;
import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO;
import com.github.wxiaoqi.security.admin.dto.RegisterParamDTO;
import com.github.wxiaoqi.security.admin.dto.RegisterQueueDTO;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.*;
import com.github.wxiaoqi.security.admin.entity.AppUser;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.Element;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo;
......@@ -31,7 +29,7 @@ import com.github.wxiaoqi.security.common.util.result.JsonResultUtil;
import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.im.feign.ImFeign;
import com.xxfc.platform.universal.dto.RegionDTO;
import com.xxfc.platform.universal.feign.MQSerderFeign;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import com.xxfc.platform.universal.feign.RegionFeign;
import com.xxfc.platform.universal.feign.ThirdFeign;
import lombok.extern.slf4j.Slf4j;
......@@ -71,7 +69,7 @@ public class AppPermissionService {
ThirdFeign thirdFeign;
@Autowired
MQSerderFeign mqSerderFeign;
MQSenderFeign mqSenderFeign;
@Autowired
ImFeign imFeign;
......@@ -328,7 +326,7 @@ public class AppPermissionService {
nickname, mobilecode, openId, unionid, type, null));
}};
// //注册成功,发送队列
mqSerderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, KEY_REGISTER_SUCCESS, JSONUtil.toJsonStr(registerQueueDTO));
mqSenderFeign.sendMessage(RabbitConstant.ADMIN_TOPIC, KEY_REGISTER_SUCCESS, JSONUtil.toJsonStr(registerQueueDTO));
}catch (Exception e){
log.error(e.getMessage(), e);
}
......
package com.xxfc.platform.activity.entity;
import lombok.Builder;
import lombok.Data;
import javax.persistence.Column;
......
......@@ -14,7 +14,7 @@ public class IntegralUserRecordDto extends PageParam {
/**
* 0-获取积分;1-抵扣积分
*/
private Integer type;
private Integer type = 0;
/**
* 积分数
......
......@@ -26,7 +26,7 @@ public class IntegralMQHandler {
@Autowired
IntegralUserRecordBiz integralUserRecordBiz;
@RabbitListener(queues = "integral_queue")
@RabbitListener(queues = "integral_handle_queue")
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
ExecutorService executorService = Executors.newCachedThreadPool();
executorService.execute(new Runnable() {
......
......@@ -9,7 +9,7 @@
<result column="user_id" property="userId" jdbcType="INTEGER" />
<result column="type" property="type" jdbcType="INTEGER" />
<result column="point" property="point" jdbcType="INTEGER" />
<result column="integral_rule_code" property="integralRuleCode" jdbcType="INTEGER" />
<result column="integral_rule_code" property="integralRuleCode" jdbcType="VARCHAR" />
<result column="crt_time" property="crtTime" jdbcType="BIGINT" />
<result column="is_valid" property="isValid" jdbcType="BIT" />
<result column="isdel" property="isdel" jdbcType="BIT" />
......
......@@ -23,7 +23,12 @@
<artifactId>ace-auth-client</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-universal-api</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<!-- 自己项目 -->
......
package com.xxfc.platform.im.biz;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
......@@ -8,6 +9,8 @@ import com.xxfc.platform.im.dto.UpdateTypeEnum;
import com.xxfc.platform.im.entity.ImComment;
import com.xxfc.platform.im.entity.ImQuestion;
import com.xxfc.platform.im.mapper.ImCommentMapper;
import com.xxfc.platform.universal.constant.MQconstant;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -20,7 +23,8 @@ public class ImCommentBiz extends BaseBiz<ImCommentMapper, ImComment> {
ImQuestionBiz imQuestionBiz;
@Autowired
UserBiz userBiz;
@Autowired
MQSenderFeign mqSenderFeign;
/**
* 添加评论
*
......@@ -43,8 +47,15 @@ public class ImCommentBiz extends BaseBiz<ImCommentMapper, ImComment> {
return ObjectRestResponse.createDefaultFail();
}
insertSelective(imComment);
ImQuestion newValue = imQuestionBiz.selectById(imComment.getQuestionId());
//修改评论数
imQuestionBiz.update(imComment.getQuestionId(), MsgTypeEnum.comment, UpdateTypeEnum.add);
//评论添加积分
JSONObject jsonObject = new JSONObject();
jsonObject.put("userId", appUserDTO.getUserid());
jsonObject.put("channelId", newValue.getId());
jsonObject.put("integralRuleCode", "COMMENTPUBLISH");
mqSenderFeign.sendMessage(MQconstant.INTEGRAL_EXCHANGE, MQconstant.INTEGRAL_ROUTING_KEY, jsonObject.toJSONString());
return ObjectRestResponse.succ();
}
......
package com.xxfc.platform.im.biz;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
......@@ -10,6 +11,8 @@ import com.xxfc.platform.im.dto.QuestionParamDto;
import com.xxfc.platform.im.dto.UpdateTypeEnum;
import com.xxfc.platform.im.entity.ImQuestion;
import com.xxfc.platform.im.mapper.ImQuestionMapper;
import com.xxfc.platform.universal.constant.MQconstant;
import com.xxfc.platform.universal.feign.MQSenderFeign;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -22,6 +25,9 @@ public class ImQuestionBiz extends BaseBiz<ImQuestionMapper, ImQuestion> {
@Autowired
UserBiz userBiz;
@Autowired
MQSenderFeign mqSenderFeign;
/**
* 获取列表
*
......@@ -58,7 +64,13 @@ public class ImQuestionBiz extends BaseBiz<ImQuestionMapper, ImQuestion> {
if (imQuestion == null) {
return ObjectRestResponse.paramIsEmpty();
}
insertSelective(imQuestion);
insertSelective(imQuestion);
ImQuestion newValue = mapper.selectOne(imQuestion);
JSONObject jsonObject = new JSONObject();
jsonObject.put("userId", appUserDTO.getUserid());
jsonObject.put("channelId", newValue.getId());
jsonObject.put("integralRuleCode", "PUBLISH");
mqSenderFeign.sendMessage(MQconstant.INTEGRAL_EXCHANGE, MQconstant.INTEGRAL_ROUTING_KEY, jsonObject.toJSONString());
return ObjectRestResponse.succ();
}
......
......@@ -67,8 +67,12 @@ public class MsgBiz {
ids.add(2);
ids.add(4);
query = new Query(Criteria.where("body.type").in(ids));
List<Msg> list = mongoTemplate.find(query, Msg.class, "s_msg");
msgList = fetchAndAttach(list, appUserDTO.getImUserid());
if (appUserDTO != null) {
msgList = fetchAndAttach(mongoTemplate.find(query, Msg.class, "s_msg"), appUserDTO.getImUserid());
PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList));
return ObjectRestResponse.succ(goodPageInfo);
}
msgList = mongoTemplate.find(query, Msg.class, "s_msg");
PageInfo<MsgVo> goodPageInfo = new PageInfo<>(replaceMsgResult(msgList));
return ObjectRestResponse.succ(goodPageInfo);
}
......
......@@ -24,7 +24,8 @@ spring:
nacos:
config:
server-addr: 127.0.0.1:8848
#共用配置,暂定一个
shared-dataids: common-dev.yaml,mongodb-log-dev.yaml
---
spring:
profiles: pro
......
package com.xxfc.platform.universal.constant;
public class MQconstant {
public static final String INTEGRAL_EXCHANGE = "integral_exchange";
public static final String INTEGRAL_ROUTING_KEY = "integral_routing_key";
}
......@@ -6,9 +6,9 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(value = "xx-universal", contextId = "sendMessage")
public interface MQSerderFeign {
public interface MQSenderFeign {
@GetMapping(value = "/message/sendMessage")
public ObjectRestResponse sendMessage(@RequestParam(value = "exchange") String exchange, @RequestParam(value = "routingKey")String routKey, @RequestParam(value = "jsonParam") String jsonParam);
public ObjectRestResponse sendMessage(@RequestParam(value = "exchange") String exchange, @RequestParam(value = "routKey")String routKey, @RequestParam(value = "json") String json);
}
package com.xxfc.platform.universal.biz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageBuilder;
import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.UUID;
@Service
@AllArgsConstructor
@Slf4j
public class MQServiceBiZ {
@Autowired
private RabbitTemplate rabbitTemplate;
@Transactional(rollbackFor = Exception.class)
public ObjectRestResponse sendMessage(String exchange, String routKey, String json) {
log.info("发送消息到消息队列:exchange = {}, routingKey = {}, json = {}", exchange, routKey, json);
Message message = MessageBuilder.withBody(json.getBytes())
.setContentType(MessageProperties.CONTENT_TYPE_JSON).setContentEncoding("utf-8")
.setMessageId(UUID.randomUUID() + "").build();
......
......@@ -17,6 +17,7 @@ import com.github.wxiaoqi.security.common.util.OrderUtil;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.util.process.SystemConfig;
import com.github.wxiaoqi.security.common.util.result.JsonResultUtil;
import com.xxfc.platform.universal.constant.MQconstant;
import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.entity.OrderPay;
import com.xxfc.platform.universal.mapper.OrderPayMapper;
......@@ -57,6 +58,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
@Autowired
HttpServletRequest request;
@Autowired
MQServiceBiZ mqServiceBiZ;
public JSONObject preparepay( OrderPayVo orderPayVo) {
if(null == orderPayVo) {
log.error("-----参数为空-----------");
......@@ -69,20 +73,20 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
if(StringUtils.isBlank(orderPayVo.getOrderNo())) {
log.error("-----订单不能为空-----------");
return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "订单不能为空");
}
String trade_no = OrderUtil.GetOrderNumber("");
String order_no=orderPayVo.getOrderNo();
Integer amount=orderPayVo.getAmount();
}
String trade_no = OrderUtil.GetOrderNumber("");
String order_no=orderPayVo.getOrderNo();
Integer amount=orderPayVo.getAmount();
log.error("---下单---order_no====="+order_no+"--支付订单号--trade_no===="+trade_no+"--金额---amount===="+amount);
//报名费回调路径
//报名费回调路径
//临时处理
Map<String, Dictionary> dictionaryMap = dictionaryBiz.getAll4Map();
Integer demotion = Integer.valueOf(dictionaryMap.get(UNIVERSAL_PAY+ "_"+ PAY_DEMOTION).getDetail());
amount = amount/demotion;
//临时处理
Map<String, Dictionary> dictionaryMap = dictionaryBiz.getAll4Map();
Integer demotion = Integer.valueOf(dictionaryMap.get(UNIVERSAL_PAY+ "_"+ PAY_DEMOTION).getDetail());
amount = amount/demotion;
if(amount <= 0) {
amount = 1;
}
amount = 1;
}
Integer type=orderPayVo.getType();
String jsParam="";
String notify_url="https://"+ SystemConfig.weixinHost+"/api/universal/pay/app/unauth/notify";
......@@ -144,6 +148,21 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
result= HTTPUtils.doGet(url);
}
log.error("---支付回调处理---orderNo======="+orderNo+"---result==="+result);
//支付成功,添加积分
if(pay.getStatus() == 1) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("userId", pay.getUserId());
jsonObject.put("amount", pay.getAmount());
jsonObject.put("channelId", pay.getOrderNo());
if(pay.getChannel() == 1) {//租车
jsonObject.put("integralRuleCode", "RENTRV");
} else if(pay.getChannel() == 2) { //旅游
jsonObject.put("integralRuleCode", "BUYROUT");
} else if(pay.getChannel() == 3) { //会员
jsonObject.put("integralRuleCode", "BUYMEMBER");
}
mqServiceBiZ.sendMessage(MQconstant.INTEGRAL_EXCHANGE, MQconstant.INTEGRAL_ROUTING_KEY, jsonObject.toJSONString());
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment