xuhy
2025-11-24 6f105527515f86f84a05937499bc084877186e73
Merge remote-tracking branch 'origin/master'
5个文件已修改
110 ■■■■■ 已修改文件
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/ConvenienceController.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketServer.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TCommunityActivity.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TCourseOrder.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/ConvenienceController.java
@@ -40,7 +40,7 @@
    private final TCommunityActivityRegistrationService tCommunityActivityRegistrationService;
    private final TDeliberationVoteService tDeliberationVoteService;
    private final TDeliberationVoteOptionService tDeliberationVoteOptionService;
    private final TAppealServicesService tAppealServicesService ;
    private final TAppealServicesService tAppealServicesService;
    public ConvenienceController(THtmlConfigService tHtmlConfigService, TServiceGuideFileService tServiceGuideFileService, TConvenientInformationService tConvenientInformationService, TMicroWishService tMicroWishService, TokenService tokenService, TCommunityActivityService tCommunityActivityService, TCommunityActivityRegistrationService tCommunityActivityRegistrationService, TDeliberationVoteService tDeliberationVoteService, TDeliberationVoteOptionService tDeliberationVoteOptionService, TAppealServicesService tAppealServicesService) {
        this.tHtmlConfigService = tHtmlConfigService;
@@ -126,7 +126,10 @@
            List<String> activityIds = activityList.stream().map(TCommunityActivity::getId).collect(Collectors.toList());
            List<TCommunityActivityRegistration> activityRegistrationList = tCommunityActivityRegistrationService.list(new LambdaQueryWrapper<TCommunityActivityRegistration>().in(TCommunityActivityRegistration::getActivityId, activityIds).eq(TCommunityActivityRegistration::getAppUserId, userId));
            for (TCommunityActivity tCommunityActivity : activityList) {
                TCommunityActivityRegistration tCommunityActivityRegistration = activityRegistrationList.stream().filter(e -> e.getActivityId().equals(tCommunityActivity.getId())).findFirst().orElse(null);
                List<TCommunityActivityRegistration> tCommunityActivityRegistrations = activityRegistrationList.stream().filter(e -> e.getActivityId().equals(tCommunityActivity.getId())).collect(Collectors.toList());
                tCommunityActivity.setUserNum(tCommunityActivityRegistrations.size());
                String finalUserId = userId;
                TCommunityActivityRegistration tCommunityActivityRegistration = tCommunityActivityRegistrations.stream().filter(e -> e.getAppUserId().equals(finalUserId)).findFirst().orElse(null);
                if (tCommunityActivityRegistration != null) {
                    tCommunityActivity.setState(2);
                }
@@ -202,19 +205,23 @@
        Page<TDeliberationVote> page = new Page<>(query.getPageNum(), query.getPageSize());
        Page<TDeliberationVote> tDeliberationVotePage = tDeliberationVoteService.page(page, new LambdaQueryWrapper<TDeliberationVote>().eq(TDeliberationVote::getStatus, query.getStatus()).orderByDesc(BaseModel::getCreateTime));
        List<TDeliberationVote> tDeliberationVoteList = tDeliberationVotePage.getRecords();
        if(!tDeliberationVoteList.isEmpty()){
        if (!tDeliberationVoteList.isEmpty()) {
            List<String> voteIds = tDeliberationVoteList.stream().map(TDeliberationVote::getId).collect(Collectors.toList());
            List<TDeliberationVoteOption> tDeliberationVoteOptionList = tDeliberationVoteOptionService.list(new LambdaQueryWrapper<TDeliberationVoteOption>().in(TDeliberationVoteOption::getVoteId, voteIds));
            for (TDeliberationVote tDeliberationVote : tDeliberationVoteList) {
                List<TDeliberationVoteOption> options = tDeliberationVoteOptionList.stream().filter(e -> e.getVoteId().equals(tDeliberationVote.getId())).collect(Collectors.toList());
                for (TDeliberationVoteOption option : options) {
                    String[] split = option.getVoteCount().split(",");
                    // split转为数组
                    List<String> list = Arrays.asList(split);
                    option.setVoteCountNum(list.size());
                    if(tDeliberationVote.getVoteState()==1 && userId!=null &&  list.contains(userId)){
                        tDeliberationVote.setVoteState(2);
                    if (option.getVoteCount() != null) {
                        String[] split = option.getVoteCount().split(",");
                        // split转为数组
                        List<String> list = Arrays.asList(split);
                        option.setVoteCountNum(list.size());
                        if (tDeliberationVote.getVoteState() == 1 && userId != null && list.contains(userId)) {
                            tDeliberationVote.setVoteState(2);
                        }
                    }
                }
@@ -223,6 +230,35 @@
        }
        tDeliberationVotePage.setRecords(tDeliberationVoteList);
        return R.ok(tDeliberationVotePage);
    }
    @ApiOperation(value = "议事投票--详情", response = TDeliberationVote.class)
    @GetMapping("/getDeliberationVoteDetail/{id}")
    public R<TDeliberationVote> getDeliberationVoteDetail(@PathVariable String id) {
        String userId = null;
        try {
            userId = tokenService.getLoginUserApplet().getUserId();
        } catch (Exception e) {
        }
        TDeliberationVote tDeliberationVote = tDeliberationVoteService.getById(id);
        if (tDeliberationVote != null) {
            List<TDeliberationVoteOption> tDeliberationVoteOptionList = tDeliberationVoteOptionService.list(new LambdaQueryWrapper<TDeliberationVoteOption>().eq(TDeliberationVoteOption::getVoteId, id));
            List<TDeliberationVoteOption> options = tDeliberationVoteOptionList.stream().filter(e -> e.getVoteId().equals(tDeliberationVote.getId())).collect(Collectors.toList());
            for (TDeliberationVoteOption option : options) {
                if (option.getVoteCount() != null) {
                    String[] split = option.getVoteCount().split(",");
                    // split转为数组
                    List<String> list = Arrays.asList(split);
                    option.setVoteCountNum(list.size());
                    if (tDeliberationVote.getVoteState() == 1 && userId != null && list.contains(userId)) {
                        tDeliberationVote.setVoteState(2);
                    }
                }
            }
            tDeliberationVote.setOptions(options);
        }
        return R.ok(tDeliberationVote);
    }
@@ -244,10 +280,13 @@
        List<TDeliberationVoteOption> list = tDeliberationVoteOptionService.list(new LambdaQueryWrapper<TDeliberationVoteOption>().eq(TDeliberationVoteOption::getVoteId, dto.getVoteId()));
        for (TDeliberationVoteOption tDeliberationVoteOption : list) {
            String voteCount = tDeliberationVoteOption.getVoteCount();
            String[] split = voteCount.split(",");
            if (Arrays.asList(split).contains(userId)) {
                return R.fail("你已经投票");
            if(voteCount != null){
                String[] split = voteCount.split(",");
                if (Arrays.asList(split).contains(userId)) {
                    return R.fail("你已经投票");
                }
            }
        }
        TDeliberationVoteOption tDeliberationVoteOption = list.stream().filter(e -> e.getOptionContent().equals(dto.getOptionContent())).findFirst().orElse(null);
        if (tDeliberationVoteOption == null) {
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java
@@ -33,8 +33,10 @@
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@Slf4j
@RestController
@@ -84,7 +86,34 @@
        String userId = tokenService.getLoginUserApplet().getUserId();
        Page<TCourseOrder> page = new Page<>(query.getPageNum(), query.getPageSize());
        Page<TCourseOrder> courseOrderPage = courseOrderService.page(page, Wrappers.<TCourseOrder>lambdaQuery().eq(TCourseOrder::getAppUserId, userId).eq(Objects.nonNull(query.getPayStatus()),TCourseOrder::getPayStatus, query.getPayStatus()).orderByDesc(TCourseOrder::getCreateTime));
        List<TCourseOrder> records = courseOrderPage.getRecords();
        if(!records.isEmpty()){
            List<String> courseIds = records.stream().map(TCourseOrder::getCourseId).collect(Collectors.toList());
            List<TCourse> tCourses = courseService.listByIds(courseIds);
            records.forEach(courseOrder -> {
                tCourses.forEach(course -> {
                    if(course.getId().equals(courseOrder.getCourseId())){
                        courseOrder.setCourse(course);
                    }
                });
            });
        }
        courseOrderPage.setRecords(records);
        return R.ok(courseOrderPage);
    }
    @GetMapping("/getCourseOrderDetail/{id}")
    @ApiOperation(value = "课程模块--订单详情",response =  TCourseOrder.class)
    public R<TCourseOrder> getCourseOrderList(@PathVariable String id) {
        String userId = tokenService.getLoginUserApplet().getUserId();
        TCourseOrder courseOrder = courseOrderService.getById(id);
        if(!courseOrder.getAppUserId().equals(userId)){
            return R.fail("无权限");
        }
        String courseId = courseOrder.getCourseId();
        TCourse course = courseService.getById(courseId);
        courseOrder.setCourse(course);
        return R.ok(courseOrder);
    }
    @PostMapping("/saveOrder")
@@ -104,8 +133,8 @@
        courseOrder.setOrderNumber(OrderNos.getDid());
        boolean save = courseOrderService.save(courseOrder);
        if (save) {
            Map<String, Object> result = wxV3Pay.jsApi(courseOrder.getOrderNumber(), course.getCourseCost().multiply(BigDecimal.valueOf(100)).longValue(), appUser.getOpenId(),"购买课程","");
            return R.ok(result);
//            Map<String, Object> result = wxV3Pay.jsApi(courseOrder.getOrderNumber(), course.getCourseCost().multiply(BigDecimal.valueOf(100)).longValue(), appUser.getOpenId(),"购买课程","");
            return R.ok();
        }
        Map<String, ? extends Object> maps =
ruoyi-applet/src/main/java/com/ruoyi/web/controller/webSocket/WebSocketServer.java
@@ -27,7 +27,7 @@
    private WebSocketTextFrameHandler webSocketTextFrameHandler;
    public WebSocketServer() {
        this.port = 8888; // 默认端口
        this.port = 8889; // 默认端口
    }
    
    public WebSocketServer(int port) {
ruoyi-system/src/main/java/com/ruoyi/system/model/TCommunityActivity.java
@@ -69,4 +69,9 @@
    @ApiModelProperty(value = "报名状态 1=未报名 2=已报名")
    private Integer state=1;
    @TableField(exist = false)
    @ApiModelProperty(value = "报名人数")
    private Integer userNum=0;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TCourseOrder.java
@@ -72,7 +72,8 @@
    @TableField("id_card")
    private String idCard;
    @ApiModelProperty(value = "支付状态 1=待支付 2=已支付 3=已退款  4=已取消  5=已完成 6退款中")
    @ApiModelProperty(value = "支付状态 1=待支付 2=已支付 3=已退款  4=已取消  5=已完成 6退款中" +
            "")
    @TableField("pay_status")
    private Integer payStatus;
@@ -125,4 +126,8 @@
    @TableField("reject_reason")
    private String rejectReason;
    @ApiModelProperty(value = "课程信息")
    @TableField(exist = false)
    private TCourse course;
}