src/main/java/com/xcong/excoin/modules/otc/dto/MsgListDto.java
@@ -14,4 +14,7 @@ @ApiModelProperty(value = "页码", example = "1") private Integer pageNum; @ApiModelProperty(value = "昵称", example = "1") private String nickname; } src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgUserListEntity.java
@@ -1,5 +1,6 @@ package com.xcong.excoin.modules.otc.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.xcong.excoin.common.system.base.BaseEntity; import lombok.Data; @@ -27,4 +28,7 @@ //最后聊天时间 private Date lastMsgTime; @TableField(exist = false) private String nickname; } src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java
@@ -137,36 +137,41 @@ ApplyConditionsVo applyConditionsVo = new ApplyConditionsVo(); OtcSetting setting = otcSettingDao.selectById(1L); applyConditionsVo.setOrderNum(setting.getOrderNum()); applyConditionsVo.setTotalAmount(setting.getTotalAmount()); applyConditionsVo.setCompletionRate(setting.getCompletionRate()); applyConditionsVo.setCancellNum(setting.getCancellNum()); // 所有已完成订单 List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 3); if (CollUtil.isEmpty(finishOrders) || setting.getOrderNum() > finishOrders.size()) { applyConditionsVo.setOrderNum(2); applyConditionsVo.setOrderNumStatus(2); }else{ applyConditionsVo.setOrderNum(1); applyConditionsVo.setOrderNumStatus(1); } List<OtcOrder> allOrders = otcOrderDao.selectOrderListForUser(member.getId(), null); if (CollUtil.isNotEmpty(allOrders)) { BigDecimal finishRatio = BigDecimal.valueOf(finishOrders.size()).divide(BigDecimal.valueOf(allOrders.size()), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100)); if (setting.getCompletionRate().compareTo(finishRatio) > 0) { applyConditionsVo.setCompletionRate(2); applyConditionsVo.setCompletionRateStatus(2); }else{ applyConditionsVo.setCompletionRate(1); applyConditionsVo.setCompletionRateStatus(1); } } BigDecimal totalAmount = otcOrderDao.selectOrderTotalAmount(member.getId()); totalAmount = totalAmount == null ? BigDecimal.ZERO : totalAmount; if (setting.getTotalAmount().compareTo(totalAmount) > 0) { applyConditionsVo.setTotalAmount(2); applyConditionsVo.setTotalAmountStatus(2); }else{ applyConditionsVo.setTotalAmount(1); applyConditionsVo.setTotalAmountStatus(1); } Integer certifyStatus = member.getCertifyStatus(); if(MemberEntity.CERTIFY_STATUS_Y == certifyStatus){ applyConditionsVo.setMemberAuth(1); applyConditionsVo.setMemberAuthStatus(1); }else{ applyConditionsVo.setMemberAuth(2); applyConditionsVo.setMemberAuthStatus(2); } return Result.ok(applyConditionsVo); src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java
@@ -53,6 +53,7 @@ OtcMsgUserListEntity otcMsgUserListEntity = new OtcMsgUserListEntity(); otcMsgUserListEntity.setMemberId(memberId); otcMsgUserListEntity.setNickname(msgListDto.getNickname()); IPage<MsgListVo> msgList = otcMsgUserListDao.getMsgList(otcMsgUserListEntity, page); List<MsgListVo> records = msgList.getRecords(); //更新最外层的消息提醒 @@ -60,8 +61,8 @@ if(CollUtil.isNotEmpty(records)){ for(MsgListVo msgListVo : records){ long targetId = msgListVo.getTargetId(); MemberEntity memberEntity = memberDao.selectById(targetId); msgListVo.setNickname(memberEntity.getName()); // MemberEntity memberEntity = memberDao.selectById(targetId); // msgListVo.setNickname(memberEntity.getName()); ChatOrderVo chatOrderVo = new ChatOrderVo(); List<ChatOrderVo> chatOrderVos = otcOrderDao.selectOneByMemberIdAndTargetId(memberId,targetId); src/main/java/com/xcong/excoin/modules/otc/vo/ApplyConditionsVo.java
@@ -11,15 +11,27 @@ public class ApplyConditionsVo { @ApiModelProperty(value = "商家入驻总单数1:满足 2:不满足") private Integer orderNum; private Integer orderNumStatus; @ApiModelProperty(value = "商家入驻完成率1:满足 2:不满足") private Integer completionRate; private Integer completionRateStatus; @ApiModelProperty(value = "商家入驻总金额1:满足 2:不满足") private Integer totalAmount; private Integer totalAmountStatus; @ApiModelProperty(value = "实名认证1:满足 2:不满足") private Integer memberAuth; private Integer memberAuthStatus; @ApiModelProperty(value = "总单数") private Integer orderNum; @ApiModelProperty(value = "完成率") private BigDecimal completionRate; @ApiModelProperty(value = "总金额") private BigDecimal totalAmount; @ApiModelProperty(value = "今日取消次数") private Integer cancellNum; } src/main/resources/mapper/otc/OtcMsgUserListDao.xml
@@ -8,11 +8,19 @@ a.is_read isRead, a.target_id targetId, a.member_id memberId, a.last_msg_time lastMsgTime a.last_msg_time lastMsgTime, b.name nickname from otc_msg_user_list a left join member b on a.target_id = b.id <where> <if test="record!=null"> a.member_id = #{record.memberId} <if test="record.nickname != null and record.nickname == ''"> and b.name like concat('%', #{record.nickname},'%') </if> </if> <if test="record!=null"> a.member_id = #{record.memberId} </if> </where> order by a.create_time desc