夏文涛 11 месяцев назад
Родитель
Сommit
e020a95c42

+ 2 - 2
src/main/java/com/template/AutoCode.java

@@ -39,7 +39,7 @@ public class AutoCode {
         mpg.setGlobalConfig(gc);
 //2、设置数据源
         DataSourceConfig dsc = new DataSourceConfig();
-        dsc.setUrl("jdbc:mysql://172.16.40.122:3306/welcome?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai");
+        dsc.setUrl("jdbc:mysql://172.16.40.126:3306/welcome?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai");
         dsc.setDriverName("com.mysql.cj.jdbc.Driver");
         dsc.setUsername("root");
         dsc.setPassword("Chuanghai2024.");
@@ -56,7 +56,7 @@ public class AutoCode {
         mpg.setPackageInfo(pc);
         //4、策略配置
         StrategyConfig strategy = new StrategyConfig();
-        strategy.setInclude("welcome_role"); // 设置要映射的表名
+        strategy.setInclude("welcome_pay_setting"); // 设置要映射的表名
         strategy.setNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setEntityLombokModel(true); // 自动lombok;

+ 0 - 2
src/main/java/com/template/api/WelcomeDormitoryControllerAPI.java

@@ -18,12 +18,10 @@ public interface WelcomeDormitoryControllerAPI {
     @ApiOperation(value = "添加寝室", notes = "添加寝室", httpMethod = "POST")
     CommonResult saveDormitory(@RequestBody WelcomeDormitory welcomeDormitory);
 
-
     @GetMapping(value = "/deleteDormitory")
     @ApiOperation(value = "删除寝室", notes = "删除寝室", httpMethod = "GET")
     CommonResult deleteDormitory(@RequestParam Integer dormitoryId);
 
-
     @PostMapping(value = "/updateDormitory")
     @ApiOperation(value = "修改寝室", notes = "修改寝室", httpMethod = "POST")
     CommonResult updateDormitory(@RequestBody WelcomeDormitory welcomeDormitory);

+ 57 - 0
src/main/java/com/template/api/WelcomePaySettingControllerAPI.java

@@ -0,0 +1,57 @@
+package com.template.api;
+
+import com.template.model.request.insertPaySettingRequest;
+import com.template.model.request.updatePaySettingRequest;
+import com.template.model.result.CommonResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.text.ParseException;
+
+/**
+ * 访客相关接口
+ *
+ * @author codingliang
+ * @date 2025-06-16
+ */
+@RequestMapping("api/paySetting")
+@Api(tags = {"paySetting"}, value = "支付设置")
+public interface WelcomePaySettingControllerAPI {
+
+    @GetMapping(value = "/getPageDatas")
+    @ApiOperation(value = "获取全部设置数据")
+    CommonResult getPageDatas(@RequestParam int currentPage, @RequestParam int pageCount, Integer collegeId, Integer majorId, String eduLevel);
+
+    @PostMapping(value = "/insertPaySetting")
+    @ApiOperation(value = "缴费设置", notes = "缴费设置", httpMethod = "POST")
+    CommonResult insertPaySetting(@Validated @RequestBody insertPaySettingRequest psr, BindingResult bindingResult) throws Exception;
+
+    @PostMapping(value = "/updatePaySetting")
+    @ApiOperation(value = "更新缴费设置", notes = "更新缴费设置", httpMethod = "POST")
+    CommonResult updatePaySetting(@Validated @RequestBody updatePaySettingRequest psr, BindingResult bindingResult) throws Exception;
+
+    @GetMapping(value = "/deletePaySetting")
+    @ApiOperation(value = "删除缴费设置", notes = "删除缴费设置", httpMethod = "GET")
+    CommonResult deleteDormitory(@RequestParam Integer id);
+
+
+    @PostMapping(value = "/importPaySettingExcel")
+    @ApiOperation(value = "导入缴费设置数据", notes = "导入缴费设置数据", httpMethod = "POST")
+    CommonResult importPaySettingExcel(@RequestParam("file") MultipartFile file) throws IOException, ParseException;
+
+    @GetMapping(value = "/downloadPaySettingExcel")
+    @ApiOperation(value = "缴费设置导出模板", notes = "缴费设置导出模板", httpMethod = "GET")
+    CommonResult downloadPaySettingExcel();
+
+    @GetMapping(value = "paySettingExport")
+    @ApiOperation(value = "导出缴费设置数据", notes = "导出缴费设置数据", httpMethod = "GET")
+    void paySettingExport(@RequestAttribute String userId, HttpServletResponse response, Integer collegeId, Integer majorId, String eduLevel);
+
+
+}

+ 378 - 3
src/main/java/com/template/controller/WelcomePaySettingController.java

@@ -1,20 +1,395 @@
 package com.template.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.template.api.WelcomePaySettingControllerAPI;
+import com.template.common.utils.CardUtils;
+import com.template.common.utils.ExcelUtils;
+import com.template.common.utils.paramUtils;
+import com.template.model.enumModel.eFileType;
+import com.template.model.enumModel.eSchool;
+import com.template.model.pojo.*;
+import com.template.model.request.insertPaySettingRequest;
+import com.template.model.request.updatePaySettingRequest;
+import com.template.model.result.CommonResult;
+import com.template.model.result.PageUtils;
+import com.template.model.vo.StudentPageVo;
+import com.template.services.WelcomeOrgService;
+import com.template.services.WelcomePaySettingService;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.DataFormatter;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.validation.BindingResult;
 
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Optional;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author ceshi
  * @since 2025-06-13
  */
 @RestController
-public class WelcomePaySettingController {
+public class WelcomePaySettingController implements WelcomePaySettingControllerAPI {
+
+    @Autowired
+    private WelcomeOrgService welcomeOrgService;
+    @Autowired
+    private WelcomePaySettingService welcomePaySettingService;
+
+    @Override
+    public CommonResult getPageDatas(int currentPage, int pageCount, Integer collegeId, Integer majorId, String eduLevel) {
+        PageUtils<WelcomePaySetting> pages = welcomePaySettingService.queryPageWelcomePaySettings(currentPage, pageCount, collegeId, majorId, eduLevel);
+        return CommonResult.ok(pages);
+    }
+
+    @Override
+    public CommonResult insertPaySetting(insertPaySettingRequest psr, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        WelcomePaySetting exist = welcomePaySettingService.queryPaySettingById(psr.getCollegeId(), psr.getMajorId(), psr.getEduLevel());
+        if (exist != null) {
+            return CommonResult.fail("当前院系专业已设置!");
+        }
+
+        WelcomePaySetting wps = new WelcomePaySetting();
+        wps.setCollegeId(psr.getCollegeId());
+        wps.setCollegeName(psr.getCollegeName());
+        wps.setMajorId(psr.getMajorId());
+        wps.setMajorName(psr.getMajorName());
+        wps.setEduLevel(psr.getEduLevel());
+        wps.setEduSystem(psr.getEduSystem());
+
+        int result = welcomePaySettingService.insertWelcomePaySetting(wps);
+        return result > 0 ? CommonResult.ok("添加成功!") : CommonResult.fail("添加失败!");
+    }
+
+    @Override
+    public CommonResult updatePaySetting(updatePaySettingRequest psr, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        WelcomePaySetting oldData = welcomePaySettingService.getManageById(psr.getId());
+        if (oldData == null) {
+            return CommonResult.fail("当前数据已失效,编辑失败!");
+        }
+
+        WelcomePaySetting exist = welcomePaySettingService.queryPaySettingById(psr.getCollegeId(), psr.getMajorId(), psr.getEduLevel());
+        if (exist != null && psr.getId().intValue() != exist.getId().intValue()) {
+            return CommonResult.fail("当前院系专业已设置!");
+        }
+
+        oldData.setCollegeId(psr.getCollegeId());
+        oldData.setCollegeName(psr.getCollegeName());
+        oldData.setMajorId(psr.getMajorId());
+        oldData.setMajorName(psr.getMajorName());
+        oldData.setEduLevel(psr.getEduLevel());
+        oldData.setEduSystem(psr.getEduSystem());
+
+        int result = welcomePaySettingService.updateWelcomePaySetting(oldData);
+        return result > 0 ? CommonResult.ok("编辑成功!") : CommonResult.fail("编辑失败!");
+    }
+
+    @Override
+    public CommonResult deleteDormitory(Integer id) {
+        int result = welcomePaySettingService.deleteWelcomePaySettingById(id);
+        return result < 0 ? CommonResult.fail("删除失败") : CommonResult.ok("删除成功");
+    }
+
+    @Override
+    public CommonResult importPaySettingExcel(MultipartFile file) throws IOException, ParseException {
+        if (file.isEmpty() || file.getSize() == 0) {
+            return CommonResult.fail("导入文件不能为空");
+        }
+        String ContentType = file.getContentType();
+        InputStream inputStream = file.getInputStream();
+        List<WelcomePaySetting> result = new ArrayList<>();
+
+        //xls格式文件
+        if (ContentType.equals(eFileType.Xls.getValue())) {
+
+            CommonResult<List<WelcomePaySetting>> resultData = readXls(inputStream);
+            if (!resultData.isSuccess()) {
+                return resultData;
+            }
+            result = resultData.getData();
+
+        } else if (ContentType.equals(eFileType.Xlsx.getValue())) {
+            CommonResult<List<WelcomePaySetting>> resultData = readXlsx(inputStream);
+            if (!resultData.isSuccess()) {
+                return resultData;
+            }
+            result = resultData.getData();
+
+        } else {
+            return CommonResult.fail("缴费设置数据导入只支持Xls或Xlsx格式文件");
+        }
+
+        List<WelcomePaySetting> existPays = welcomePaySettingService.queryPaySettings();
+        if (existPays != null && existPays.size() > 0) {
+            for (WelcomePaySetting wps : result) {
+                Optional<WelcomePaySetting> ows = existPays.stream().filter(e -> e.getCollegeId().intValue() == wps.getCollegeId().intValue()
+                && e.getMajorId().intValue() == wps.getMajorId().intValue() && e.getEduLevel().equals(wps.getEduLevel())).findFirst();
+                if (ows != null && ows.isPresent()) {
+                    wps.setId(ows.get().getId());
+                }
+            }
+        }
+
+        boolean resultBool = welcomePaySettingService.saveOrUpdateBatch(result);
+
+        System.out.println("导入缴费设置1");
+        return resultBool ? CommonResult.ok("导入成功") : CommonResult.fail("导入失败");
+    }
+
+    /**
+     * xls文件读取方法
+     *
+     * @param inputStream
+     * @return
+     * @throws IOException
+     * @throws ParseException
+     */
+    private CommonResult<List<WelcomePaySetting>> readXls(InputStream inputStream) throws IOException, ParseException {
+        List<WelcomePaySetting> result = new ArrayList<>();
+        HSSFWorkbook sheets = new HSSFWorkbook(inputStream);
+
+        List<WelcomeOrg> ws = welcomeOrgService.list(null);
+
+        //读取第一张sheet
+        HSSFSheet sheetAt = sheets.getSheetAt(0);
+        DataFormatter dataFormatter = new DataFormatter();
+
+        try {
+            //rowNum = 3 从第三行开始获取值
+            //sheetAt.getLastRowNum():从0开始统计数量 所以得+1
+            for (int rowNum = 0; rowNum < sheetAt.getLastRowNum() + 1; rowNum++) {
+
+                HSSFRow row = sheetAt.getRow(rowNum);
+
+                if (row != null) {
+                    //使用了getStringCellValue()方法来获取值,POI会判断单元格的类型,如果非字符串类型就会抛出上面的异常。
+                    //所以先使用setCellType()方法先将该单元格的类型设置为STRING
+                    //然后poi会根据字符串读取它
+                    //第一行数据获取月份
+                    if (rowNum == 0) {
+                        String number = dataFormatter.formatCellValue(row.getCell(0));//序号
+                        if (!number.equals("序号")) {
+                            return CommonResult.fail("导入数据第一列为序号");
+                        }
+                        String college = dataFormatter.formatCellValue(row.getCell(1));//学院
+                        if (!college.equals("学院")) {
+                            return CommonResult.fail("导入数据第二列为学院");
+                        }
+                        String major = dataFormatter.formatCellValue(row.getCell(2));//专业名称
+                        if (!major.equals("专业名称")) {
+                            return CommonResult.fail("导入数据第三列为专业名称");
+                        }
+                        String eduLevel = dataFormatter.formatCellValue(row.getCell(3));//层次
+                        if (!eduLevel.equals("层次")) {
+                            return CommonResult.fail("导入数据第四列为层次");
+                        }
+                        String eduSystem = dataFormatter.formatCellValue(row.getCell(4));//学制
+                        if (!eduSystem.equals("学制")) {
+                            return CommonResult.fail("导入数据第五列为学制");
+                        }
+                        String payMoney = dataFormatter.formatCellValue(row.getCell(5));//金额
+                        if (!payMoney.equals("金额")) {
+                            return CommonResult.fail("导入数据第六列为金额");
+                        }
+
+                    } else {
+                        WelcomePaySetting paySetting = new WelcomePaySetting();
+
+                        String college = dataFormatter.formatCellValue(row.getCell(1));//学院
+                        if (!StringUtils.hasText(college)) {
+                            break;
+                        }
+
+                        //region 院系专业
+                        Optional<WelcomeOrg> owo = ws.stream().filter(e -> e.getName().equals(college)).findFirst();
+                        if (owo != null && owo.isPresent()) {
+                            paySetting.setCollegeName(college);
+                            paySetting.setCollegeId(owo.get().getId());
+                        }
+
+                        String major = dataFormatter.formatCellValue(row.getCell(2));//专业
+                        Optional<WelcomeOrg> omwo = ws.stream().filter(e -> owo != null && owo.isPresent() && e.getParentId().intValue() == owo.get().getId().intValue() && e.getName().equals(major)).findFirst();
+                        if (omwo != null && omwo.isPresent()) {
+                            paySetting.setMajorName(major);
+                            paySetting.setMajorId(omwo.get().getId());
+                        }
+
+                        String eduLevel = dataFormatter.formatCellValue(row.getCell(3));//层次
+                        paySetting.setEduLevel(eduLevel);
+                        String eduSystem = dataFormatter.formatCellValue(row.getCell(4));//学制
+                        paySetting.setEduSystem(eduSystem);
+                        String payMoney = dataFormatter.formatCellValue(row.getCell(5));//金额
+                        paySetting.setPayAmount(new BigDecimal(payMoney));
+                        result.add(paySetting);
+                    }
+                }
+            }
+        } catch (Exception e) {
+            return CommonResult.fail("请按模板格式导入数据");
+        }
+
+        return CommonResult.ok(result);
+    }
+
+    /**
+     * xlsx文件读取方法
+     *
+     * @param inputStream
+     * @return
+     * @throws IOException
+     * @throws ParseException
+     */
+    private CommonResult<List<WelcomePaySetting>> readXlsx(InputStream inputStream) throws IOException, ParseException {
+        List<WelcomePaySetting> result = new ArrayList<>();
+        XSSFWorkbook sheets = new XSSFWorkbook(inputStream);
+
+        List<WelcomeOrg> ws = welcomeOrgService.list(null);
+
+        //读取第一张sheet
+        XSSFSheet sheetAt = sheets.getSheetAt(0);
+        DataFormatter dataFormatter = new DataFormatter();
+
+        try {
+            //rowNum = 3 从第三行开始获取值
+            //sheetAt.getLastRowNum():从0开始统计数量 所以得+1
+            for (int rowNum = 0; rowNum < sheetAt.getLastRowNum() + 1; rowNum++) {
+
+                XSSFRow row = sheetAt.getRow(rowNum);
+
+                if (row != null) {
+                    //使用了getStringCellValue()方法来获取值,POI会判断单元格的类型,如果非字符串类型就会抛出上面的异常。
+                    //所以先使用setCellType()方法先将该单元格的类型设置为STRING
+                    //然后poi会根据字符串读取它
+                    //第一行数据获取月份
+                    if (rowNum == 0) {
+                        String number = dataFormatter.formatCellValue(row.getCell(0));//序号
+                        if (!number.equals("序号")) {
+                            return CommonResult.fail("导入数据第一列为序号");
+                        }
+                        String college = dataFormatter.formatCellValue(row.getCell(1));//学院
+                        if (!college.equals("学院")) {
+                            return CommonResult.fail("导入数据第二列为学院");
+                        }
+                        String major = dataFormatter.formatCellValue(row.getCell(2));//专业名称
+                        if (!major.equals("专业名称")) {
+                            return CommonResult.fail("导入数据第三列为专业名称");
+                        }
+                        String eduLevel = dataFormatter.formatCellValue(row.getCell(3));//层次
+                        if (!eduLevel.equals("层次")) {
+                            return CommonResult.fail("导入数据第四列为层次");
+                        }
+                        String eduSystem = dataFormatter.formatCellValue(row.getCell(4));//学制
+                        if (!eduSystem.equals("学制")) {
+                            return CommonResult.fail("导入数据第五列为学制");
+                        }
+                        String payMoney = dataFormatter.formatCellValue(row.getCell(5));//金额
+                        if (!payMoney.equals("金额")) {
+                            return CommonResult.fail("导入数据第六列为金额");
+                        }
+
+                    } else {
+                        WelcomePaySetting paySetting = new WelcomePaySetting();
+
+                        String college = dataFormatter.formatCellValue(row.getCell(1));//学院
+                        if (!StringUtils.hasText(college)) {
+                            break;
+                        }
+
+                        //region 院系专业
+                        Optional<WelcomeOrg> owo = ws.stream().filter(e -> e.getName().equals(college)).findFirst();
+                        if (owo != null && owo.isPresent()) {
+                            paySetting.setCollegeName(college);
+                            paySetting.setCollegeId(owo.get().getId());
+                        }
+
+                        String major = dataFormatter.formatCellValue(row.getCell(2));//专业
+                        Optional<WelcomeOrg> omwo = ws.stream().filter(e -> owo != null && owo.isPresent() && e.getParentId().intValue() == owo.get().getId().intValue() && e.getName().equals(major)).findFirst();
+                        if (omwo != null && omwo.isPresent()) {
+                            paySetting.setMajorName(major);
+                            paySetting.setMajorId(omwo.get().getId());
+                        }
+
+                        String eduLevel = dataFormatter.formatCellValue(row.getCell(3));//层次
+                        paySetting.setEduLevel(eduLevel);
+                        String eduSystem = dataFormatter.formatCellValue(row.getCell(4));//学制
+                        paySetting.setEduSystem(eduSystem);
+                        String payMoney = dataFormatter.formatCellValue(row.getCell(5));//金额
+                        paySetting.setPayAmount(new BigDecimal(payMoney));
+                        result.add(paySetting);
+                    }
+                }
+            }
+        } catch (Exception e) {
+            return CommonResult.fail("请按模板格式导入数据");
+        }
+
+        return CommonResult.ok(result);
+    }
+
+    @Override
+    public CommonResult downloadPaySettingExcel() {
+        return CommonResult.ok("200", "操作成功", "https://chtech.ncjti.edu.cn/welcome/homeimage/缴费设置管理.xlsx");
+    }
+
+    @Override
+    public void paySettingExport(String userId, HttpServletResponse response, Integer collegeId, Integer majorId, String eduLevel) {
+        Workbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("缴费设置");
+        List<WelcomePaySetting> result = welcomePaySettingService.queryPaySettingsById(collegeId, majorId, eduLevel);
+
+        //导出
+        Row headerRow = sheet.createRow(0);
+        headerRow.createCell(0).setCellValue("序号");
+        headerRow.createCell(1).setCellValue("学院");
+        headerRow.createCell(2).setCellValue("专业名称");
+        headerRow.createCell(3).setCellValue("层次");
+        headerRow.createCell(4).setCellValue("学制");
+        headerRow.createCell(5).setCellValue("金额");
+        for (int i = 0; i < result.size(); i++) {
+            WelcomePaySetting studentData = result.get(i);
+            Row dataRow = sheet.createRow(i + 1);
+            dataRow.createCell(0).setCellValue(i + 1);
+            dataRow.createCell(1).setCellValue(studentData.getCollegeName());
+            dataRow.createCell(2).setCellValue(studentData.getMajorName());
+            dataRow.createCell(3).setCellValue(studentData.getEduLevel());
+            dataRow.createCell(4).setCellValue(studentData.getEduSystem());
+            dataRow.createCell(5).setCellValue(String.format("%02d", studentData.getPayAmount()));
+        }
+        // 将工作簿写入文件
+        ExcelUtils.excelDownload(workbook, "缴费设置.xlsx", response);
+    }
 
 }
 

+ 2 - 2
src/main/java/com/template/controller/WelcomeStudentController.java

@@ -1100,14 +1100,14 @@ public class WelcomeStudentController implements WelcomeStudentControllerAPI {
                         }
 
                         String major = dataFormatter.formatCellValue(row.getCell(6));//专业
-                        Optional<WelcomeOrg> omwo = ws.stream().filter(e -> e.getName().equals(major)).findFirst();
+                        Optional<WelcomeOrg> omwo = ws.stream().filter(e -> owo != null && owo.isPresent() && e.getParentId().intValue() == owo.get().getId().intValue() && e.getName().equals(major)).findFirst();
                         if (omwo != null && omwo.isPresent()) {
                             studentData.setMajor(major);
                             studentData.setMajorId(omwo.get().getId());
                         }
 
                         String classstr = dataFormatter.formatCellValue(row.getCell(7));//班级
-                        Optional<WelcomeOrg> ocwo = ws.stream().filter(e -> e.getName().equals(classstr)).findFirst();
+                        Optional<WelcomeOrg> ocwo = ws.stream().filter(e -> omwo != null && omwo.isPresent() && e.getParentId().intValue() == omwo.get().getId().intValue() && e.getName().equals(classstr)).findFirst();
                         if (ocwo != null && ocwo.isPresent()) {
                             studentData.setClassstr(classstr);
                             studentData.setClassstrId(ocwo.get().getId());

+ 1 - 1
src/main/java/com/template/mapper/WelcomePaySettingMapper.java

@@ -1,7 +1,7 @@
 package com.template.mapper;
 
-import com.template.model.pojo.WelcomePaySetting;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.pojo.WelcomePaySetting;
 import org.springframework.stereotype.Repository;
 
 /**

+ 30 - 13
src/main/java/com/template/model/pojo/WelcomePaySetting.java

@@ -1,27 +1,23 @@
 package com.template.model.pojo;
 
-import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  *
  * </p>
  *
  * @author ceshi
- * @since 2025-06-13
+ * @since 2025-07-11
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -35,18 +31,39 @@ public class WelcomePaySetting implements Serializable {
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
-    @ApiModelProperty(value = "是否选")
+    @ApiModelProperty(value = "是否选")
     private Integer isCheck;
 
+    @ApiModelProperty(value = "校区ID")
+    private Integer schoolId;
+
     @ApiModelProperty(value = "校区")
     private String school;
 
-    @ApiModelProperty(value = "方式")
-    private String method;
+    @ApiModelProperty(value = "学院ID")
+    private Integer collegeId;
+
+    @ApiModelProperty(value = "学院名称")
+    private String collegeName;
+
+    @ApiModelProperty(value = "专业ID")
+    private Integer majorId;
+
+    @ApiModelProperty(value = "专业名称")
+    private String majorName;
+
+    @ApiModelProperty(value = "层次 本科 或专科")
+    private String eduLevel;
+
+    @ApiModelProperty(value = "学制")
+    private String eduSystem;
 
     @ApiModelProperty(value = "金额")
     private BigDecimal payAmount;
 
+    @ApiModelProperty(value = "方式")
+    private String method;
+
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)
     private Date createTime;

+ 36 - 0
src/main/java/com/template/model/request/insertPaySettingRequest.java

@@ -0,0 +1,36 @@
+package com.template.model.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+/**
+ * 修改密码
+ */
+@Data
+public class insertPaySettingRequest {
+    @NotNull(message = "学院ID不能为空")
+    private Integer collegeId;
+
+    @NotBlank(message = "学院名称不能为空")
+    private String collegeName;
+
+    @NotNull(message = "专业ID不能为空")
+    private Integer majorId;
+
+    @NotBlank(message = "专业名称不能为空")
+    private String majorName;
+
+    @NotBlank(message = "层次不能为空")
+    private String eduLevel;
+
+    @NotBlank(message = "学制不能为空")
+    private String eduSystem;
+
+    @ApiModelProperty(value = "金额不能为空")
+    private BigDecimal payAmount;
+
+}

+ 39 - 0
src/main/java/com/template/model/request/updatePaySettingRequest.java

@@ -0,0 +1,39 @@
+package com.template.model.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+/**
+ * 修改密码
+ */
+@Data
+public class updatePaySettingRequest {
+    @NotNull(message = "数据ID不能为空")
+    private Integer id;
+
+    @NotNull(message = "学院ID不能为空")
+    private Integer collegeId;
+
+    @NotBlank(message = "学院名称不能为空")
+    private String collegeName;
+
+    @NotNull(message = "专业ID不能为空")
+    private Integer majorId;
+
+    @NotBlank(message = "专业名称不能为空")
+    private String majorName;
+
+    @NotBlank(message = "层次不能为空")
+    private String eduLevel;
+
+    @NotBlank(message = "学制不能为空")
+    private String eduSystem;
+
+    @ApiModelProperty(value = "金额不能为空")
+    private BigDecimal payAmount;
+
+}

+ 13 - 4
src/main/java/com/template/services/WelcomePaySettingService.java

@@ -1,15 +1,14 @@
 package com.template.services;
 
-import com.template.model.pojo.WelcomePaySetting;
-import com.template.model.pojo.WelcomePaySetting;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.template.model.pojo.WelcomePaySetting;
 import com.template.model.result.PageUtils;
 
 import java.util.List;
 
 /**
  * <p>
- *  服务类
+ * 服务类
  * </p>
  *
  * @author ceshi
@@ -20,13 +19,23 @@ public interface WelcomePaySettingService extends IService<WelcomePaySetting> {
 
     int updateWelcomePaySetting(WelcomePaySetting rns);
 
-    PageUtils<WelcomePaySetting> queryPageWelcomePaySettings(int currentPage, int pageCount, String parentCode, String keyword);
+    PageUtils<WelcomePaySetting> queryPageWelcomePaySettings(int currentPage, int pageCount, Integer collegeId, Integer majorId, String eduLevel);
 
     int deleteWelcomePaySettingById(String id);
 
+    int deleteWelcomePaySettingById(Integer id);
+
     WelcomePaySetting getManageById(String id);
 
     int deleteAll();
 
     List<WelcomePaySetting> queryPaySettings(String school);
+
+    List<WelcomePaySetting> queryPaySettings();
+
+    WelcomePaySetting queryPaySettingById(Integer collegeId, Integer majorId, String eduLevel);
+
+    List<WelcomePaySetting> queryPaySettingsById(Integer collegeId, Integer majorId, String eduLevel);
+
+    WelcomePaySetting getManageById(Integer id);
 }

+ 0 - 3
src/main/java/com/template/services/impl/WelcomeOpenSettingServiceImpl.java

@@ -5,9 +5,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.mapper.WelcomeOpenSettingMapper;
 import com.template.model.pojo.WelcomeOpenSetting;
-import com.template.model.pojo.WelcomeOpenSetting;
-import com.template.mapper.WelcomeOpenSettingMapper;
-import com.template.model.pojo.WelcomePaySetting;
 import com.template.model.result.PageUtils;
 import com.template.services.WelcomeOpenSettingService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

+ 44 - 4
src/main/java/com/template/services/impl/WelcomePaySettingServiceImpl.java

@@ -5,13 +5,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.mapper.WelcomePaySettingMapper;
 import com.template.model.pojo.WelcomePaySetting;
-import com.template.model.pojo.WelcomePaySetting;
-import com.template.mapper.WelcomePaySettingMapper;
 import com.template.model.result.PageUtils;
 import com.template.services.WelcomePaySettingService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.List;
 
@@ -42,10 +41,13 @@ public class WelcomePaySettingServiceImpl extends ServiceImpl<WelcomePaySettingM
     }
 
     @Override
-    public PageUtils<WelcomePaySetting> queryPageWelcomePaySettings(int currentPage, int pageCount, String parentCode, String keyword) {
+    public PageUtils<WelcomePaySetting> queryPageWelcomePaySettings(int currentPage, int pageCount, Integer collegeId, Integer majorId, String eduLevel) {
         Page<WelcomePaySetting> page = new Page<>(currentPage, pageCount);
         QueryWrapper<WelcomePaySetting> queryWrapper = new QueryWrapper<>();
-        queryWrapper.orderByDesc("update_time");
+        queryWrapper.eq(collegeId != null && collegeId > 0 , "college_id", collegeId);
+        queryWrapper.eq(majorId != null && majorId > 0 , "major_id", majorId);
+        queryWrapper.eq(StringUtils.hasText(eduLevel) , "edu_level", eduLevel);
+        queryWrapper.orderByDesc("college_id");
         IPage<WelcomePaySetting> result = welcomePaySettingMapper.selectPage(page,queryWrapper);
         return new PageUtils<>(result);
     }
@@ -57,6 +59,12 @@ public class WelcomePaySettingServiceImpl extends ServiceImpl<WelcomePaySettingM
     }
 
     @Override
+    public int deleteWelcomePaySettingById(Integer id) {
+        int result = welcomePaySettingMapper.deleteById(id);
+        return result;
+    }
+
+    @Override
     public WelcomePaySetting getManageById(String id) {
         WelcomePaySetting result = welcomePaySettingMapper.selectById(id);
         return result;
@@ -78,4 +86,36 @@ public class WelcomePaySettingServiceImpl extends ServiceImpl<WelcomePaySettingM
         List<WelcomePaySetting> result = welcomePaySettingMapper.selectList(queryWrapper);
         return result;
     }
+
+    @Override
+    public List<WelcomePaySetting> queryPaySettings() {
+        List<WelcomePaySetting> result = welcomePaySettingMapper.selectList(null);
+        return result;
+    }
+
+    @Override
+    public WelcomePaySetting queryPaySettingById(Integer collegeId, Integer majorId, String eduLevel) {
+        QueryWrapper<WelcomePaySetting> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(collegeId != null && collegeId > 0 , "college_id", collegeId);
+        queryWrapper.eq(majorId != null && majorId > 0 , "major_id", majorId);
+        queryWrapper.eq(StringUtils.hasText(eduLevel) , "edu_level", eduLevel);
+        WelcomePaySetting result = welcomePaySettingMapper.selectOne(queryWrapper);
+        return result;
+    }
+
+    @Override
+    public List<WelcomePaySetting> queryPaySettingsById(Integer collegeId, Integer majorId, String eduLevel) {
+        QueryWrapper<WelcomePaySetting> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(collegeId != null && collegeId > 0 , "college_id", collegeId);
+        queryWrapper.eq(majorId != null && majorId > 0 , "major_id", majorId);
+        queryWrapper.eq(StringUtils.hasText(eduLevel) , "edu_level", eduLevel);
+        List<WelcomePaySetting> result = welcomePaySettingMapper.selectList(queryWrapper);
+        return result;
+    }
+
+    @Override
+    public WelcomePaySetting getManageById(Integer id) {
+        WelcomePaySetting result = welcomePaySettingMapper.selectById(id);
+        return result;
+    }
 }