无关风月
2025-11-06 abf4b17f33b749269bd37d14b8dc0e55aff9b1d1
Merge remote-tracking branch 'origin/master'
39个文件已添加
34个文件已修改
2187 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAdvertisementController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppealServicesController.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseController.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseOrderController.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TEmploymentInfoController.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TMerchantController.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOldsterWarningController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOtherConfigController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQuestionnaireStemBriefAnswerController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/EmploymentController.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/MerchantController.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PartyBuildingController.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/UserIndexController.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/AuditCourseOrderRefundDTO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/HandleAppealServicesDTO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/IdDto.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TAdvertisementMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TAppealServicesMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCourseMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCourseOrderMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TEmploymentInfoMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TMerchantMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOldsterWarningMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOtherConfigMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQuestionnaireStemBriefAnswerMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TAdvertisement.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TAppealServices.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TCourseOrder.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TOldsterWarning.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TOtherConfig.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TQuestionnaireStemBriefAnswer.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/AppealServicesStatusQuery.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/MerchantQuery.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/MicroWishStatusQuery.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/PartyBuildingListQuery.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TAppealServicesQuery.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TCourseOrderQuery.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TCourseQuery.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TEmploymentInfoQuery.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TMerchantQuery.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TAdvertisementService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TAppealServicesService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TCourseOrderService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TCourseService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TEmploymentInfoService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TMerchantService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TOldsterWarningService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TOtherConfigService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TQuestionnaireStemBriefAnswerService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TAdvertisementServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TAppealServicesServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCourseOrderServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCourseServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TEmploymentInfoServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMerchantServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOldsterWarningServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOtherConfigServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQuestionnaireStemBriefAnswerServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TAppealServicesVO.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCourseOrderVO.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCourseVO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TEmploymentInfoVO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TAdvertisementMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TAppealServicesMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TCourseMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TCourseOrderMapper.xml 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TEmploymentInfoMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TMerchantMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TOldsterWarningMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TOtherConfigMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TQuestionnaireStemBriefAnswerMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAdvertisementController.java
@@ -1,9 +1,21 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TAdvertisement;
import com.ruoyi.system.service.TAdvertisementService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * <p>
@@ -13,9 +25,89 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "广告管理")
@RestController
@RequestMapping("/t-advertisement")
public class TAdvertisementController {
    private final TAdvertisementService advertisementService;
    @Autowired
    public TAdvertisementController(TAdvertisementService advertisementService) {
        this.advertisementService = advertisementService;
    }
    /**
     * 获取广告管理管理列表
     */
    @ApiOperation(value = "获取广告管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TAdvertisement>> pageList(@RequestBody BasePage query) {
        return R.ok(advertisementService.pageList(query));
    }
    /**
     * 获取广告管理管理列表
     */
    @ApiOperation(value = "获取广告管理列表")
    @PostMapping(value = "/list")
    public R<List<TAdvertisement>> list() {
        return R.ok(advertisementService.list(Wrappers.lambdaQuery(TAdvertisement.class).orderByDesc(TAdvertisement::getCreateTime)));
    }
    /**
     * 添加广告管理管理
     */
    @Log(title = "广告管理信息-新增广告管理", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加广告管理")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TAdvertisement dto) {
        if (advertisementService.isExit(dto)) {
            return R.fail("广告名称已存在");
        }
        return R.ok(advertisementService.save(dto));
    }
    /**
     * 修改广告管理
     */
    @Log(title = "广告管理信息-修改广告管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改广告管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TAdvertisement dto) {
        if (advertisementService.isExit(dto)) {
            return R.fail("广告名称已存在");
        }
        return R.ok(advertisementService.updateById(dto));
    }
    /**
     * 查看广告管理详情
     */
    @ApiOperation(value = "查看广告管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TAdvertisement> getDetailById(@RequestParam String id) {
        return R.ok(advertisementService.getById(id));
    }
    /**
     * 删除广告管理
     */
    @Log(title = "广告管理信息-删除广告管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除广告管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(advertisementService.removeById(id));
    }
    /**
     * 批量删除广告管理
     */
    @Log(title = "广告管理信息-删除广告管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除广告管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(advertisementService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppealServicesController.java
@@ -1,9 +1,24 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.HandleAppealServicesDTO;
import com.ruoyi.system.model.TAppealServices;
import com.ruoyi.system.query.TAppealServicesQuery;
import com.ruoyi.system.service.TAppealServicesService;
import com.ruoyi.system.vo.TAppealServicesVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <p>
@@ -13,9 +28,87 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "诉求服务管理")
@RestController
@RequestMapping("/t-appeal-services")
public class TAppealServicesController {
    private final TAppealServicesService appealServicesService;
    private final TokenService tokenService;
    @Autowired
    public TAppealServicesController(TAppealServicesService appealServicesService, TokenService tokenService) {
        this.appealServicesService = appealServicesService;
        this.tokenService = tokenService;
    }
    /**
     * 获取诉求服务管理管理列表
     */
    @ApiOperation(value = "获取诉求服务管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TAppealServicesVO>> pageList(@RequestBody TAppealServicesQuery query) {
        return R.ok(appealServicesService.pageList(query));
    }
    /**
     * 获取诉求服务管理管理列表
     */
    @ApiOperation(value = "获取诉求服务管理列表")
    @PostMapping(value = "/list")
    public R<List<TAppealServices>> list() {
        return R.ok(appealServicesService.list(Wrappers.lambdaQuery(TAppealServices.class).orderByDesc(TAppealServices::getCreateTime)));
    }
    /**
     * 查看诉求服务管理详情
     */
    @ApiOperation(value = "查看诉求服务管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TAppealServices> getDetailById(@RequestParam String id) {
        return R.ok(appealServicesService.getById(id));
    }
    /**
     * 删除诉求服务管理
     */
    @Log(title = "诉求服务管理信息-删除诉求服务管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除诉求服务管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(appealServicesService.removeById(id));
    }
    /**
     * 批量删除诉求服务管理
     */
    @Log(title = "诉求服务管理信息-删除诉求服务管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除诉求服务管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(appealServicesService.removeByIds(ids));
    }
    /**
     * 处理诉求
     */
    @Log(title = "诉求服务管理信息-处理诉求", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "处理诉求")
    @PostMapping(value = "/handleAppealServices")
    public R<String> handleAppealServices(@RequestBody HandleAppealServicesDTO dto) {
        Long userId = tokenService.getLoginUser().getUserId();
        String nickName = tokenService.getLoginUser().getUser().getNickName();
        TAppealServices appealServices = appealServicesService.getById(dto.getId());
        appealServices.setStatus(2);
        appealServices.setUserId(userId);
        appealServices.setProcessPersonName(nickName);
        appealServices.setProcessTime(LocalDateTime.now());
        appealServices.setProcessRemark(dto.getProcessRemark());
        appealServices.setProcessPictures(dto.getProcessPictures());
        appealServicesService.updateById(appealServices);
        return R.ok();
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseController.java
@@ -1,9 +1,25 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TCourse;
import com.ruoyi.system.model.TCourseOrder;
import com.ruoyi.system.query.TCourseQuery;
import com.ruoyi.system.service.TCourseOrderService;
import com.ruoyi.system.service.TCourseService;
import com.ruoyi.system.vo.TCourseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * <p>
@@ -13,9 +29,105 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "课程管理")
@RestController
@RequestMapping("/t-course")
public class TCourseController {
    private final TCourseService courseService;
    private final TCourseOrderService courseOrderService;
    private final TokenService tokenService;
    @Autowired
    public TCourseController(TCourseService courseService, TCourseOrderService courseOrderService, TokenService tokenService) {
        this.courseService = courseService;
        this.courseOrderService = courseOrderService;
        this.tokenService = tokenService;
    }
    /**
     * 获取课程管理管理列表
     */
    @ApiOperation(value = "获取课程管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TCourseVO>> pageList(@RequestBody TCourseQuery query) {
        return R.ok(courseService.pageList(query));
    }
    /**
     * 获取课程管理管理列表
     */
    @ApiOperation(value = "获取课程管理列表")
    @PostMapping(value = "/list")
    public R<List<TCourse>> list() {
        return R.ok(courseService.list(Wrappers.lambdaQuery(TCourse.class).orderByDesc(TCourse::getCreateTime)));
    }
    /**
     * 添加课程管理管理
     */
    @Log(title = "课程管理信息-新增课程管理", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加课程管理")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TCourse dto) {
        if (courseService.isExit(dto)) {
            return R.fail("课程标题已存在");
        }
        return R.ok(courseService.save(dto));
    }
    /**
     * 修改课程管理
     */
    @Log(title = "课程管理信息-修改课程管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改课程管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TCourse dto) {
        if (courseService.isExit(dto)) {
            return R.fail("课程标题已存在");
        }
        return R.ok(courseService.updateById(dto));
    }
    /**
     * 查看课程管理详情
     */
    @ApiOperation(value = "查看课程管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TCourse> getDetailById(@RequestParam String id) {
        return R.ok(courseService.getById(id));
    }
    /**
     * 删除课程管理
     */
    @Log(title = "课程管理信息-删除课程管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除课程管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        // 判断课程是否有人报名
        long count = courseOrderService.count(Wrappers.lambdaQuery(TCourseOrder.class)
                .eq(TCourseOrder::getCourseId, id));
        if (count > 0) {
            return R.fail("该课程有报名信息,请先处理报名信息");
        }
        return R.ok(courseService.removeById(id));
    }
    /**
     * 批量删除课程管理
     */
    @Log(title = "课程管理信息-删除课程管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除课程管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        // 判断课程是否有人报名
        long count = courseOrderService.count(Wrappers.lambdaQuery(TCourseOrder.class)
                .in(TCourseOrder::getCourseId, ids));
        if (count > 0) {
            return R.fail("该课程有报名信息,请先处理报名信息");
        }
        return R.ok(courseService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseOrderController.java
@@ -1,9 +1,29 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.AuditCourseOrderRefundDTO;
import com.ruoyi.system.model.TCourse;
import com.ruoyi.system.model.TCourseOrder;
import com.ruoyi.system.query.TCourseOrderQuery;
import com.ruoyi.system.query.TCourseQuery;
import com.ruoyi.system.service.TCourseOrderService;
import com.ruoyi.system.service.TCourseService;
import com.ruoyi.system.vo.TCourseOrderVO;
import com.ruoyi.system.vo.TCourseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * <p>
@@ -13,9 +33,109 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "课程订单管理")
@RestController
@RequestMapping("/t-course-order")
public class TCourseOrderController {
    private final TCourseService courseService;
    private final TCourseOrderService courseOrderService;
    private final TokenService tokenService;
    @Autowired
    public TCourseOrderController(TCourseService courseService, TCourseOrderService courseOrderService, TokenService tokenService) {
        this.courseService = courseService;
        this.courseOrderService = courseOrderService;
        this.tokenService = tokenService;
    }
    /**
     * 获取课程订单管理管理列表
     */
    @ApiOperation(value = "获取课程报名记录分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TCourseOrderVO>> pageList(@RequestBody TCourseOrderQuery query) {
        return R.ok(courseOrderService.pageList(query));
    }
    /**
     * 获取课程申请退款记录分页列表
     */
    @ApiOperation(value = "获取课程申请退款记录分页列表")
    @PostMapping(value = "/refundPageList")
    public R<PageInfo<TCourseOrderVO>> refundPageList(@RequestBody TCourseOrderQuery query) {
        return R.ok(courseOrderService.refundPageList(query));
    }
    /**
     * 获取课程订单管理管理列表
     */
    @ApiOperation(value = "获取课程订单管理列表")
    @PostMapping(value = "/list")
    public R<List<TCourseOrder>> list() {
        return R.ok(courseOrderService.list(Wrappers.lambdaQuery(TCourseOrder.class).orderByDesc(TCourseOrder::getCreateTime)));
    }
    /**
     * 查看课程订单管理详情
     */
    @ApiOperation(value = "查看课程订单管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TCourseOrderVO> getDetailById(@RequestParam String id) {
        TCourseOrder courseOrder = courseOrderService.getById(id);
        TCourseOrderVO courseOrderVO = new TCourseOrderVO();
        BeanUtils.copyProperties(courseOrder, courseOrderVO);
        // 查询课程信息
        TCourse course = courseService.getById(courseOrder.getCourseId());
        courseOrderVO.setCourseTitle(course.getCourseTitle());
        courseOrderVO.setCourseCost(course.getCourseCost());
        courseOrderVO.setCourseLecturer(course.getCourseLecturer());
        courseOrderVO.setCourseCover(course.getCourseCover());
        courseOrderVO.setCourseType(course.getCourseType());
        courseOrderVO.setReleaseTime(course.getCreateTime());
        return R.ok(courseOrderVO);
    }
    /**
     * 审核课程订单管理退款申请
     */
    @Log(title = "课程订单管理信息-审核课程订单管理退款申请", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "审核课程订单管理退款申请")
    @PostMapping(value = "/auditCourseOrderRefund")
    public R<String> auditCourseOrderRefund(@Validated @RequestBody AuditCourseOrderRefundDTO dto) {
        TCourseOrder courseOrder = courseOrderService.getById(dto.getId());
        courseOrder.setRefundStatus(dto.getRefundStatus());
        if(dto.getRefundStatus() == 2){
            // 通过
            courseOrder.setRefundVoucher(dto.getRefundVoucher());
            // 修改支付状态为已退款
            courseOrder.setPayStatus(3);
        }
        if(dto.getRefundStatus() == 3){
            // 驳回
            courseOrder.setRejectReason(dto.getRejectReason());
        }
        courseOrderService.updateById(courseOrder);
        return R.ok();
    }
    /**
     * 删除课程订单管理
     */
    @Log(title = "课程订单管理信息-删除课程订单管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除课程订单管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(courseOrderService.removeById(id));
    }
    /**
     * 批量删除课程订单管理
     */
    @Log(title = "课程订单管理信息-删除课程订单管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除课程订单管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(courseService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TEmploymentInfoController.java
@@ -1,9 +1,23 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TEmploymentInfo;
import com.ruoyi.system.query.TEmploymentInfoQuery;
import com.ruoyi.system.service.TEmploymentInfoService;
import com.ruoyi.system.vo.TEmploymentInfoVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * <p>
@@ -13,9 +27,95 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "就业信息管理")
@RestController
@RequestMapping("/t-employment-info")
public class TEmploymentInfoController {
    private final TEmploymentInfoService employmentInfoService;
    private final TokenService tokenService;
    @Autowired
    public TEmploymentInfoController(TEmploymentInfoService employmentInfoService, TokenService tokenService) {
        this.employmentInfoService = employmentInfoService;
        this.tokenService = tokenService;
    }
    /**
     * 获取就业信息管理管理列表
     */
    @ApiOperation(value = "获取就业信息管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TEmploymentInfoVO>> pageList(@RequestBody TEmploymentInfoQuery query) {
        return R.ok(employmentInfoService.pageList(query));
    }
    /**
     * 获取就业信息管理管理列表
     */
    @ApiOperation(value = "获取就业信息管理列表")
    @PostMapping(value = "/list")
    public R<List<TEmploymentInfo>> list() {
        return R.ok(employmentInfoService.list(Wrappers.lambdaQuery(TEmploymentInfo.class).orderByDesc(TEmploymentInfo::getCreateTime)));
    }
    /**
     * 添加就业信息管理管理
     */
    @Log(title = "就业信息管理信息-新增就业信息管理", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加就业信息管理")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TEmploymentInfo dto) {
        if (employmentInfoService.isExit(dto)) {
            return R.fail("就业信息标题已存在");
        }
        Long userId = tokenService.getLoginUser().getUser().getUserId();
        String nickName = tokenService.getLoginUser().getUser().getNickName();
        dto.setUserId(userId);
        dto.setReleasePerson(nickName);
        return R.ok(employmentInfoService.save(dto));
    }
    /**
     * 修改就业信息管理
     */
    @Log(title = "就业信息管理信息-修改就业信息管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改就业信息管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TEmploymentInfo dto) {
        if (employmentInfoService.isExit(dto)) {
            return R.fail("就业信息标题已存在");
        }
        return R.ok(employmentInfoService.updateById(dto));
    }
    /**
     * 查看就业信息管理详情
     */
    @ApiOperation(value = "查看就业信息管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TEmploymentInfo> getDetailById(@RequestParam String id) {
        return R.ok(employmentInfoService.getById(id));
    }
    /**
     * 删除就业信息管理
     */
    @Log(title = "就业信息管理信息-删除就业信息管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除就业信息管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(employmentInfoService.removeById(id));
    }
    /**
     * 批量删除就业信息管理
     */
    @Log(title = "就业信息管理信息-删除就业信息管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除就业信息管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(employmentInfoService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TMerchantController.java
@@ -1,9 +1,24 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TMerchant;
import com.ruoyi.system.query.TMerchantQuery;
import com.ruoyi.system.service.TMerchantService;
import com.ruoyi.system.service.TMerchantTypeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * <p>
@@ -13,9 +28,93 @@
 * @author xiaochen
 * @since 2025-11-06
 */
@Api(tags = "商户信息管理")
@RestController
@RequestMapping("/t-merchant")
public class TMerchantController {
    private final TMerchantTypeService merchantTypeService;
    private final TMerchantService merchantService;
    private final TokenService tokenService;
    @Autowired
    public TMerchantController(TMerchantTypeService merchantTypeService, TMerchantService merchantService, TokenService tokenService) {
        this.merchantTypeService = merchantTypeService;
        this.merchantService = merchantService;
        this.tokenService = tokenService;
    }
    /**
     * 获取商户信息管理管理列表
     */
    @ApiOperation(value = "获取商户信息管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TMerchant>> pageList(@RequestBody TMerchantQuery query) {
        return R.ok(merchantService.pageList(query));
    }
    /**
     * 获取商户信息管理管理列表
     */
    @ApiOperation(value = "获取商户信息管理列表")
    @PostMapping(value = "/list")
    public R<List<TMerchant>> list() {
        return R.ok(merchantService.list(Wrappers.lambdaQuery(TMerchant.class).orderByDesc(TMerchant::getCreateTime)));
    }
    /**
     * 添加商户信息管理管理
     */
    @Log(title = "商户信息管理信息-新增商户信息管理", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加商户信息管理")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TMerchant dto) {
        if (merchantService.isExit(dto)) {
            return R.fail("商户名称已存在");
        }
        return R.ok(merchantService.save(dto));
    }
    /**
     * 修改商户信息管理
     */
    @Log(title = "商户信息管理信息-修改商户信息管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改商户信息管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TMerchant dto) {
        if (merchantService.isExit(dto)) {
            return R.fail("商户名称已存在");
        }
        return R.ok(merchantService.updateById(dto));
    }
    /**
     * 查看商户信息管理详情
     */
    @ApiOperation(value = "查看商户信息管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TMerchant> getDetailById(@RequestParam String id) {
        return R.ok(merchantService.getById(id));
    }
    /**
     * 删除商户信息管理
     */
    @Log(title = "商户信息管理信息-删除商户信息管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除商户信息管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(merchantService.removeById(id));
    }
    /**
     * 批量删除商户信息管理
     */
    @Log(title = "商户信息管理信息-删除商户信息管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除商户信息管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(merchantService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOldsterWarningController.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 老人预警 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
@RestController
@RequestMapping("/t-oldster-warning")
public class TOldsterWarningController {
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOtherConfigController.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 系统其他设置 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
@RestController
@RequestMapping("/t-other-config")
public class TOtherConfigController {
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TQuestionnaireStemBriefAnswerController.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * 简答题答案 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
@RestController
@RequestMapping("/t-questionnaire-stem-brief-answer")
public class TQuestionnaireStemBriefAnswerController {
}
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/EmploymentController.java
New file
@@ -0,0 +1,71 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.model.TBanner;
import com.ruoyi.system.model.TEmploymentEntrepreneurship;
import com.ruoyi.system.model.TEmploymentInfo;
import com.ruoyi.system.service.TEmploymentEntrepreneurshipService;
import com.ruoyi.system.service.TEmploymentInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/employment")
@Api(tags = "新就业模块")
public class EmploymentController {
    private final TEmploymentInfoService employmentInfoService;
    private final TEmploymentEntrepreneurshipService employmentEntrepreneurshipService;
    public EmploymentController(TEmploymentInfoService employmentInfoService, TEmploymentEntrepreneurshipService employmentEntrepreneurshipService) {
        this.employmentInfoService = employmentInfoService;
        this.employmentEntrepreneurshipService = employmentEntrepreneurshipService;
    }
    @PostMapping("/getEmploymentInfoList")
    @ApiOperation(value = "新就业模块--新就业信息列表",response =  TEmploymentInfo.class)
    public R<Page<TEmploymentInfo>> getEmploymentInfoList(@RequestBody BasePage basePage) {
        Page<TEmploymentInfo> page = new Page<>(basePage.getPageNum(), basePage.getPageSize());
        Page<TEmploymentInfo> pageEmploymentInfo = employmentInfoService.page(page, Wrappers.<TEmploymentInfo>lambdaQuery().orderByDesc(TEmploymentInfo::getCreateTime));
        return R.ok(pageEmploymentInfo);
    }
    @PostMapping("/getEmploymentInfoDetail/{id}")
    @ApiOperation(value = "新就业模块--新就业信息详情",response =  TEmploymentInfo.class)
    public R<TEmploymentInfo> getEmploymentInfoDetail(@PathVariable String id) {
        TEmploymentInfo employmentInfo = employmentInfoService.getById(id);
        employmentInfo.setReadCount(employmentInfo.getReadCount() + 1);
        employmentInfoService.updateById(employmentInfo);
        return R.ok(employmentInfo);
    }
    @PostMapping("/getEntrepreneurshipList")
    @ApiOperation(value = "创业模块--创业信息列表",response =  TEmploymentEntrepreneurship.class)
    public R<Page<TEmploymentEntrepreneurship>> getEntrepreneurshipList(@RequestBody BasePage basePage) {
        Page<TEmploymentEntrepreneurship> page = new Page<>(basePage.getPageNum(), basePage.getPageSize());
        Page<TEmploymentEntrepreneurship> tEmploymentEntrepreneurshipPage = employmentEntrepreneurshipService.page(page, Wrappers.<TEmploymentEntrepreneurship>lambdaQuery().orderByDesc(TEmploymentEntrepreneurship::getCreateTime));
        return R.ok(tEmploymentEntrepreneurshipPage);
    }
    @PostMapping("/getEntrepreneurshipDetail/{id}")
    @ApiOperation(value = "创业模块--创业信息详情",response =  TEmploymentEntrepreneurship.class)
    public R<TEmploymentEntrepreneurship> getEntrepreneurshipDetail(@PathVariable String id) {
        TEmploymentEntrepreneurship employmentEntrepreneurship = employmentEntrepreneurshipService.getById(id);
        employmentEntrepreneurship.setReadCount(employmentEntrepreneurship.getReadCount() + 1);
        employmentEntrepreneurshipService.updateById(employmentEntrepreneurship);
        return R.ok(employmentEntrepreneurship);
    }
}
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java
New file
@@ -0,0 +1,67 @@
package com.ruoyi.web.controller.api;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.dto.IdDto;
import com.ruoyi.system.model.TBanner;
import com.ruoyi.system.model.TNotice;
import com.ruoyi.system.service.TBannerService;
import com.ruoyi.system.service.TNoticeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/index")
@Api(tags = "首页模块")
public class IndexController {
    private final TBannerService tBannerService;
    private final TNoticeService tNoticeService;
    public IndexController(TBannerService tBannerService, TNoticeService tNoticeService) {
        this.tBannerService = tBannerService;
        this.tNoticeService = tNoticeService;
    }
    @ApiOperation(value = "首页模块--轮播图",response = TBanner.class)
    @GetMapping(value = "/getBannerList")
    public R<List<TBanner>> getBannerList() {
        List<TBanner> tBannerList = tBannerService.list();
        return R.ok(tBannerList);
    }
    @ApiOperation(value = "首页模块--轮播图详情",response = TBanner.class)
    @GetMapping(value = "/getBannerDetail/{id}")
    public R<TBanner> getBannerDetail(@PathVariable String id) {
        TBanner tBanner = tBannerService.getById(id);
        return R.ok(tBanner);
    }
    @ApiOperation(value = "首页模块--公告活动",response = TNotice.class)
    @GetMapping(value = "/getNoticeList")
    public R<List<TNotice>> getNoticeList() {
        List<TNotice> tNoticeList = tNoticeService.list();
        return R.ok(tNoticeList);
    }
    @ApiOperation(value = "首页模块--公告活动详情",response = TNotice.class)
    @GetMapping(value = "/getNoticeDetail/{id}")
    public R<TNotice> getNoticeDetail(@PathVariable String id) {
        TNotice notice = tNoticeService.getById(id);
        return R.ok(notice);
    }
}
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/MerchantController.java
New file
@@ -0,0 +1,73 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.BaseModel;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.model.TAdvertisement;
import com.ruoyi.system.model.TEmploymentInfo;
import com.ruoyi.system.model.TMerchant;
import com.ruoyi.system.model.TMerchantType;
import com.ruoyi.system.query.MerchantQuery;
import com.ruoyi.system.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
@Slf4j
@RestController
@RequestMapping("/merchant")
@Api(tags = "惠民商务模块")
public class MerchantController {
    private final TAdvertisementService advertisementService;
    private final TMerchantService merchantService;
    private final TMerchantTypeService merchantTypeService;
    public MerchantController(TAdvertisementService advertisementService, TMerchantService merchantService, TMerchantTypeService merchantTypeService) {
        this.advertisementService = advertisementService;
        this.merchantService = merchantService;
        this.merchantTypeService = merchantTypeService;
    }
    @GetMapping("/getAdvertisementList")
    @ApiOperation(value = "惠民商务--广告列表",response =  TAdvertisement.class)
    public R<List<TAdvertisement>> getAdvertisementList() {
        List<TAdvertisement> list = advertisementService.list();
        return R.ok(list);
    }
    @GetMapping("/getAdvertisementDetail/{id}")
    @ApiOperation(value = "惠民商务--广告详情",response =  TAdvertisement.class)
    public R<TAdvertisement> getAdvertisementList(@PathVariable String id) {
        TAdvertisement advertisement = advertisementService.getById(id);
        return R.ok(advertisement);
    }
    @PostMapping("/getMerchantList")
    @ApiOperation(value = "惠民商务--商户列表",response =  TMerchant.class)
    public R<Page<TMerchant>> getMerchantList(@RequestBody MerchantQuery query) {
        Page<TMerchant> page = new Page<>(query.getPageNum(), query.getPageSize());
        Page<TMerchant> merchantPage = merchantService.page(page, Wrappers.<TMerchant>lambdaQuery().eq(Objects.nonNull(query.getTypeId()), TMerchant::getTypeId, query.getTypeId())
                .like(Objects.nonNull(query.getMerchantName()), TMerchant::getMerchantName, query.getMerchantName())
                .orderByDesc(BaseModel::getCreateTime)
        );
        return R.ok(merchantPage);
    }
    @GetMapping("/getMerchantDetail/{id}")
    @ApiOperation(value = "惠民商务--商户详情",response =  TMerchant.class)
    public R<TMerchant> getMerchantDetail(@PathVariable String id) {
        TMerchant merchant = merchantService.getById(id);
        return R.ok(merchant);
    }
}
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PartyBuildingController.java
New file
@@ -0,0 +1,52 @@
package com.ruoyi.web.controller.api;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.dto.IdDto;
import com.ruoyi.system.model.TBanner;
import com.ruoyi.system.model.TPartyBuilding;
import com.ruoyi.system.query.PartyBuildingListQuery;
import com.ruoyi.system.service.TPartyBuildingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/partyBuilding")
@Api(tags = "党建引领")
public class PartyBuildingController {
    private final TPartyBuildingService partyBuildingService;
    public PartyBuildingController(TPartyBuildingService partyBuildingService) {
        this.partyBuildingService = partyBuildingService;
    }
    @ApiOperation(value = "党建引领--列表",response = TPartyBuilding.class)
    @PostMapping(value = "/getPartyBuildingList")
    public R<Page<TPartyBuilding>> getPartyBuildingList(@RequestBody PartyBuildingListQuery query) {
        Page<TPartyBuilding> page = new Page<>(query.getPageNum(), query.getPageSize());
        Page<TPartyBuilding> pageTPartyBuilding = partyBuildingService.page(page,
                Wrappers.<TPartyBuilding>lambdaQuery()
                        .eq(TPartyBuilding::getPartyType, query.getPartyType())
                        .orderByDesc(TPartyBuilding::getCreateTime));
        return R.ok(pageTPartyBuilding);
    }
    @ApiOperation(value = "党建引领--详情",response = TPartyBuilding.class)
    @PostMapping(value = "/getPartyBuildingDetail/{id}")
    public R<TPartyBuilding> getPartyBuildingDetail(@PathVariable String id) {
        TPartyBuilding partyBuilding = partyBuildingService.getById(id);
        partyBuilding.setReadCount(partyBuilding.getReadCount() + 1);
        partyBuildingService.updateById(partyBuilding);
        return R.ok(partyBuilding);
    }
}
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/UserIndexController.java
New file
@@ -0,0 +1,116 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.BaseModel;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.model.TAppealServices;
import com.ruoyi.system.model.TChildcareServices;
import com.ruoyi.system.model.TMicroWish;
import com.ruoyi.system.query.AppealServicesStatusQuery;
import com.ruoyi.system.query.MicroWishStatusQuery;
import com.ruoyi.system.service.TAppUserService;
import com.ruoyi.system.service.TAppealServicesService;
import com.ruoyi.system.service.TChildcareServicesService;
import com.ruoyi.system.service.TMicroWishService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.Objects;
@Slf4j
@RestController
@RequestMapping("/userIndex")
@Api(tags = "个人中心")
public class UserIndexController {
    private final TAppUserService tAppUserService;
    private final TChildcareServicesService tChildcareServicesService;
    private final TAppealServicesService tAppealServicesService;
    private final TMicroWishService tMicroWishService;
    private final TokenService tokenService;
    public UserIndexController(TAppUserService tAppUserService, TChildcareServicesService tChildcareServicesService, TAppealServicesService tAppealServicesService, TMicroWishService tMicroWishService, TokenService tokenService) {
        this.tAppUserService = tAppUserService;
        this.tChildcareServicesService = tChildcareServicesService;
        this.tAppealServicesService = tAppealServicesService;
        this.tMicroWishService = tMicroWishService;
        this.tokenService = tokenService;
    }
    @ApiOperation(value = "个人中心--用户信息",response = TAppUser.class)
    @GetMapping(value = "/getUserInfo")
    public R<TAppUser> getUserInfo() {
        String userId = tokenService.getLoginUserApplet().getUserId();
        return R.ok(tAppUserService.getById(userId));
    }
    @ApiOperation(value = "个人中心--托育服务记录",response = TChildcareServices.class)
    @PostMapping(value = "/getChildcareServicesList")
    public R<Page<TChildcareServices>> getChildcareServicesList(@RequestBody BasePage basePage) {
        String userId = tokenService.getLoginUserApplet().getUserId();
        Page<TChildcareServices> page = new Page<>(basePage.getPageNum(), basePage.getPageSize());
        Page<TChildcareServices> childcareServicesPage = tChildcareServicesService.page(page, Wrappers.<TChildcareServices>lambdaQuery().eq(TChildcareServices::getAppUserId, userId).orderByDesc(BaseModel::getCreateTime));
        return R.ok(childcareServicesPage);
    }
    @ApiOperation(value = "个人中心--托育服务记录详情",response = TChildcareServices.class)
    @GetMapping(value = "/getChildcareServicesDetail/{id}")
    public R<TChildcareServices> getChildcareServicesList(@PathVariable String id) {
        TChildcareServices childcareServices = tChildcareServicesService.getById(id);
        return R.ok(childcareServices);
    }
    @ApiOperation(value = "个人中心--诉求服务记录",response = TAppealServices.class)
    @PostMapping(value = "/getAppealServicesList")
    public R<Page<TAppealServices>> getAppealServicesList(@RequestBody AppealServicesStatusQuery query) {
        String userId = tokenService.getLoginUserApplet().getUserId();
        Page<TAppealServices> page = new Page<>(query.getPageNum(), query.getPageSize());
        Page<TAppealServices> appealServicesPage = tAppealServicesService.page(page, Wrappers.<TAppealServices>lambdaQuery().eq(TAppealServices::getAppUserId, userId).eq(TAppealServices::getAppealType,1).eq(Objects.nonNull(query.getStatus()), TAppealServices::getStatus, query.getStatus()).orderByDesc(BaseModel::getCreateTime));
        return R.ok(appealServicesPage);
    }
    @ApiOperation(value = "个人中心--诉求服务记录/随手拍详情",response = TAppealServices.class)
    @GetMapping(value = "/getAppealServicesDetail/{id}")
    public R<TAppealServices> getAppealServicesList(@PathVariable String id) {
        TAppealServices appealServices = tAppealServicesService.getById(id);
        return R.ok(appealServices);
    }
    @ApiOperation(value = "个人中心--随手拍记录",response = TAppealServices.class)
    @PostMapping(value = "/getSnapShareList")
    public R<Page<TAppealServices>> getSnapShareList(@RequestBody AppealServicesStatusQuery query) {
        String userId = tokenService.getLoginUserApplet().getUserId();
        Page<TAppealServices> page = new Page<>(query.getPageNum(), query.getPageSize());
        Page<TAppealServices> appealServicesPage = tAppealServicesService.page(page, Wrappers.<TAppealServices>lambdaQuery().eq(TAppealServices::getAppUserId, userId).eq(TAppealServices::getAppealType,2).eq(Objects.nonNull(query.getStatus()), TAppealServices::getStatus, query.getStatus()).orderByDesc(BaseModel::getCreateTime));
        return R.ok(appealServicesPage);
    }
    @ApiOperation(value = "个人中心--微心愿记录",response = TMicroWish.class)
    @PostMapping(value = "/getMicroWishList")
    public R<Page<TMicroWish>> getMicroWishList(@RequestBody MicroWishStatusQuery query) {
        String userId = tokenService.getLoginUserApplet().getUserId();
        Page<TMicroWish> page = new Page<>(query.getPageNum(), query.getPageSize());
        Page<TMicroWish> microWishPage = tMicroWishService.page(page, Wrappers.<TMicroWish>lambdaQuery().eq(TMicroWish::getAppUserId, userId).eq(Objects.nonNull(query.getStatus()), TMicroWish::getStatus, query.getStatus()).orderByDesc(BaseModel::getCreateTime));
        return R.ok(microWishPage);
    }
    @ApiOperation(value = "个人中心--微心愿详情",response = TMicroWish.class)
    @GetMapping(value = "/getMicroWishDetail/{id}")
    public R<TMicroWish> getMicroWishDetail(@PathVariable String id) {
        TMicroWish microWish = tMicroWishService.getById(id);
        return R.ok(microWish);
    }
}
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
@@ -117,9 +117,11 @@
                        "/register","/applet/getCode","/applet/loginCode",
                        "/applet/changepwd", "/captchaImage","/getCode","/loginCode",
                        "/operations/getBySingleNum/**",
                        "/user/getUserInfoByNumber/**","/open/t-app-user/test",
                        "/wxLogin/**","/cos/get/**","/t-mission/**","/api/t-app-user/**","/open/file/**","/open/t-data-statistics/**","/open/pushMessageSolo/**",
                        "/open/t-mission/sendMission","/open/websocket/**"
                        "/user/getUserInfoByNumber/**",
                        "/index/**",
                        "/employment/**",
                        "/partyBuilding/**"
                ).permitAll()
                // 静态资源,可匿名访问
                .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
ruoyi-system/src/main/java/com/ruoyi/system/dto/AuditCourseOrderRefundDTO.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.system.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
@ApiModel(value = "审核课程订单退款信息AuditCourseOrderRefundDTO")
public class AuditCourseOrderRefundDTO implements Serializable {
    @NotBlank(message = "记录id不能为空")
    private String id;
    @NotNull(message = "退款审核状态不能为空")
    @ApiModelProperty(value = "退款审核状态 1=待审核 2=通过 3=驳回")
    private Integer refundStatus;
    @ApiModelProperty(value = "退款凭证")
    private String refundVoucher;
    @ApiModelProperty(value = "驳回原因")
    private String rejectReason;
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/HandleAppealServicesDTO.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.system.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
@ApiModel(value = "处理诉求服务DTO")
public class HandleAppealServicesDTO implements Serializable {
    @NotBlank(message = "诉求服务id不能为空")
    @ApiModelProperty(value = "诉求服务id")
    private String id;
    @NotBlank(message = "处理备注不能为空")
    @ApiModelProperty(value = "处理备注")
    @TableField("process_remark")
    private String processRemark;
    @ApiModelProperty(value = "处理凭证")
    @TableField("process_pictures")
    private String processPictures;
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/IdDto.java
New file
@@ -0,0 +1,12 @@
package com.ruoyi.system.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("idDto")
public class IdDto implements Serializable {
    private String id;
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TAdvertisementMapper.java
@@ -1,7 +1,12 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.system.model.TAdvertisement;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +18,8 @@
 */
public interface TAdvertisementMapper extends BaseMapper<TAdvertisement> {
    /**
     * 获取广告管理列表
     */
    List<TAdvertisement> pageList(@Param("query") BasePage query, @Param("pageInfo")PageInfo<TAdvertisement> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TAppealServicesMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TAppealServices;
import com.ruoyi.system.query.TAppealServicesQuery;
import com.ruoyi.system.vo.TAppealServicesVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,8 @@
 */
public interface TAppealServicesMapper extends BaseMapper<TAppealServices> {
    /**
     * 获取诉求服务管理分页列表
     */
    List<TAppealServicesVO> pageList(@Param("query") TAppealServicesQuery query, @Param("pageInfo")PageInfo<TAppealServicesVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCourseMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TCourse;
import com.ruoyi.system.query.TCourseQuery;
import com.ruoyi.system.vo.TCourseVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,12 @@
 */
public interface TCourseMapper extends BaseMapper<TCourse> {
    /**
     * 获取课程管理分页列表
     * @param query
     * @param pageInfo
     * @return
     */
    List<TCourseVO> pageList(@Param("query") TCourseQuery query, @Param("pageInfo")PageInfo<TCourseVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCourseOrderMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TCourseOrder;
import com.ruoyi.system.query.TCourseOrderQuery;
import com.ruoyi.system.vo.TCourseOrderVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,14 @@
 */
public interface TCourseOrderMapper extends BaseMapper<TCourseOrder> {
    /**
     * 获取课程订单管理分页列表
     */
    List<TCourseOrderVO> pageList(@Param("query") TCourseOrderQuery query, @Param("pageInfo")PageInfo<TCourseOrderVO> pageInfo);
    /**
     * 获取课程订单申请退款管理分页列表
     */
    List<TCourseOrderVO> refundPageList(@Param("query") TCourseOrderQuery query, @Param("pageInfo")PageInfo<TCourseOrderVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TEmploymentInfoMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TEmploymentInfo;
import com.ruoyi.system.query.TEmploymentInfoQuery;
import com.ruoyi.system.vo.TEmploymentInfoVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,8 @@
 */
public interface TEmploymentInfoMapper extends BaseMapper<TEmploymentInfo> {
    /**
     * 获取就业创业服务管理分页列表
     */
    List<TEmploymentInfoVO> pageList(@Param("query") TEmploymentInfoQuery query, @Param("pageInfo")PageInfo<TEmploymentInfoVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TMerchantMapper.java
@@ -1,7 +1,12 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TMerchant;
import com.ruoyi.system.query.TMerchantQuery;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +18,8 @@
 */
public interface TMerchantMapper extends BaseMapper<TMerchant> {
    /**
     * 获取商户信息管理分页列表
     */
    List<TMerchant> pageList(@Param("query") TMerchantQuery query, @Param("pageInfo")PageInfo<TMerchant> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOldsterWarningMapper.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.model.TOldsterWarning;
/**
 * <p>
 * 老人预警 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
public interface TOldsterWarningMapper extends BaseMapper<TOldsterWarning> {
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOtherConfigMapper.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.model.TOtherConfig;
/**
 * <p>
 * 系统其他设置 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
public interface TOtherConfigMapper extends BaseMapper<TOtherConfig> {
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TQuestionnaireStemBriefAnswerMapper.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.model.TQuestionnaireStemBriefAnswer;
/**
 * <p>
 * 简答题答案 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
public interface TQuestionnaireStemBriefAnswerMapper extends BaseMapper<TQuestionnaireStemBriefAnswer> {
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TAdvertisement.java
@@ -7,6 +7,7 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;
@@ -29,6 +30,7 @@
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @NotBlank(message = "广告名称不能为空")
    @ApiModelProperty(value = "广告名称")
    @TableField("advertisement_name")
    private String advertisementName;
ruoyi-system/src/main/java/com/ruoyi/system/model/TAppealServices.java
@@ -73,6 +73,10 @@
    @TableField("process_remark")
    private String processRemark;
    @ApiModelProperty(value = "处理凭证")
    @TableField("process_pictures")
    private String processPictures;
    @ApiModelProperty(value = "处理时间")
    @TableField("process_time")
    private LocalDateTime processTime;
ruoyi-system/src/main/java/com/ruoyi/system/model/TCourseOrder.java
@@ -52,6 +52,14 @@
    @TableField("pay_money")
    private BigDecimal payMoney;
    @ApiModelProperty(value = "订单编号")
    @TableField("order_number")
    private String orderNumber;
    @ApiModelProperty(value = "支付流水号")
    @TableField("transaction_id")
    private String transactionId;
    @ApiModelProperty(value = "真实姓名")
    @TableField("real_name")
    private String realName;
@@ -85,6 +93,14 @@
    @TableField("refund_reason_pictures")
    private String refundReasonPictures;
    @ApiModelProperty(value = "退款单号")
    @TableField("refund_number")
    private String refundNumber;
    @ApiModelProperty(value = "退款流水号")
    @TableField("refund_transaction_id")
    private String refundTransactionId;
    @ApiModelProperty(value = "银行卡号")
    @TableField("bank_card_number")
    private String bankCardNumber;
ruoyi-system/src/main/java/com/ruoyi/system/model/TOldsterWarning.java
New file
@@ -0,0 +1,40 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * <p>
 * 老人预警
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_oldster_warning")
@ApiModel(value="TOldsterWarning对象", description="老人预警")
public class TOldsterWarning extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "老人户籍id")
    @TableField("oldster_id")
    private String oldsterId;
    @ApiModelProperty(value = "预警时间")
    @TableField("warning_time")
    private LocalDateTime warningTime;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TOtherConfig.java
New file
@@ -0,0 +1,42 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
 * <p>
 * 系统其他设置
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_other_config")
@ApiModel(value="TOtherConfig对象", description="系统其他设置")
public class TOtherConfig implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "老人年龄")
    @TableField("elderly_age")
    private Integer elderlyAge;
    @ApiModelProperty(value = "天数")
    @TableField("days")
    private Integer days;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TQuestionnaireStemBriefAnswer.java
New file
@@ -0,0 +1,46 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
 * <p>
 * 简答题答案
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_questionnaire_stem_brief_answer")
@ApiModel(value="TQuestionnaireStemBriefAnswer对象", description="简答题答案")
public class TQuestionnaireStemBriefAnswer implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "题干id")
    @TableField("stem_id")
    private String stemId;
    @ApiModelProperty(value = "用户id")
    @TableField("app_user_id")
    private String appUserId;
    @ApiModelProperty(value = "回答内容")
    @TableField("answer_content")
    private String answerContent;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/AppealServicesStatusQuery.java
New file
@@ -0,0 +1,13 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("服务/随手拍状态query")
public class AppealServicesStatusQuery extends BasePage {
    @ApiModelProperty(value = "状态 1=待处理 2=已处理" )
    private Integer status;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/MerchantQuery.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("惠民商务Query")
public class MerchantQuery extends BasePage {
    @ApiModelProperty("分类id")
    private String typeId;
    @ApiModelProperty("商户名称")
    private String merchantName;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/MicroWishStatusQuery.java
New file
@@ -0,0 +1,13 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("微心愿状态query")
public class MicroWishStatusQuery extends BasePage {
    @ApiModelProperty(value = "状态 1=待审核 2=已公开 3=已驳回 4=待处理 5=已处理" )
    private Integer status;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/PartyBuildingListQuery.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("党建引领query")
public class PartyBuildingListQuery extends BasePage implements Serializable {
    @ApiModelProperty(value = "分类 1=党务公开 2=党建风采 3=党建学习")
    private Integer partyType;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TAppealServicesQuery.java
New file
@@ -0,0 +1,24 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "诉求服务查询参数TAppealServicesQuery")
public class TAppealServicesQuery extends BasePage {
    @ApiModelProperty(value = "联系人")
    private String contactPerson;
    @ApiModelProperty(value = "联系电话")
    private String contactPhone;
    @ApiModelProperty(value = "状态 1=待处理 2=已处理")
    private Integer status;
    @ApiModelProperty(value = "诉求类型 1=群众诉求服务 2=随心拍")
    private Integer appealType;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TCourseOrderQuery.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "课程订单信息查询参数TCourseOrderQuery")
public class TCourseOrderQuery extends BasePage {
    @ApiModelProperty(value = "课程标题")
    private String courseTitle;
    @ApiModelProperty(value = "课程类型 1=社区大学课程 2=暑期青少年工艺培训班")
    private Integer courseType;
    @ApiModelProperty(value = "真实姓名")
    private String realName;
    @ApiModelProperty(value = "联系电话")
    private String userPhone;
    @ApiModelProperty(value = "支付状态 1=待支付 2=已支付 3=已退款")
    private Integer payStatus;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TCourseQuery.java
New file
@@ -0,0 +1,19 @@
package com.ruoyi.system.query;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "课程管理查询参数TCourseQuery")
public class TCourseQuery extends BasePage {
    @ApiModelProperty(value = "课程标题")
    private String courseTitle;
    @ApiModelProperty(value = "课程类型 1=社区大学课程 2=暑期青少年工艺培训班")
    private Integer courseType;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TEmploymentInfoQuery.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.model.TimeRangeQueryBody;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "就业信息管理查询参数TEmploymentInfoQuery")
public class TEmploymentInfoQuery extends TimeRangeQueryBody {
    @ApiModelProperty(value = "标题")
    private String infoTitle;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TMerchantQuery.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "商户信息查询参数TMerchantQuery")
public class TMerchantQuery extends BasePage {
    @ApiModelProperty(value = "商户名称")
    private String merchantName;
    @ApiModelProperty(value = "商户电话")
    private String merchantPhone;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TAdvertisementService.java
@@ -1,6 +1,8 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.system.model.TAdvertisement;
/**
@@ -13,4 +15,17 @@
 */
public interface TAdvertisementService extends IService<TAdvertisement> {
    /**
     * 判断是否存在
     * @param dto
     * @return
     */
    boolean isExit(TAdvertisement dto);
    /**
     * 获取广告管理分页列表
     * @param query
     * @return
     */
    PageInfo<TAdvertisement> pageList(BasePage query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TAppealServicesService.java
@@ -1,7 +1,10 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TAppealServices;
import com.ruoyi.system.query.TAppealServicesQuery;
import com.ruoyi.system.vo.TAppealServicesVO;
/**
 * <p>
@@ -13,4 +16,10 @@
 */
public interface TAppealServicesService extends IService<TAppealServices> {
    /**
     * 获取诉求服务管理分页列表
     * @param query
     * @return
     */
    PageInfo<TAppealServicesVO> pageList(TAppealServicesQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TCourseOrderService.java
@@ -1,7 +1,10 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TCourseOrder;
import com.ruoyi.system.query.TCourseOrderQuery;
import com.ruoyi.system.vo.TCourseOrderVO;
/**
 * <p>
@@ -13,4 +16,17 @@
 */
public interface TCourseOrderService extends IService<TCourseOrder> {
    /**
     * 获取课程订单管理分页列表
     * @param query
     * @return
     */
    PageInfo<TCourseOrderVO> pageList(TCourseOrderQuery query);
    /**
     * 获取课程申请退款记录分页列表
     * @param query
     * @return
     */
    PageInfo<TCourseOrderVO> refundPageList(TCourseOrderQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TCourseService.java
@@ -1,7 +1,10 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TCourse;
import com.ruoyi.system.query.TCourseQuery;
import com.ruoyi.system.vo.TCourseVO;
/**
 * <p>
@@ -13,4 +16,18 @@
 */
public interface TCourseService extends IService<TCourse> {
    /**
     * 判断数据是否存在
     * @param dto
     * @return
     */
    boolean isExit(TCourse dto);
    /**
     * 获取课程管理分页列表
     * @param query
     * @return
     */
    PageInfo<TCourseVO> pageList(TCourseQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TEmploymentInfoService.java
@@ -1,7 +1,10 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TEmploymentInfo;
import com.ruoyi.system.query.TEmploymentInfoQuery;
import com.ruoyi.system.vo.TEmploymentInfoVO;
/**
 * <p>
@@ -13,4 +16,16 @@
 */
public interface TEmploymentInfoService extends IService<TEmploymentInfo> {
    /**
     * 判断是否存在
     * @param dto
     * @return
     */
    boolean isExit(TEmploymentInfo dto);
    /**
     * 获取就业创业服务管理分页列表
     */
    PageInfo<TEmploymentInfoVO> pageList(TEmploymentInfoQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TMerchantService.java
@@ -1,7 +1,9 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TMerchant;
import com.ruoyi.system.query.TMerchantQuery;
/**
 * <p>
@@ -13,4 +15,17 @@
 */
public interface TMerchantService extends IService<TMerchant> {
    /**
     * 判断商户信息是否存在
     * @param dto
     * @return
     */
    boolean isExit(TMerchant dto);
    /**
     * 商户信息列表
     * @param query
     * @return
     */
    PageInfo<TMerchant> pageList(TMerchantQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TOldsterWarningService.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.model.TOldsterWarning;
/**
 * <p>
 * 老人预警 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
public interface TOldsterWarningService extends IService<TOldsterWarning> {
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TOtherConfigService.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.model.TOtherConfig;
/**
 * <p>
 * 系统其他设置 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
public interface TOtherConfigService extends IService<TOtherConfig> {
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TQuestionnaireStemBriefAnswerService.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.model.TQuestionnaireStemBriefAnswer;
/**
 * <p>
 * 简答题答案 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
public interface TQuestionnaireStemBriefAnswerService extends IService<TQuestionnaireStemBriefAnswer> {
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TAdvertisementServiceImpl.java
@@ -1,10 +1,18 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.TAdvertisementMapper;
import com.ruoyi.system.model.TAdvertisement;
import com.ruoyi.system.model.TAdvertisement;
import com.ruoyi.system.model.TMerchant;
import com.ruoyi.system.service.TAdvertisementService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +25,22 @@
@Service
public class TAdvertisementServiceImpl extends ServiceImpl<TAdvertisementMapper, TAdvertisement> implements TAdvertisementService {
    @Override
    public boolean isExit(TAdvertisement dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TAdvertisement.class).ne(TAdvertisement::getId, dto.getId()).eq(TAdvertisement::getAdvertisementName, dto.getAdvertisementName())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TAdvertisement.class).eq(TAdvertisement::getAdvertisementName, dto.getAdvertisementName())) > 0;
        }
    }
    @Override
    public PageInfo<TAdvertisement> pageList(BasePage query) {
        PageInfo<TAdvertisement> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TAdvertisement> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TAppealServicesServiceImpl.java
@@ -1,10 +1,16 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TAppealServicesMapper;
import com.ruoyi.system.model.TAppealServices;
import com.ruoyi.system.query.TAppealServicesQuery;
import com.ruoyi.system.service.TAppealServicesService;
import com.ruoyi.system.vo.TAppealServicesVO;
import com.ruoyi.system.vo.TCourseVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +23,11 @@
@Service
public class TAppealServicesServiceImpl extends ServiceImpl<TAppealServicesMapper, TAppealServices> implements TAppealServicesService {
    @Override
    public PageInfo<TAppealServicesVO> pageList(TAppealServicesQuery query) {
        PageInfo<TAppealServicesVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TAppealServicesVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCourseOrderServiceImpl.java
@@ -1,10 +1,16 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TCourseOrderMapper;
import com.ruoyi.system.model.TCourseOrder;
import com.ruoyi.system.query.TCourseOrderQuery;
import com.ruoyi.system.service.TCourseOrderService;
import com.ruoyi.system.vo.TCourseOrderVO;
import com.ruoyi.system.vo.TCourseVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +23,19 @@
@Service
public class TCourseOrderServiceImpl extends ServiceImpl<TCourseOrderMapper, TCourseOrder> implements TCourseOrderService {
    @Override
    public PageInfo<TCourseOrderVO> pageList(TCourseOrderQuery query) {
        PageInfo<TCourseOrderVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TCourseOrderVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public PageInfo<TCourseOrderVO> refundPageList(TCourseOrderQuery query) {
        PageInfo<TCourseOrderVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TCourseOrderVO> list = this.baseMapper.refundPageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCourseServiceImpl.java
@@ -1,10 +1,19 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.TCourseMapper;
import com.ruoyi.system.model.TCourse;
import com.ruoyi.system.model.TCourse;
import com.ruoyi.system.query.TCourseQuery;
import com.ruoyi.system.service.TCourseService;
import com.ruoyi.system.vo.TCourseVO;
import com.ruoyi.system.vo.TPartyBuildingVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +26,22 @@
@Service
public class TCourseServiceImpl extends ServiceImpl<TCourseMapper, TCourse> implements TCourseService {
    @Override
    public boolean isExit(TCourse dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TCourse.class).ne(TCourse::getId, dto.getId()).eq(TCourse::getCourseTitle, dto.getCourseTitle())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TCourse.class).eq(TCourse::getCourseTitle, dto.getCourseTitle())) > 0;
        }
    }
    @Override
    public PageInfo<TCourseVO> pageList(TCourseQuery query) {
        PageInfo<TCourseVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TCourseVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TEmploymentInfoServiceImpl.java
@@ -1,10 +1,19 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.TEmploymentInfoMapper;
import com.ruoyi.system.model.TAdvertisement;
import com.ruoyi.system.model.TEmploymentInfo;
import com.ruoyi.system.model.TEmploymentInfo;
import com.ruoyi.system.query.TEmploymentInfoQuery;
import com.ruoyi.system.service.TEmploymentInfoService;
import com.ruoyi.system.vo.TEmploymentInfoVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +26,22 @@
@Service
public class TEmploymentInfoServiceImpl extends ServiceImpl<TEmploymentInfoMapper, TEmploymentInfo> implements TEmploymentInfoService {
    @Override
    public boolean isExit(TEmploymentInfo dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TEmploymentInfo.class).ne(TEmploymentInfo::getId, dto.getId()).eq(TEmploymentInfo::getInfoTitle, dto.getInfoTitle())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TEmploymentInfo.class).eq(TEmploymentInfo::getInfoTitle, dto.getInfoTitle())) > 0;
        }
    }
    @Override
    public PageInfo<TEmploymentInfoVO> pageList(TEmploymentInfoQuery query) {
        PageInfo<TEmploymentInfoVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TEmploymentInfoVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TMerchantServiceImpl.java
@@ -1,10 +1,18 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.TMerchantMapper;
import com.ruoyi.system.model.TMerchant;
import com.ruoyi.system.model.TMerchant;
import com.ruoyi.system.query.TMerchantQuery;
import com.ruoyi.system.service.TMerchantService;
import com.ruoyi.system.vo.TPartyBuildingVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
@@ -17,4 +25,22 @@
@Service
public class TMerchantServiceImpl extends ServiceImpl<TMerchantMapper, TMerchant> implements TMerchantService {
    @Override
    public boolean isExit(TMerchant dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TMerchant.class).ne(TMerchant::getId, dto.getId()).eq(TMerchant::getMerchantName, dto.getMerchantName())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TMerchant.class).eq(TMerchant::getMerchantName, dto.getMerchantName())) > 0;
        }
    }
    @Override
    public PageInfo<TMerchant> pageList(TMerchantQuery query) {
        PageInfo<TMerchant> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TMerchant> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOldsterWarningServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.mapper.TOldsterWarningMapper;
import com.ruoyi.system.model.TOldsterWarning;
import com.ruoyi.system.service.TOldsterWarningService;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 老人预警 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
@Service
public class TOldsterWarningServiceImpl extends ServiceImpl<TOldsterWarningMapper, TOldsterWarning> implements TOldsterWarningService {
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOtherConfigServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.mapper.TOtherConfigMapper;
import com.ruoyi.system.model.TOtherConfig;
import com.ruoyi.system.service.TOtherConfigService;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 系统其他设置 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
@Service
public class TOtherConfigServiceImpl extends ServiceImpl<TOtherConfigMapper, TOtherConfig> implements TOtherConfigService {
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TQuestionnaireStemBriefAnswerServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.mapper.TQuestionnaireStemBriefAnswerMapper;
import com.ruoyi.system.model.TQuestionnaireStemBriefAnswer;
import com.ruoyi.system.service.TQuestionnaireStemBriefAnswerService;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 简答题答案 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-06
 */
@Service
public class TQuestionnaireStemBriefAnswerServiceImpl extends ServiceImpl<TQuestionnaireStemBriefAnswerMapper, TQuestionnaireStemBriefAnswer> implements TQuestionnaireStemBriefAnswerService {
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TAppealServicesVO.java
New file
@@ -0,0 +1,13 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TAppealServices;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "诉求服务返回TAppealServicesVO")
public class TAppealServicesVO extends TAppealServices {
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCourseOrderVO.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.system.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.model.TCourseOrder;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@ApiModel(value = "课程订单信息TCourseOrderVO")
public class TCourseOrderVO extends TCourseOrder {
    @ApiModelProperty(value = "课程标题")
    private String courseTitle;
    @ApiModelProperty(value = "课程类型 1=社区大学课程 2=暑期青少年工艺培训班")
    private Integer courseType;
    @ApiModelProperty(value = "课程费用")
    private BigDecimal courseCost;
    @ApiModelProperty(value = "课程封面")
    private String courseCover;
    @ApiModelProperty(value = "讲师")
    private String courseLecturer;
    @ApiModelProperty(value = "发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime releaseTime;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCourseVO.java
New file
@@ -0,0 +1,10 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TCourse;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "课程管理VO对象")
public class TCourseVO extends TCourse {
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TEmploymentInfoVO.java
New file
@@ -0,0 +1,10 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TEmploymentInfo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "就业信息管理TEmploymentInfo对象", description = "就业信息管理")
public class TEmploymentInfoVO extends TEmploymentInfo {
}
ruoyi-system/src/main/resources/mapper/system/TAdvertisementMapper.xml
@@ -20,5 +20,12 @@
    <sql id="Base_Column_List">
        id, advertisement_name, pictures, advertisement_detail, read_count, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.model.TAdvertisement">
        SELECT
        <include refid="Base_Column_List"/>
            FROM t_advertisement
        WHERE disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TAppealServicesMapper.xml
@@ -17,6 +17,7 @@
        <result column="process_person_name" property="processPersonName" />
        <result column="process_remark" property="processRemark" />
        <result column="process_time" property="processTime" />
        <result column="process_pictures" property="processPictures" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
@@ -26,7 +27,30 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, app_user_id, appeal_type, appeal_description, pictures, contact_person, contact_phone, address, status, user_id, process_person_name, process_remark, process_time, create_time, update_time, create_by, update_by, disabled
        id, app_user_id, appeal_type, appeal_description, pictures, contact_person, contact_phone,
          address, status, user_id, process_person_name, process_remark, process_time,process_pictures,
          create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TAppealServicesVO">
        SELECT
        <include refid="Base_Column_List"/>
            FROM t_appeal_services
        <where>
            <if test="query.contactPerson != null and query.contactPerson != ''">
                and contact_person LIKE CONCAT('%',#{query.contactPerson},'%')
            </if>
            <if test="query.contactPhone != null and query.contactPhone != ''">
                and contact_phone LIKE CONCAT('%',#{query.contactPhone},'%')
            </if>
            <if test="query.status != null">
                and status = #{query.status}
            </if>
            <if test="query.appealType != null">
                and appeal_type = #{query.appealType}
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TCourseMapper.xml
@@ -25,5 +25,20 @@
    <sql id="Base_Column_List">
        id, course_title, course_type, course_cost, course_cover, course_carousel, people_limit, course_detail, course_lecturer, status, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TCourseVO">
        SELECT
        <include refid="Base_Column_List"/>
            FROM t_course
        <where>
            <if test="query.courseTitle != null and query.courseTitle != ''">
                AND course_title LIKE concat('%',#{query.courseTitle},'%')
            </if>
            <if test="query.courseType != null">
                AND course_type = #{query.courseType}
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TCourseOrderMapper.xml
@@ -10,6 +10,8 @@
        <result column="pay_type" property="payType" />
        <result column="pay_time" property="payTime" />
        <result column="pay_money" property="payMoney" />
        <result column="order_number" property="orderNumber" />
        <result column="transaction_id" property="transactionId" />
        <result column="real_name" property="realName" />
        <result column="user_phone" property="userPhone" />
        <result column="id_card" property="idCard" />
@@ -18,6 +20,8 @@
        <result column="refund_money" property="refundMoney" />
        <result column="refund_reason" property="refundReason" />
        <result column="refund_reason_pictures" property="refundReasonPictures" />
        <result column="refund_number" property="refundNumber" />
        <result column="refund_transaction_id" property="refundTransactionId" />
        <result column="bank_card_number" property="bankCardNumber" />
        <result column="cardholder_name" property="cardholderName" />
        <result column="bank_name" property="bankName" />
@@ -33,7 +37,68 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, course_id, app_user_id, pay_type, pay_time, pay_money, real_name, user_phone, id_card, pay_status, request_refund_time, refund_money, refund_reason, refund_reason_pictures, bank_card_number, cardholder_name, bank_name, refund_status, refund_voucher, reject_reason, create_time, update_time, create_by, update_by, disabled
        id, course_id, app_user_id, pay_type, pay_time, pay_money, order_number,transaction_id,
          real_name, user_phone, id_card, pay_status, request_refund_time, refund_money, refund_reason,
          refund_reason_pictures,refund_number, refund_transaction_id, bank_card_number, cardholder_name,
          bank_name, refund_status, refund_voucher, reject_reason, create_time, update_time, create_by,
          update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TCourseOrderVO">
        select tco.id, tco.course_id, tco.app_user_id, tco.pay_type, tco.pay_time, tco.pay_money, tco.order_number,tco.transaction_id,
               tco.real_name, tco.user_phone, tco.id_card, tco.pay_status, tco.request_refund_time, tco.refund_money, tco.refund_reason,
               tco.refund_reason_pictures,tco.refund_number, tco.refund_transaction_id, tco.bank_card_number, tco.cardholder_name,
               tco.bank_name, tco.refund_status, tco.refund_voucher, tco.reject_reason, tco.create_time, tco.update_time, tco.create_by,
               tco.update_by, tco.disabled,tc.course_title,tc.course_type
        from t_course_order tco
        left join t_course tc on tc.id = tco.course_id
        <where>
            <if test="query.courseTitle != null and query.courseTitle != ''">
                AND tc.course_title LIKE concat('%',#{query.courseTitle},'%')
            </if>
            <if test="query.courseType != null">
                AND tc.course_type = #{query.courseType}
            </if>
            <if test="query.realName != null and query.realName != ''">
                AND tco.real_name LIKE concat('%',#{query.realName},'%')
            </if>
            <if test="query.userPhone != null and query.userPhone != ''">
                AND tco.user_phone LIKE concat('%',#{query.userPhone},'%')
            </if>
            <if test="query.payStatus != null">
                AND tco.pay_status = #{query.payStatus}
            </if>
            AND tco.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tco.create_time DESC
    </select>
    <select id="refundPageList" resultType="com.ruoyi.system.vo.TCourseOrderVO">
        select tco.id, tco.course_id, tco.app_user_id, tco.pay_type, tco.pay_time, tco.pay_money, tco.order_number,tco.transaction_id,
        tco.real_name, tco.user_phone, tco.id_card, tco.pay_status, tco.request_refund_time, tco.refund_money, tco.refund_reason,
        tco.refund_reason_pictures,tco.refund_number, tco.refund_transaction_id, tco.bank_card_number, tco.cardholder_name,
        tco.bank_name, tco.refund_status, tco.refund_voucher, tco.reject_reason, tco.create_time, tco.update_time, tco.create_by,
        tco.update_by, tco.disabled,tc.course_title,tc.course_type
        from t_course_order tco
        left join t_course tc on tc.id = tco.course_id
        <where>
            <if test="query.courseTitle != null and query.courseTitle != ''">
                AND tc.course_title LIKE concat('%',#{query.courseTitle},'%')
            </if>
            <if test="query.courseType != null">
                AND tc.course_type = #{query.courseType}
            </if>
            <if test="query.realName != null and query.realName != ''">
                AND tco.real_name LIKE concat('%',#{query.realName},'%')
            </if>
            <if test="query.userPhone != null and query.userPhone != ''">
                AND tco.user_phone LIKE concat('%',#{query.userPhone},'%')
            </if>
            <if test="query.payStatus != null">
                AND tco.pay_status = #{query.payStatus}
            </if>
            AND tco.bank_card_number IS NOT NULL
            AND tco.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tco.create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TEmploymentInfoMapper.xml
@@ -23,5 +23,21 @@
    <sql id="Base_Column_List">
        id, info_title, info_cover, virtual_reading_count, read_count, info_detail, user_id, release_person, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TEmploymentInfoVO">
        SELECT
        <include refid="Base_Column_List"/>
            FROM t_employment_info
        <where>
            <if test="query.infoTitle != null and query.infoTitle != ''">
                and info_title LIKE concat('%',#{query.infoTitle},'%')
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                AND create_time &gt;= #{query.startTime}
                AND create_time &lt;= #{query.endTime}
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TMerchantMapper.xml
@@ -22,5 +22,20 @@
    <sql id="Base_Column_List">
        id, merchant_name, merchant_phone, type_id, merchant_logo, address, merchant_detail, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.model.TMerchant">
        SELECT
        <include refid="Base_Column_List"/>
            FROM t_merchant
        <where>
            <if test="query.merchantName != null and query.merchantName != ''">
                AND merchant_name LIKE CONCAT('%',#{query.merchantName},'%')
            </if>
            <if test="query.merchantPhone != null and query.merchantPhone != ''">
                AND merchant_phone LIKE CONCAT('%',#{query.merchantPhone},'%')
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TOldsterWarningMapper.xml
New file
@@ -0,0 +1,22 @@
<?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.ruoyi.system.mapper.TOldsterWarningMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TOldsterWarning">
        <id column="id" property="id" />
        <result column="oldster_id" property="oldsterId" />
        <result column="warning_time" property="warningTime" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, oldster_id, warning_time, create_time, update_time, create_by, update_by, disabled
    </sql>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TOtherConfigMapper.xml
New file
@@ -0,0 +1,17 @@
<?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.ruoyi.system.mapper.TOtherConfigMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TOtherConfig">
        <id column="id" property="id" />
        <result column="elderly_age" property="elderlyAge" />
        <result column="days" property="days" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, elderly_age, days
    </sql>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TQuestionnaireStemBriefAnswerMapper.xml
New file
@@ -0,0 +1,18 @@
<?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.ruoyi.system.mapper.TQuestionnaireStemBriefAnswerMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TQuestionnaireStemBriefAnswer">
        <id column="id" property="id" />
        <result column="stem_id" property="stemId" />
        <result column="app_user_id" property="appUserId" />
        <result column="answer_content" property="answerContent" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, stem_id, app_user_id, answer_content
    </sql>
</mapper>