From d0a53c31a54a094ae256b579b7162411330c770c Mon Sep 17 00:00:00 2001 From: dute7liang <383200134@qq.com> Date: Sat, 27 Jan 2024 19:46:21 +0800 Subject: [PATCH] init --- .../com/ruoyi/test/business/NoticeTest.java | 201 ++++++++++++++++++ .../cai/controller/app/ConsumeController.java | 3 + .../ruoyi/cai/manager/ConsumerManager.java | 8 +- .../ruoyi/cai/mq/handle/WindowGiftHandle.java | 2 +- .../cai/mq/handle/dto/WindowRechargeDTO.java | 2 +- .../ruoyi/cai/notice/YunxinHttpService.java | 17 +- .../ruoyi/cai/notice/data/WindowNoticeR.java | 29 +++ .../SendGiftWindowsAmountNoticeData.java | 2 +- .../SendRechargeWindowsAmountNoticeData.java | 4 +- .../java/com/ruoyi/cai/util/CaiNumUtil.java | 2 +- .../main/java/com/ruoyi/yunxin/Yunxin.java | 23 +- .../ruoyi/yunxin/client/ImMessageClient.java | 4 + .../ruoyi/yunxin/req/SendAttachMsgReq.java | 1 + .../yunxin/req/SendBatchAttachMsgReq.java | 13 ++ .../java/com/ruoyi/yunxin/resp/YxDataR.java | 1 + 15 files changed, 290 insertions(+), 22 deletions(-) create mode 100644 ruoyi-admin/src/test/java/com/ruoyi/test/business/NoticeTest.java create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/WindowNoticeR.java create mode 100644 ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/req/SendBatchAttachMsgReq.java diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/business/NoticeTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/business/NoticeTest.java new file mode 100644 index 00000000..f0bf2a3e --- /dev/null +++ b/ruoyi-admin/src/test/java/com/ruoyi/test/business/NoticeTest.java @@ -0,0 +1,201 @@ +package com.ruoyi.test.business; + +import com.ruoyi.cai.domain.Gift; +import com.ruoyi.cai.domain.User; +import com.ruoyi.cai.mq.handle.dto.WindowRechargeDTO; +import com.ruoyi.cai.notice.YunxinHttpService; +import com.ruoyi.cai.notice.data.child.SendGiftWindowsAmountNoticeData; +import com.ruoyi.cai.service.GiftService; +import com.ruoyi.cai.service.UserService; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Collections; + +@SpringBootTest +@Slf4j +public class NoticeTest { + + @Autowired + private YunxinHttpService yunxinHttpService; + + /** + * 注册赠送消息 + */ + @Test + public void registerRewardCoin(){ + yunxinHttpService.registerRewardCoin(33497L,88L,88L); + } + + /** + * 充值云贝成功消息 + */ + @Test + public void rechargeCoinSendMessage(){ + yunxinHttpService.rechargeCoinSendMessage(33497L,188L,1000L); + } + + @Autowired + private GiftService giftService; + + /** + * 收到礼物发送消息 + */ + @Test + public void getGiftSendMessage(){ + Gift gift = giftService.getById(1); + yunxinHttpService.getGiftSendMessage(33497L,gift,50L,100L); + } + + + /** + * 用户充值,邀请人返现 + */ + @Test + public void inviteCashbackSendMessage(){ + BigDecimal rate = new BigDecimal("0.30"); + yunxinHttpService.inviteCashbackSendMessage(33497L,10166L,rate,1000L,30L); + } + + + /** + * 提现审核转账发送消息【提现审核成功】 + */ + @Test + public void cashSuccessSendMessage(){ + LocalDateTime cashTime = LocalDateTime.now().plusDays(-1); + BigDecimal cashMoney = new BigDecimal("78.00"); + LocalDateTime verifyTime = LocalDateTime.now(); + yunxinHttpService.cashSuccessSendMessage(33497L, + cashTime,cashMoney,cashMoney,"张总",verifyTime); + } + + /** + * 提现审核转账发送消息【提现审核失败】 + */ + @Test + public void cashFailSendMessage(){ + LocalDateTime cashTime = LocalDateTime.now().plusDays(-1); + BigDecimal cashMoney = new BigDecimal("78.00"); + yunxinHttpService.cashFailSendMessage(33497L, + cashTime,cashMoney,"账户有问题,打不了款"); + } + + /** + * 举报发送消息 + */ + @Test + public void reportSendMessage(){ + yunxinHttpService.reportSendMessage(33497L); + } + + @Autowired + private UserService userService; + + /** + * 关注发送消息 + */ + @Test + public void followedSendMessage(){ + User followUser = userService.getById(10166L); + yunxinHttpService.followedSendMessage(33497L,followUser,LocalDateTime.now()); + } + + /** + * 通过女神认证发送消息 + */ + @Test + public void passAnchorSendMessage(){ + yunxinHttpService.passAnchorSendMessage(33497L); + } + + /** + * 发送礼物自定义消息 (发送方和接收方的消息) + */ + @Test + public void sendGiftMessage(){ + Gift gift = giftService.getById(1); + yunxinHttpService.sendGiftMessage(10166L,33497L,gift,20); + } + + /** + * 收到守护符通知 + */ + @Test + public void getGuardMessage(){ + yunxinHttpService.getGuardMessage(33497L,1L,1314L,520L,1233L); + } + + /** + * 发送上线了批量自定义消息 + */ + @Test + public void sendOnlineAttentionNotice(){ + User loginUser = userService.getById(10166L); + yunxinHttpService.sendOnlineAttentionNotice(Collections.singletonList(33497L),loginUser); + } + + /** + * 取消女神通知 + */ + @Test + public void cancelAnchorMessage(){ + yunxinHttpService.cancelAnchorMessage(33497L); + } + + /** + * 动态审核通知 + */ + @Test + public void dynamicAuditMessage(){ + yunxinHttpService.dynamicAuditMessage(33497L); + } + + /** + * 昵称重置审核通知 + */ + @Test + public void nickAuditMessage(){ + yunxinHttpService.nickAuditMessage(33497L); + } + + /** + * 发送充值飘窗提醒 + */ + @Test + public void sendRechargeWindowsAmount(){ + User followUser = userService.getById(10166L); + WindowRechargeDTO dto = new WindowRechargeDTO(); + dto.setId(10166L); + dto.setNickname(followUser.getNickname()); + dto.setAvatar(followUser.getAvatar()); + dto.setAmount(882L); + yunxinHttpService.sendRechargeWindowsAmount(Collections.singletonList(33497L),dto); + } + + /** + * 发送充值礼物提醒 + */ + @Test + public void sendGiftWindowsAmount(){ + User fromUser = userService.getById(33497L); + User toUser = userService.getById(10166L); + Gift gift = giftService.getById(1); + SendGiftWindowsAmountNoticeData data = new SendGiftWindowsAmountNoticeData(); + data.setId(fromUser.getId()); + data.setNickname(fromUser.getNickname()); + data.setAvatar(fromUser.getAvatar()); + data.setToid(toUser.getId()); + data.setTonickname(toUser.getNickname()); + data.setToavatar(toUser.getAvatar()); + data.setAmount(gift.getPrice()); + data.setGiftname(gift.getName()); + data.setGiftimg(gift.getImg()); + data.setGifttotal(2L); + yunxinHttpService.sendGiftWindowsAmount(Collections.singletonList(33497L),data); + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/ConsumeController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/ConsumeController.java index 9766448e..f6b35ec5 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/ConsumeController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/ConsumeController.java @@ -16,6 +16,7 @@ import com.ruoyi.cai.service.VipOrderService; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.helper.LoginHelper; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; @@ -56,6 +57,7 @@ public class ConsumeController { @Operation(summary = "创建VIP订单") @Log(title = "创建VIP订单", businessType = BusinessType.OTHER, isSaveDb = true) public R vipOrderCreate(@RequestBody AddVipOrderDto dto){ + dto.setUserId(LoginHelper.getUserId()); VipOrder order = vipOrderService.addVipOrder(dto); OrderCreateVo vo = new OrderCreateVo(); vo.setPrice(order.getPrice()); @@ -69,6 +71,7 @@ public class ConsumeController { @Operation(summary = "创建充值订单") @Log(title = "创建充值订单", businessType = BusinessType.OTHER, isSaveDb = true) public R rechargeOrderCreate(@RequestBody AddRechargeOrderDto dto){ + dto.setUserId(LoginHelper.getUserId()); RechargeOrder order = rechargeOrderService.addRechargeOrder(dto); OrderCreateVo vo = new OrderCreateVo(); vo.setPrice(order.getPrice()); diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ConsumerManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ConsumerManager.java index a395f3d1..c6477a0a 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ConsumerManager.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ConsumerManager.java @@ -4,7 +4,6 @@ import com.ruoyi.cai.domain.Account; import com.ruoyi.cai.domain.ConsumeLog; import com.ruoyi.cai.domain.Gift; import com.ruoyi.cai.domain.User; -import com.ruoyi.cai.dto.ConsumeResp; import com.ruoyi.cai.dto.app.query.GiveGiftReq; import com.ruoyi.cai.dto.app.query.GiveGuardReq; import com.ruoyi.cai.dto.commom.consumer.GiftConsumerResp; @@ -24,7 +23,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Map; @@ -144,15 +142,15 @@ public class ConsumerManager { log.error("充值成功通知失败!",e); } try { - BigDecimal decimal = systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.WINDOW_RECHARGE_THRESHOLD); - if(decimal.compareTo(resp.getPrice()) < 0){ + Long minPrice = systemConfigManager.getSystemConfigOfLong(SystemConfigEnum.WINDOW_RECHARGE_THRESHOLD); + if(resp.getRechargeCoin() > minPrice){ Integer rankHide = resp.getUser().getRankHide(); if(rankHide == 0){ WindowRechargeDTO windowRecharge = new WindowRechargeDTO(); windowRecharge.setId(resp.getUserId()); windowRecharge.setNickname(resp.getUser().getNickname()); windowRecharge.setAvatar(resp.getUser().getAvatar()); - windowRecharge.setAmount(resp.getPrice()); + windowRecharge.setAmount(resp.getRechargeCoin()); windowRecharge.setTime(LocalDateTime.now()); amqpProducer.sendWindowMq(windowRecharge); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/handle/WindowGiftHandle.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/handle/WindowGiftHandle.java index ac5054c4..e773b7eb 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/handle/WindowGiftHandle.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/handle/WindowGiftHandle.java @@ -49,7 +49,7 @@ public class WindowGiftHandle implements IHandle{ data.setGiftname(gift.getName()); data.setGiftimg(gift.getImg()); data.setGifttotal(windowGift.getGiftNum()); - data.setTime(CaiDateUtil.getCurrentTimeStr()); + data.setTime(System.currentTimeMillis()); yunxinHttpService.sendGiftWindowsAmount(list,data); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/handle/dto/WindowRechargeDTO.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/handle/dto/WindowRechargeDTO.java index 4c7acbb9..e2e5583f 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/handle/dto/WindowRechargeDTO.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/handle/dto/WindowRechargeDTO.java @@ -12,7 +12,7 @@ public class WindowRechargeDTO extends CommonDTO { private Long id; private String nickname; private String avatar; - private BigDecimal amount; + private Long amount; private LocalDateTime time; public WindowRechargeDTO() { this.setType(CommonConsumerEnum.WINDOW_RECHARGE); diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/YunxinHttpService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/YunxinHttpService.java index cac05e26..edcd3e19 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/YunxinHttpService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/YunxinHttpService.java @@ -5,6 +5,7 @@ import com.ruoyi.cai.domain.Gift; import com.ruoyi.cai.domain.User; import com.ruoyi.cai.mq.handle.dto.WindowRechargeDTO; import com.ruoyi.cai.notice.data.NoticeR; +import com.ruoyi.cai.notice.data.WindowNoticeR; import com.ruoyi.cai.notice.data.child.*; import com.ruoyi.cai.notice.dto.CashSuccessSendMesDTO; import com.ruoyi.cai.notice.enums.MessageBaseTypeEnum; @@ -12,6 +13,7 @@ import com.ruoyi.cai.service.AccountService; import com.ruoyi.cai.service.UserService; import com.ruoyi.cai.util.CaiDateUtil; import com.ruoyi.cai.util.CaiNumUtil; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.yunxin.YunExecutor; import com.ruoyi.yunxin.Yunxin; import com.ruoyi.yunxin.resp.SendMsgResp; @@ -51,7 +53,7 @@ public class YunxinHttpService { data.setCurrentDate(); data.setTxt1("陌生人交友需谨慎,添加陌生人微信,QQ失去平台监管有极大被骗风险,凡是诱导加微信,QQ引导到其他平台或以色情为由索取礼物的行为,请大家及时举报,一经查明直接永久封号,良好的交友氛围需大家共同维护,希望大家提高自我警惕性杜绝被骗"); data.addFields("注册奖励",rewardCoin+"云贝"); - data.addFields("注册奖励",totalCoin+"云贝"); + data.addFields("总云贝",totalCoin+"云贝"); NoticeR notice = NoticeR.ok(MessageBaseTypeEnum.TXT, data); YxDataR r = yunxin.sendToNotice(toUid, notice); if(r == null || !r.isSuccess()){ @@ -456,10 +458,10 @@ public class YunxinHttpService { data.setId(windowRecharge.getId()); data.setNickname(windowRecharge.getNickname()); data.setAvatar(windowRecharge.getAvatar()); - data.setAmount(windowRecharge.getAmount().toString()); - data.setTime(CaiDateUtil.getCurrentTimeStr()); - NoticeR notice = NoticeR.ok(MessageBaseTypeEnum.RECHARGE_WINDOWS_AMOUNT, data); - YxDataR r = yunxin.batchSendToNotice(toIds, notice); + data.setAmount(windowRecharge.getAmount()); + data.setTime(System.currentTimeMillis()); + WindowNoticeR notice = WindowNoticeR.ok(MessageBaseTypeEnum.RECHARGE_WINDOWS_AMOUNT, data); + YxDataR r = yunxin.sendBatchAttachMsgNotice(toIds, notice); if(r == null || !r.isSuccess()){ log.error("云信发送失败【sendCallAsync】r={}", JSON.toJSONString(r)); } @@ -470,8 +472,9 @@ public class YunxinHttpService { * 发送礼物飘窗提醒 */ public void sendGiftWindowsAmount(List toUid, SendGiftWindowsAmountNoticeData data){ - NoticeR notice = NoticeR.ok(MessageBaseTypeEnum.SEND_GIFT_WINDOWS_AMOUNT, data); - YxDataR r = yunxin.batchSendToNotice(toUid, notice); + WindowNoticeR notice = WindowNoticeR.ok(MessageBaseTypeEnum.SEND_GIFT_WINDOWS_AMOUNT, data); + data.setTime(System.currentTimeMillis()); + YxDataR r = yunxin.sendBatchAttachMsgNotice(toUid, notice); if(r == null || !r.isSuccess()){ log.error("云信发送失败【sendCallAsync】r={}", JSON.toJSONString(r)); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/WindowNoticeR.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/WindowNoticeR.java new file mode 100644 index 00000000..07f8b1cb --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/WindowNoticeR.java @@ -0,0 +1,29 @@ +package com.ruoyi.cai.notice.data; + +import com.ruoyi.cai.notice.enums.MessageBaseTypeEnum; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@NoArgsConstructor +public class WindowNoticeR implements Serializable { + private static final long serialVersionUID = 1L; + + private Integer id; + + private T data; + + public static WindowNoticeR ok(MessageBaseTypeEnum typeEnum, T data) { + return restResult(typeEnum.getCode(), data); + } + + + private static WindowNoticeR restResult(Integer type, T data) { + WindowNoticeR r = new WindowNoticeR<>(); + r.setId(type); + r.setData(data); + return r; + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/child/SendGiftWindowsAmountNoticeData.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/child/SendGiftWindowsAmountNoticeData.java index b636c23d..8e89550a 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/child/SendGiftWindowsAmountNoticeData.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/child/SendGiftWindowsAmountNoticeData.java @@ -14,7 +14,7 @@ public class SendGiftWindowsAmountNoticeData { private String giftname; private String giftimg; private Long gifttotal; - private String time; + private Long time; } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/child/SendRechargeWindowsAmountNoticeData.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/child/SendRechargeWindowsAmountNoticeData.java index 0e1952e2..2ca78609 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/child/SendRechargeWindowsAmountNoticeData.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/notice/data/child/SendRechargeWindowsAmountNoticeData.java @@ -7,8 +7,8 @@ public class SendRechargeWindowsAmountNoticeData { private Long id; private String nickname; private String avatar; - private String amount; - private String time; + private Long amount; + private Long time; } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/util/CaiNumUtil.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/util/CaiNumUtil.java index b3305088..1f30e23b 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/util/CaiNumUtil.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/util/CaiNumUtil.java @@ -23,7 +23,7 @@ public class CaiNumUtil { public static String rateToStr(BigDecimal rate){ BigDecimal mul = NumberUtil.mul(rate, 100); - return mul.intValue()+"%"; + return mul.intValue()+""; } public static void main(String[] args) { diff --git a/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/Yunxin.java b/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/Yunxin.java index 47d11f05..5f763f87 100644 --- a/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/Yunxin.java +++ b/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/Yunxin.java @@ -3,10 +3,7 @@ package com.ruoyi.yunxin; import com.alibaba.fastjson2.JSON; import com.ruoyi.yunxin.client.ImMessageClient; import com.ruoyi.yunxin.config.YunxinProperties; -import com.ruoyi.yunxin.req.Option; -import com.ruoyi.yunxin.req.SendAttachMsgReq; -import com.ruoyi.yunxin.req.SendBatchMsgReq; -import com.ruoyi.yunxin.req.SendMsgReq; +import com.ruoyi.yunxin.req.*; import com.ruoyi.yunxin.req.type.YxTextData; import com.ruoyi.yunxin.resp.SendMsgResp; import com.ruoyi.yunxin.resp.YxCommonR; @@ -90,4 +87,22 @@ public class Yunxin { return messageClient.sendAttachMsg(sendAttachMsgReq); } + public YxDataR sendBatchAttachMsgNotice(List toUid, Object data){ + SendBatchAttachMsgReq req = new SendBatchAttachMsgReq(); + req.setFromAccid(SYS_NOTICE_ID); + req.setToAccids(toUid.stream().map(i -> String.valueOf(toUid)).collect(Collectors.toList())); + req.setAttach(JSON.toJSONString(data)); + return messageClient.sendBatchAttachMsg(req); + } + + + public YxDataR sendAttachMsgNotice(Long toUid, Object data){ + SendAttachMsgReq sendAttachMsgReq = new SendAttachMsgReq(); + sendAttachMsgReq.setFrom(SYS_NOTICE_ID); + sendAttachMsgReq.setTo(toUid+""); + sendAttachMsgReq.setAttach(JSON.toJSONString(data)); + sendAttachMsgReq.setOption(JSON.toJSONString(new Option())); + return messageClient.sendAttachMsg(sendAttachMsgReq); + } + } diff --git a/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/client/ImMessageClient.java b/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/client/ImMessageClient.java index c5221d9b..9c8794c3 100644 --- a/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/client/ImMessageClient.java +++ b/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/client/ImMessageClient.java @@ -5,6 +5,7 @@ import com.dtflys.forest.annotation.Body; import com.dtflys.forest.annotation.Post; import com.ruoyi.yunxin.interceptor.GlodonTokenInterceptor; import com.ruoyi.yunxin.req.SendAttachMsgReq; +import com.ruoyi.yunxin.req.SendBatchAttachMsgReq; import com.ruoyi.yunxin.req.SendBatchMsgReq; import com.ruoyi.yunxin.req.SendMsgReq; import com.ruoyi.yunxin.resp.SendMsgResp; @@ -33,5 +34,8 @@ public interface ImMessageClient { @Post(url = "/nimserver/msg/sendAttachMsg.action") YxDataR sendAttachMsg(@Body SendAttachMsgReq req); + @Post(url = "/nimserver/msg/sendBatchAttachMsg.action") + YxDataR sendBatchAttachMsg(@Body SendBatchAttachMsgReq req); + } diff --git a/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/req/SendAttachMsgReq.java b/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/req/SendAttachMsgReq.java index 61ba7ade..b3d5429c 100644 --- a/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/req/SendAttachMsgReq.java +++ b/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/req/SendAttachMsgReq.java @@ -9,4 +9,5 @@ public class SendAttachMsgReq { private String to; private String attach; private String option; + private int save = 1; } diff --git a/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/req/SendBatchAttachMsgReq.java b/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/req/SendBatchAttachMsgReq.java new file mode 100644 index 00000000..04c2b60c --- /dev/null +++ b/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/req/SendBatchAttachMsgReq.java @@ -0,0 +1,13 @@ +package com.ruoyi.yunxin.req; + +import lombok.Data; + +import java.util.List; + +@Data +public class SendBatchAttachMsgReq { + private String fromAccid; + private List toAccids; + private String attach; + private int save = 1; +} diff --git a/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/resp/YxDataR.java b/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/resp/YxDataR.java index d7ee24d4..7b2da3e0 100644 --- a/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/resp/YxDataR.java +++ b/ruoyi-yunxin/src/main/java/com/ruoyi/yunxin/resp/YxDataR.java @@ -8,6 +8,7 @@ import java.io.Serializable; public class YxDataR implements Serializable { private Integer code; private T data; + private String desc; public boolean isSuccess(){ return code != null && code == 200;