From 48543190cb04a185987cf9c9ecdd49fee30ffd75 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Wed, 15 Jan 2025 10:36:04 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E9=98=B2=E4=BD=9C=E5=BC=8A=202?= =?UTF-8?q?=E3=80=81=E8=AF=BE=E7=A8=8B=E4=BD=9C=E4=B8=9A-=E5=88=86?= =?UTF-8?q?=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/common/util/PasswordUtil.java | 2 +- .../imports/controller/XxhbbksController.java | 272 +-- .../kc/grab/imports/mapper/XxhbbksMapper.java | 2 + .../grab/imports/mapper/xml/XxhbbksMapper.xml | 9 +- .../grab/imports/service/IXxhbbksService.java | 2 + .../service/impl/XxhbbksServiceImpl.java | 5 + .../wjxDjxx/controller/WjxDjxxController.java | 5 + .../modules/kc/wjxDjxx/entity/WjxDjxx.java | 2 + .../kc/wjxDjxx/mapper/WjxDjxxMapper.java | 2 + .../kc/wjxDjxx/mapper/xml/WjxDjxxMapper.xml | 8 +- .../kc/wjxDjxx/service/IWjxDjxxService.java | 2 + .../service/impl/WjxDjxxServiceImpl.java | 551 ++--- .../controller/WjxDjxxFzbtjController.java | 165 ++ .../kc/wjxDjxxFzbtj/entity/WjxDjxxFzbtj.java | 105 + .../mapper/WjxDjxxFzbtjMapper.java | 17 + .../mapper/xml/WjxDjxxFzbtjMapper.xml | 5 + .../service/IWjxDjxxFzbtjService.java | 19 + .../service/impl/WjxDjxxFzbtjServiceImpl.java | 137 ++ .../wjxWjxx/controller/WjxWjxxController.java | 1153 +++++---- .../modules/kc/wjxWjxx/entity/WjxWjxx.java | 6 + .../kc/wjxWjxx/mapper/WjxWjxxMapper.java | 8 +- .../kc/wjxWjxx/mapper/xml/WjxWjxxMapper.xml | 2 + .../kc/wjxWjxx/service/IWjxWjxxService.java | 5 +- .../service/impl/WjxWjxxServiceImpl.java | 349 ++- .../zyInfo/controller/ZyInfoController.java | 2056 +++++++++-------- .../modules/kc/zyInfo/entity/ZyInfo.java | 10 + .../modules/kc/zyInfo/entity/ZyXzInfo.java | 58 + .../modules/kc/zyInfo/entity/ZyXzryInfo.java | 59 + .../kc/zyInfo/mapper/ZyInfoMapper.java | 30 +- .../kc/zyInfo/mapper/xml/ZyInfoMapper.xml | 774 ++++--- .../jeecg/modules/kc/zyInfo/pojo/XzReq.java | 14 + .../kc/zyInfo/service/IZyInfoService.java | 11 +- .../service/impl/ZyInfoServiceImpl.java | 71 +- .../controller/ZyInfoStudentController.java | 39 +- .../zyInfoStudent/entity/ZyInfoStudent.java | 2 + .../mapper/ZyInfoStudentMapper.java | 5 + .../mapper/xml/ZyInfoStudentMapper.xml | 52 +- .../service/IZyInfoStudentService.java | 9 +- .../impl/ZyInfoStudentServiceImpl.java | 626 ++--- .../system/controller/LoginController.java | 54 +- 40 files changed, 3858 insertions(+), 2845 deletions(-) create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/controller/WjxDjxxFzbtjController.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/entity/WjxDjxxFzbtj.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/mapper/WjxDjxxFzbtjMapper.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/mapper/xml/WjxDjxxFzbtjMapper.xml create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/service/IWjxDjxxFzbtjService.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/service/impl/WjxDjxxFzbtjServiceImpl.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyXzInfo.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyXzryInfo.java create mode 100644 jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/pojo/XzReq.java diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java index aaae509e..b505744a 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/PasswordUtil.java @@ -188,4 +188,4 @@ public class PasswordUtil { } -} \ No newline at end of file +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/controller/XxhbbksController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/controller/XxhbbksController.java index 6f0d48a8..f0bcfd42 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/controller/XxhbbksController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/controller/XxhbbksController.java @@ -12,7 +12,6 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.modules.kc.grab.exports.entity.TBks; import org.jeecg.modules.kc.grab.imports.entity.Xxhbbks; import org.jeecg.modules.kc.grab.imports.service.IXxhbbksService; import org.springframework.beans.factory.annotation.Autowired; @@ -22,126 +21,127 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.List; - /** +/** * @Description: 同步数据表(bks) * @Author: jeecg-boot - * @Date: 2023-04-10 + * @Date: 2023-04-10 * @Version: V1.0 */ -@Api(tags="同步数据表(bks)") +@Api(tags = "同步数据表(bks)") @RestController @RequestMapping("/grab/xxhbbks") @Slf4j public class XxhbbksController extends JeecgController { - @Autowired - private IXxhbbksService xxhbbksService; - - /** - * 分页列表查询 - * - * @param xxhbbks - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "同步数据表(bks)-分页列表查询") - @ApiOperation(value="同步数据表(bks)-分页列表查询", notes="同步数据表(bks)-分页列表查询") - @GetMapping(value = "/list") - public Result> queryPageList(Xxhbbks xxhbbks, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(xxhbbks, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = xxhbbksService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param xxhbbks - * @return - */ - @AutoLog(value = "同步数据表(bks)-添加") - @ApiOperation(value="同步数据表(bks)-添加", notes="同步数据表(bks)-添加") - @RequiresPermissions("grab:xxhbbks:add") - @PostMapping(value = "/add") - public Result add(@RequestBody Xxhbbks xxhbbks) { - xxhbbksService.save(xxhbbks); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - * - * @param xxhbbks - * @return - */ - @AutoLog(value = "同步数据表(bks)-编辑") - @ApiOperation(value="同步数据表(bks)-编辑", notes="同步数据表(bks)-编辑") - @RequiresPermissions("grab:xxhbbks:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody Xxhbbks xxhbbks) { - xxhbbksService.updateById(xxhbbks); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "同步数据表(bks)-通过id删除") - @ApiOperation(value="同步数据表(bks)-通过id删除", notes="同步数据表(bks)-通过id删除") - @RequiresPermissions("grab:xxhbbks:delete") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - xxhbbksService.removeById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @AutoLog(value = "同步数据表(bks)-批量删除") - @ApiOperation(value="同步数据表(bks)-批量删除", notes="同步数据表(bks)-批量删除") - @RequiresPermissions("grab:xxhbbks:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.xxhbbksService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - //@AutoLog(value = "同步数据表(bks)-通过id查询") - @ApiOperation(value="同步数据表(bks)-通过id查询", notes="同步数据表(bks)-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - Xxhbbks xxhbbks = xxhbbksService.getById(id); - if(xxhbbks==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(xxhbbks); - } + @Autowired + private IXxhbbksService xxhbbksService; /** - * 导出excel - * - * @param request - * @param xxhbbks - */ + * 分页列表查询 + * + * @param xxhbbks + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "同步数据表(bks)-分页列表查询") + @ApiOperation(value = "同步数据表(bks)-分页列表查询", notes = "同步数据表(bks)-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(Xxhbbks xxhbbks, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(xxhbbks, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = xxhbbksService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param xxhbbks + * @return + */ + @AutoLog(value = "同步数据表(bks)-添加") + @ApiOperation(value = "同步数据表(bks)-添加", notes = "同步数据表(bks)-添加") + @RequiresPermissions("grab:xxhbbks:add") + @PostMapping(value = "/add") + public Result add(@RequestBody Xxhbbks xxhbbks) { + xxhbbksService.save(xxhbbks); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param xxhbbks + * @return + */ + @AutoLog(value = "同步数据表(bks)-编辑") + @ApiOperation(value = "同步数据表(bks)-编辑", notes = "同步数据表(bks)-编辑") + @RequiresPermissions("grab:xxhbbks:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody Xxhbbks xxhbbks) { + xxhbbksService.updateById(xxhbbks); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "同步数据表(bks)-通过id删除") + @ApiOperation(value = "同步数据表(bks)-通过id删除", notes = "同步数据表(bks)-通过id删除") + @RequiresPermissions("grab:xxhbbks:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + xxhbbksService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "同步数据表(bks)-批量删除") + @ApiOperation(value = "同步数据表(bks)-批量删除", notes = "同步数据表(bks)-批量删除") + @RequiresPermissions("grab:xxhbbks:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.xxhbbksService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "同步数据表(bks)-通过id查询") + @ApiOperation(value = "同步数据表(bks)-通过id查询", notes = "同步数据表(bks)-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + Xxhbbks xxhbbks = xxhbbksService.getById(id); + if (xxhbbks == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(xxhbbks); + } + + /** + * 导出excel + * + * @param request + * @param xxhbbks + */ @RequiresPermissions("grab:xxhbbks:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, Xxhbbks xxhbbks) { @@ -149,12 +149,12 @@ public class XxhbbksController extends JeecgController } /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ @RequiresPermissions("grab:xxhbbks:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result importExcel(HttpServletRequest request, HttpServletResponse response) { @@ -162,20 +162,30 @@ public class XxhbbksController extends JeecgController } + @AutoLog(value = "获取本科生选课人员信息") + @ApiOperation(value = "获取本科生选课人员信息", notes = "获取本科生选课人员信息") + @GetMapping(value = "/getXsxkbList") + public Result getXsxkbList(Xxhbbks xxhbbks, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(xxhbbks, req.getParameterMap()); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq(StringUtils.isNotBlank(xxhbbks.getRwbh()), "b.KCAPZBBH", xxhbbks.getRwbh()); + Page page = new Page(pageNo, pageSize); + IPage pageList = xxhbbksService.getXsxkbList(page, queryWrapper); + return Result.OK(pageList); + } - @AutoLog(value = "获取本科生选课人员信息") - @ApiOperation(value="获取本科生选课人员信息", notes="获取本科生选课人员信息") - @GetMapping(value = "/getXsxkbList") - public Result getXsxkbList(Xxhbbks xxhbbks, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(xxhbbks, req.getParameterMap()); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq(StringUtils.isNotBlank(xxhbbks.getRwbh()),"b.KCAPZBBH",xxhbbks.getRwbh()); - Page page = new Page(pageNo, pageSize); - IPage pageList = xxhbbksService.getXsxkbList(page, queryWrapper); - return Result.OK(pageList); - } - + /** + * 获取选课人员 + * @param rwbh 任务编号 + * + * 获取任务编号下的所有选课人员 + * @return + */ + @PostMapping(value = "/getXKRY") + public Result> getXKRY(@RequestBody String rwbh) { + return Result.OK(xxhbbksService.getXKRY(rwbh)); + } } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/XxhbbksMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/XxhbbksMapper.java index a45565d8..44cfd996 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/XxhbbksMapper.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/XxhbbksMapper.java @@ -23,4 +23,6 @@ public interface XxhbbksMapper extends BaseMapper { IPage getXsxkbList(Page page,@Param(Constants.WRAPPER) QueryWrapper queryWrapper); List getXsxkbAllList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + List getXKRY(@Param("rwbh") String rwbh); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/xml/XxhbbksMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/xml/XxhbbksMapper.xml index ccb1fef7..e5a1906c 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/xml/XxhbbksMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/mapper/xml/XxhbbksMapper.xml @@ -18,4 +18,11 @@ select a.* from xxhbbks a ,xxhbxsxkb b ${ew.customSqlSegment} - \ No newline at end of file + + + diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbbksService.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbbksService.java index 28d33474..0205d8e0 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbbksService.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/IXxhbbksService.java @@ -37,4 +37,6 @@ public interface IXxhbbksService extends IService { IPage getXsxkbList(Page page, QueryWrapper queryWrapper); List getXsxkbAllList(QueryWrapper queryWrapper); + + List getXKRY(String rwbh); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbbksServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbbksServiceImpl.java index 25212f71..c9c5d67e 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbbksServiceImpl.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/grab/imports/service/impl/XxhbbksServiceImpl.java @@ -52,4 +52,9 @@ public class XxhbbksServiceImpl extends ServiceImpl impl public List getXsxkbAllList(QueryWrapper queryWrapper) { return baseMapper.getXsxkbAllList(queryWrapper); } + + @Override + public List getXKRY(String rwbh) { + return baseMapper.getXKRY(rwbh); + } } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/controller/WjxDjxxController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/controller/WjxDjxxController.java index 61cf09aa..720296c9 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/controller/WjxDjxxController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/controller/WjxDjxxController.java @@ -353,4 +353,9 @@ public class WjxDjxxController extends JeecgController return Result.OK(res); } + @PostMapping(value = "/upZbcs") + public Result upZbcs(@RequestBody WjxDjxx wjxDjxx) { + return Result.OK(wjxDjxxService.upZbcs(wjxDjxx)); + } + } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxx.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxx.java index 4c49f9a7..aaeba0ef 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxx.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/entity/WjxDjxx.java @@ -130,4 +130,6 @@ public class WjxDjxx { @TableField(exist = false) private String isFinished; + @ApiModelProperty(value = "作弊次数(单次考试作弊行为发生总次数)") + private int zbcs; } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/WjxDjxxMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/WjxDjxxMapper.java index dc8dfe3c..53d0f0a7 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/WjxDjxxMapper.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/WjxDjxxMapper.java @@ -72,4 +72,6 @@ public interface WjxDjxxMapper extends BaseMapper { void updateDjxxTmxxFwqpath(WjxDjxxTmxx wjxDjxxTmxx); + + int upZbcs(@Param("dto") WjxDjxx wjxDjxx); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/xml/WjxDjxxMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/xml/WjxDjxxMapper.xml index f37a97f6..f14005a0 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/xml/WjxDjxxMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/mapper/xml/WjxDjxxMapper.xml @@ -439,6 +439,12 @@ where jid = #{jid} + + update wjx_djxx + set zbcs = (select count(id) from wjx_djxx_fzbtj where type in (1,2,3) and vid = #{dto.vid} and create_by = #{dto.createBy} ) + where vid = #{dto.vid} and create_by = #{dto.createBy} + + select * from wjx_djxx_tmxx where jid = #{jid} and answer_text like concat('%','temp/','%') - \ No newline at end of file + diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/IWjxDjxxService.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/IWjxDjxxService.java index f69de82c..656645d6 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/IWjxDjxxService.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/IWjxDjxxService.java @@ -47,4 +47,6 @@ public interface IWjxDjxxService extends IService { String updateDjjg(WjxDjxx wjxDjxx); String getDjjg(WjxDjxx wjxDjxx); + + int upZbcs(WjxDjxx wjxDjxx); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/impl/WjxDjxxServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/impl/WjxDjxxServiceImpl.java index efd2c456..7a74eb73 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/impl/WjxDjxxServiceImpl.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxx/service/impl/WjxDjxxServiceImpl.java @@ -35,7 +35,7 @@ import java.util.concurrent.TimeUnit; /** * @Description: 答卷信息 * @Author: jeecg-boot - * @Date: 2024-05-07 + * @Date: 2024-05-07 * @Version: V1.0 */ @Service @@ -55,23 +55,24 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl /** * 提交问卷,并查询答卷 + * * @param list */ - public String djtj(List list){ + public String djtj(List list) { LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String vid = list.get(0).getVid(); - if(vid==null || vid.equals("")){ + if (vid == null || vid.equals("")) { String mainId = list.get(0).getMainId(); vid = baseMapper.findVid(mainId); } - if(vid ==null || vid.equals("")){ + if (vid == null || vid.equals("")) { return "此试卷错误,无法提交!"; } Date date = new Date(); Date openTime = list.get(0).getOpenTime(); - if(openTime == null){ + if (openTime == null) { Calendar c = Calendar.getInstance(); - c.add(Calendar.MINUTE,-2); + c.add(Calendar.MINUTE, -2); openTime = c.getTime(); } WjxDjxx wds = new WjxDjxx(); @@ -83,29 +84,29 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl wds.setCreateBy(user.getUsername()); wds.setCreateTime(date); StringBuffer submitDataSb = new StringBuffer(); - for(WjxDjxxTmlbPage wjxDjxxTmlbPage:list){ + for (WjxDjxxTmlbPage wjxDjxxTmlbPage : list) { Integer WjIndex = wjxDjxxTmlbPage.getWjIndex(); Integer wjType = wjxDjxxTmlbPage.getWjType(); Integer wjSubtype = wjxDjxxTmlbPage.getWjSubtype(); String itemSelected = ""; - if(wjType == 3 || wjType == 4){ - itemSelected = wjxDjxxTmlbPage.getItemSelected().replaceAll(",","|").trim(); - if(itemSelected == null || itemSelected.equals("null") || itemSelected.equals("")){ + if (wjType == 3 || wjType == 4) { + itemSelected = wjxDjxxTmlbPage.getItemSelected().replaceAll(",", "|").trim(); + if (itemSelected == null || itemSelected.equals("null") || itemSelected.equals("")) { itemSelected = "-3"; } } - if(wjType == 5){ + if (wjType == 5) { itemSelected = wjxDjxxTmlbPage.getWjAnswer(); - if(itemSelected == null || itemSelected.equals("null") || itemSelected.equals("")){ + if (itemSelected == null || itemSelected.equals("null") || itemSelected.equals("")) { itemSelected = "(跳过)"; } - if(wjSubtype!= null ){ - if(wjSubtype==5){ + if (wjSubtype != null) { + if (wjSubtype == 5) { itemSelected = "(跳过)"; } } } - if(wjType == 8){ + if (wjType == 8) { itemSelected = "-3"; } submitDataSb.append(WjIndex); @@ -114,49 +115,49 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl submitDataSb.append("}"); } String submitData = submitDataSb.toString(); - if(StringUtils.isNotEmpty(submitData)){ - submitData = submitData.substring(0,submitData.length()-1); + if (StringUtils.isNotEmpty(submitData)) { + submitData = submitData.substring(0, submitData.length() - 1); } wds.setSubmitData(submitData); baseMapper.deleteDj(wds); this.save(wds); - Map map = new HashMap<>(); - map.put("vid",Integer.valueOf(vid)); - Long djys = ChronoUnit.SECONDS.between(wds.getOpenTime().toInstant(),wds.getCommitTime().toInstant()); - if(djys<3){ + Map map = new HashMap<>(); + map.put("vid", Integer.valueOf(vid)); + Long djys = ChronoUnit.SECONDS.between(wds.getOpenTime().toInstant(), wds.getCommitTime().toInstant()); + if (djys < 3) { djys = 10L; } System.out.println("--------------------------------------------------"); - System.out.println("---------------djys--"+djys+"---------------------------"); + System.out.println("---------------djys--" + djys + "---------------------------"); System.out.println("--------------------------------------------------"); map.put("inputcosttime", djys); - map.put("submitdata",submitData); - map.put("sojumpparm",user.getUsername());//自定义链接参数,用来透传用户ID + map.put("submitdata", submitData); + map.put("sojumpparm", user.getUsername());//自定义链接参数,用来透传用户ID //调用接口,提交 - String result = wjxUtil.openapi(map,"1001001"); + String result = wjxUtil.openapi(map, "1001001"); String jidRes = ""; - if(!result.equals("")){ + if (!result.equals("")) { JSONObject jsonResult = JSONObject.parseObject(result); - if(jsonResult.getBoolean("result")){ + if (jsonResult.getBoolean("result")) { JSONObject dataJson = jsonResult.getJSONObject("data"); String vidRes = dataJson.getString("vid"); jidRes = dataJson.getString("jid"); String sojumpparmRes = dataJson.getString("sojumpparm"); - baseMapper.updateJid(sojumpparmRes,vidRes,jidRes); + baseMapper.updateJid(sojumpparmRes, vidRes, jidRes); //调用接口,答卷查询 - Map selMap = new HashMap<>(); - selMap.put("vid",Integer.valueOf(vid)); - selMap.put("jid",Long.valueOf(jidRes)); + Map selMap = new HashMap<>(); + selMap.put("vid", Integer.valueOf(vid)); + selMap.put("jid", Long.valueOf(jidRes)); //调用接口,查询答卷结果 - String answerStr = wjxUtil.openapi(selMap,"1001002"); - if(!answerStr.equals("")){ + String answerStr = wjxUtil.openapi(selMap, "1001002"); + if (!answerStr.equals("")) { JSONObject ansJsonResult = JSONObject.parseObject(answerStr); - if(ansJsonResult.getBoolean("result")){ + if (ansJsonResult.getBoolean("result")) { JSONObject ansDataJson = ansJsonResult.getJSONObject("data"); String answerVid = ansDataJson.getString("vid"); JSONObject answerJsonArray = ansDataJson.getJSONObject("answers"); - for(String key1 : answerJsonArray.keySet()){ + for (String key1 : answerJsonArray.keySet()) { JSONObject answer = answerJsonArray.getJSONObject(key1); String jidAns = answer.getString("jid"); Integer answerSeconds = answer.getInteger("answer_seconds"); @@ -172,7 +173,7 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl baseMapper.deleteDjItem(wjxDjxx); //处理选项 JSONObject answerItemJson = answer.getJSONObject("answer_items"); - if(answerItemJson!=null) { + if (answerItemJson != null) { for (String key2 : answerItemJson.keySet()) { JSONObject answerItem = answerItemJson.getJSONObject(key2); WjxDjxxTmxx wjxDjxxTmxx = new WjxDjxxTmxx(); @@ -272,27 +273,25 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl //修改答卷信息 baseMapper.updateAnswer(wjxDjxx); } - }else{ - baseMapper.updateErrMsg(user.getUsername(),vid,ansJsonResult.getString("errormsg")); + } else { + baseMapper.updateErrMsg(user.getUsername(), vid, ansJsonResult.getString("errormsg")); return ansJsonResult.getString("errormsg"); } } - }else{ - baseMapper.updateErrMsg(user.getUsername(),vid,jsonResult.getString("errormsg")); + } else { + baseMapper.updateErrMsg(user.getUsername(), vid, jsonResult.getString("errormsg")); return jsonResult.getString("errormsg"); } } - - String sfxgdjscore = "0";//是否修改答卷分数 - if(StringUtils.isNotBlank(jidRes)){ - for(WjxDjxxTmlbPage wjxDjxxTmlbPage:list){ + if (StringUtils.isNotBlank(jidRes)) { + for (WjxDjxxTmlbPage wjxDjxxTmlbPage : list) { Integer WjIndex = wjxDjxxTmlbPage.getWjIndex(); Integer wjType = wjxDjxxTmlbPage.getWjType(); Integer wjSubtype = wjxDjxxTmlbPage.getWjSubtype(); - if(wjType == 8){ + if (wjType == 8) { sfxgdjscore = "1"; String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString(); WjxDjxxTmxx wjxDjxxTmxx = new WjxDjxxTmxx(); @@ -308,7 +307,7 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl // wjxDjxxTmxx.setItemScore(wjxDjxxTmlbPage.getWjScore()); wjxDjxxTmxx.setPicPath(wjxDjxxTmlbPage.getPicPath()); baseMapper.addDjTmxx(wjxDjxxTmxx); - }else if(wjType==5&&wjSubtype!=null && wjSubtype == 5){ + } else if (wjType == 5 && wjSubtype != null && wjSubtype == 5) { sfxgdjscore = "1"; String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString(); WjxDjxxTmxx wjxDjxxTmxx = new WjxDjxxTmxx(); @@ -329,7 +328,7 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl } //修改答卷信息的总分 - if(StringUtils.equals(sfxgdjscore,"1")){ + if (StringUtils.equals(sfxgdjscore, "1")) { try { WjxDjxx wjxDjxx = new WjxDjxx(); wjxDjxx.setVid(vid); @@ -346,29 +345,29 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl //修改问卷状态 QueryWrapper wjxWjxxQueryWrapper = new QueryWrapper<>(); - wjxWjxxQueryWrapper.eq("vid",vid); + wjxWjxxQueryWrapper.eq("vid", vid); wjxWjxxQueryWrapper.last("limit 1"); WjxWjxx wjxWjxx = wjxWjxxMapper.selectOne(wjxWjxxQueryWrapper); int xkrs = Integer.parseInt(wjxWjxx.getXkrs()); QueryWrapper djxxQueryWrapper = new QueryWrapper<>(); - djxxQueryWrapper.eq("vid",vid); + djxxQueryWrapper.eq("vid", vid); List listNum = baseMapper.selectList(djxxQueryWrapper); int djsl = listNum.size(); - System.out.println(xkrs+"------------------------"+djsl); - if(xkrs == djsl){ + System.out.println(xkrs + "------------------------" + djsl); + if (xkrs == djsl) { wjxWjxx.setQpublish("2"); wjxWjxxMapper.updateById(wjxWjxx); } String type = ""; String content = ""; - if(StringUtils.equals("6",wjxWjxx.getAtype())){ + if (StringUtils.equals("6", wjxWjxx.getAtype())) { type = "6"; - content = user.getRealname()+"学生提交了["+wjxWjxx.getKcmc()+"]课程“"+wjxWjxx.getTitle()+"”测验,该测验完成时间为:"+ DateUtils.formatDate(wjxWjxx.getStartTime(),"yyyy-MM-dd HH:mm")+" ~ "+DateUtils.formatDate(wjxWjxx.getEndTime(),"yyyy-MM-dd HH:mm")+",请及时查看。学生提交时间:"+DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss"); + content = user.getRealname() + "学生提交了[" + wjxWjxx.getKcmc() + "]课程“" + wjxWjxx.getTitle() + "”测验,该测验完成时间为:" + DateUtils.formatDate(wjxWjxx.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(wjxWjxx.getEndTime(), "yyyy-MM-dd HH:mm") + ",请及时查看。学生提交时间:" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"); - }else{ + } else { type = "7"; - content = user.getRealname()+"学生提交了["+wjxWjxx.getKcmc()+"]课程“"+wjxWjxx.getTitle()+"”问卷,该问卷完成时间为:"+ DateUtils.formatDate(wjxWjxx.getStartTime(),"yyyy-MM-dd HH:mm")+" ~ "+DateUtils.formatDate(wjxWjxx.getEndTime(),"yyyy-MM-dd HH:mm")+",请及时查看。学生提交时间:"+DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss"); + content = user.getRealname() + "学生提交了[" + wjxWjxx.getKcmc() + "]课程“" + wjxWjxx.getTitle() + "”问卷,该问卷完成时间为:" + DateUtils.formatDate(wjxWjxx.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(wjxWjxx.getEndTime(), "yyyy-MM-dd HH:mm") + ",请及时查看。学生提交时间:" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"); } //作业代办提醒 ZyDbtx zyDbtx = new ZyDbtx(); @@ -382,74 +381,72 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl zyDbtxService.save(zyDbtx); - UpdateWrapper zyDbtxQx = new UpdateWrapper<>(); - zyDbtxQx.set("flag","1"); - zyDbtxQx.eq("main_id",wjxWjxx.getId()); - zyDbtxQx.eq("create_by",user.getUsername()); - zyDbtxQx.eq("type","2"); + zyDbtxQx.set("flag", "1"); + zyDbtxQx.eq("main_id", wjxWjxx.getId()); + zyDbtxQx.eq("create_by", user.getUsername()); + zyDbtxQx.eq("type", "2"); zyDbtxService.update(zyDbtxQx); try { - if(StringUtils.isNotBlank(jidRes)){ + if (StringUtils.isNotBlank(jidRes)) { jsscore(jidRes); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } - return "提交成功!"; } /** * 获取未进行答卷查询操作的数据,如数据未提交问卷操作则先提交问卷,再查询答卷 */ - public void doDjSelect(){ + public void doDjSelect() { List list = baseMapper.findUnSelect(); - for(int i=0;i map = new HashMap<>(); - map.put("vid",Integer.valueOf(wjxDjxx.getVid())); - map.put("inputcosttime",ChronoUnit.SECONDS.between(wjxDjxx.getOpenTime().toInstant(),wjxDjxx.getCommitTime().toInstant())); - map.put("submitdata",wjxDjxx.getSubmitData()); - map.put("sojumpparm",wjxDjxx.getUserId());//自定义链接参数,用来透传用户ID + if (jid == null || jid.equals("")) { + Map map = new HashMap<>(); + map.put("vid", Integer.valueOf(wjxDjxx.getVid())); + map.put("inputcosttime", ChronoUnit.SECONDS.between(wjxDjxx.getOpenTime().toInstant(), wjxDjxx.getCommitTime().toInstant())); + map.put("submitdata", wjxDjxx.getSubmitData()); + map.put("sojumpparm", wjxDjxx.getUserId());//自定义链接参数,用来透传用户ID //调用接口,提交 - String result = wjxUtil.openapi(map,"1001001"); - if(!result.equals("")) { + String result = wjxUtil.openapi(map, "1001001"); + if (!result.equals("")) { JSONObject jsonResult = JSONObject.parseObject(result); if (jsonResult.getBoolean("result")) { JSONObject dataJson = jsonResult.getJSONObject("data"); String vidRes = dataJson.getString("vid"); jid = dataJson.getString("jid"); String sojumpparmRes = dataJson.getString("sojumpparm"); - baseMapper.updateJid(sojumpparmRes,vidRes,jid); + baseMapper.updateJid(sojumpparmRes, vidRes, jid); wjxDjxx.setJid(jid); - }else{ - baseMapper.updateErrMsg(wjxDjxx.getUserId(),wjxDjxx.getVid(),jsonResult.getString("errormsg")); + } else { + baseMapper.updateErrMsg(wjxDjxx.getUserId(), wjxDjxx.getVid(), jsonResult.getString("errormsg")); continue; } } } //调用接口,答卷查询 - Map selMap = new HashMap<>(); - selMap.put("vid",Integer.valueOf(vid)); - selMap.put("jid",Long.valueOf(jid)); + Map selMap = new HashMap<>(); + selMap.put("vid", Integer.valueOf(vid)); + selMap.put("jid", Long.valueOf(jid)); //调用接口,提交 - String answerStr = wjxUtil.openapi(selMap,"1001002"); - if(!answerStr.equals("")){ + String answerStr = wjxUtil.openapi(selMap, "1001002"); + if (!answerStr.equals("")) { JSONObject ansJsonResult = JSONObject.parseObject(answerStr); - if(ansJsonResult.getBoolean("result")){ + if (ansJsonResult.getBoolean("result")) { JSONObject ansDataJson = ansJsonResult.getJSONObject("data"); String answerVid = ansDataJson.getString("vid"); JSONObject answerJsonArray = ansDataJson.getJSONObject("answers"); - for(String key1 : answerJsonArray.keySet()){ + for (String key1 : answerJsonArray.keySet()) { JSONObject answer = answerJsonArray.getJSONObject(key1); String jidAns = answer.getString("jid"); Integer answerSeconds = answer.getInteger("answer_seconds"); @@ -465,7 +462,7 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl baseMapper.deleteDjItem(wjxDjxx2); //处理选项 JSONObject answerItemJson = answer.getJSONObject("answer_items"); - if(answerItemJson!=null) { + if (answerItemJson != null) { for (String key2 : answerItemJson.keySet()) { JSONObject answerItem = answerItemJson.getJSONObject(key2); Integer wjIndex = answerItem.getInteger("q_index"); @@ -495,8 +492,8 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl //修改答卷信息 baseMapper.updateAnswer(wjxDjxx2); } - }else{ - baseMapper.updateErrMsg(wjxDjxx.getUserId(),wjxDjxx.getVid(),ansJsonResult.getString("errormsg")); + } else { + baseMapper.updateErrMsg(wjxDjxx.getUserId(), wjxDjxx.getVid(), ansJsonResult.getString("errormsg")); continue; } } @@ -506,12 +503,12 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl @Override public WjxDjxx queryByMainId(String id) { LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - WjxDjxx djxx = baseMapper.findDjxx(id,user.getUsername()); - if(djxx != null){ + WjxDjxx djxx = baseMapper.findDjxx(id, user.getUsername()); + if (djxx != null) { djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds())); - List list = baseMapper.findDjtmxx(djxx.getVid(),djxx.getJid()); - for(WjxDjxxTmxx wjxDjxxTmxx:list){ - List list2= wjxWjxxTmxxMapper.selectByMainId(wjxDjxxTmxx.getId()); + List list = baseMapper.findDjtmxx(djxx.getVid(), djxx.getJid()); + for (WjxDjxxTmxx wjxDjxxTmxx : list) { + List list2 = wjxWjxxTmxxMapper.selectByMainId(wjxDjxxTmxx.getId()); wjxDjxxTmxx.setWjxWjxxTmxxList(list2); //获取填空题答案 WjxWjxxTmlb tmlb = wjxWjxxTmlbMapper.selectById(wjxDjxxTmxx.getId()); @@ -525,6 +522,7 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl /** * 秒数转时分秒 + * * @param seconds * @return */ @@ -537,23 +535,23 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl } @Override - public Page findDjjgsPage(WjxDjxx wjxDjxx, Page page){ - if(StringUtils.equals("1",wjxDjxx.getIsFinished())){ + public Page findDjjgsPage(WjxDjxx wjxDjxx, Page page) { + if (StringUtils.equals("1", wjxDjxx.getIsFinished())) { //完成答卷的 - List list = baseMapper.findDjjgsPage(page,wjxDjxx); - for(WjxDjxx djxx:list){ + List list = baseMapper.findDjjgsPage(page, wjxDjxx); + for (WjxDjxx djxx : list) { djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds())); } page.setRecords(list); - }else if(StringUtils.equals("0",wjxDjxx.getIsFinished())){ + } else if (StringUtils.equals("0", wjxDjxx.getIsFinished())) { //未完成答卷的 - List list = baseMapper.findUnDjjgsPage(page,wjxDjxx); + List list = baseMapper.findUnDjjgsPage(page, wjxDjxx); page.setRecords(list); - }else{ + } else { //全部 - List list = baseMapper.findAllDjjgsPage(page,wjxDjxx); - for(WjxDjxx djxx:list){ - if(djxx.getAnswerSeconds()!=-1){ + List list = baseMapper.findAllDjjgsPage(page, wjxDjxx); + for (WjxDjxx djxx : list) { + if (djxx.getAnswerSeconds() != -1) { djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds())); } } @@ -566,20 +564,20 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl @Override public List exportList(WjxDjxx wjxDjxx) { List list = new ArrayList<>(); - if(StringUtils.equals("1",wjxDjxx.getIsFinished())){ + if (StringUtils.equals("1", wjxDjxx.getIsFinished())) { //完成答卷的 - list = baseMapper.findDjjgsPage(null,wjxDjxx); - for(WjxDjxx djxx:list){ + list = baseMapper.findDjjgsPage(null, wjxDjxx); + for (WjxDjxx djxx : list) { djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds())); } - }else if(StringUtils.equals("0",wjxDjxx.getIsFinished())){ + } else if (StringUtils.equals("0", wjxDjxx.getIsFinished())) { //未完成答卷的 - list = baseMapper.findUnDjjgsPage(null,wjxDjxx); - }else{ + list = baseMapper.findUnDjjgsPage(null, wjxDjxx); + } else { //全部 - list = baseMapper.findAllDjjgsPage(null,wjxDjxx); - for(WjxDjxx djxx:list){ - if(djxx.getAnswerSeconds()!=-1){ + list = baseMapper.findAllDjjgsPage(null, wjxDjxx); + for (WjxDjxx djxx : list) { + if (djxx.getAnswerSeconds() != -1) { djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds())); } } @@ -590,20 +588,20 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl @Override public List exportDjXls(WjxDjxxDj wjxDjxxdj) { List list = new ArrayList<>(); - if(StringUtils.equals("1",wjxDjxxdj.getIsFinished())){ + if (StringUtils.equals("1", wjxDjxxdj.getIsFinished())) { //完成答卷的 list = baseMapper.findDjjgsDjPage(wjxDjxxdj); - for(WjxDjxxDj djxx:list){ + for (WjxDjxxDj djxx : list) { djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds())); } - }else if(StringUtils.equals("0",wjxDjxxdj.getIsFinished())){ + } else if (StringUtils.equals("0", wjxDjxxdj.getIsFinished())) { //未完成答卷的 list = baseMapper.findUnDjjgsDJPage(wjxDjxxdj); - }else{ + } else { //全部 list = baseMapper.findAllDjjgsDjPage(wjxDjxxdj); - for(WjxDjxxDj djxx:list){ - if(djxx.getAnswerSeconds()!=-1){ + for (WjxDjxxDj djxx : list) { + if (djxx.getAnswerSeconds() != -1) { djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds())); } } @@ -634,12 +632,12 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl @Override public WjxDjxx querySdpfById(String id) { LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - WjxDjxx djxx = baseMapper.findDjxx(id,user.getUsername()); - if(djxx != null){ + WjxDjxx djxx = baseMapper.findDjxx(id, user.getUsername()); + if (djxx != null) { djxx.setAnswerSfm(convertSecondsToHMS(djxx.getAnswerSeconds())); - List list = baseMapper.findDjtmxx2(djxx.getVid(),djxx.getJid()); - for(WjxDjxxTmxx wjxDjxxTmxx:list){ - List list2= wjxWjxxTmxxMapper.selectByMainId(wjxDjxxTmxx.getId()); + List list = baseMapper.findDjtmxx2(djxx.getVid(), djxx.getJid()); + for (WjxDjxxTmxx wjxDjxxTmxx : list) { + List list2 = wjxWjxxTmxxMapper.selectByMainId(wjxDjxxTmxx.getId()); wjxDjxxTmxx.setWjxWjxxTmxxList(list2); //获取填空题答案 WjxWjxxTmlb tmlb = wjxWjxxTmlbMapper.selectById(wjxDjxxTmxx.getId()); @@ -674,9 +672,9 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl @Override public void cxjcWjxScore(String vid) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("vid",vid); + queryWrapper.eq("vid", vid); List list = baseMapper.selectList(queryWrapper); - for(WjxDjxx par : list){ + for (WjxDjxx par : list) { jsscore(par.getJid()); } } @@ -685,7 +683,7 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl public String updateDjjg(WjxDjxx wjxDjxxPar) { // LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String vid = wjxDjxxPar.getVid(); - if(vid ==null || vid.equals("")){ + if (vid == null || vid.equals("")) { return "此试卷错误,无法提交!"; } @@ -694,42 +692,42 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl String submitData = wjxDjxx2.getSubmitData(); - Map map = new HashMap<>(); - map.put("vid",Integer.valueOf(vid)); - Long djys = ChronoUnit.SECONDS.between(wjxDjxx2.getOpenTime().toInstant(),wjxDjxx2.getCommitTime().toInstant()); - if(djys<3){ + Map map = new HashMap<>(); + map.put("vid", Integer.valueOf(vid)); + Long djys = ChronoUnit.SECONDS.between(wjxDjxx2.getOpenTime().toInstant(), wjxDjxx2.getCommitTime().toInstant()); + if (djys < 3) { djys = 10L; } System.out.println("--------------------------------------------------"); - System.out.println("---------------djys--"+djys+"---------------------------"); + System.out.println("---------------djys--" + djys + "---------------------------"); System.out.println("--------------------------------------------------"); map.put("inputcosttime", djys); - map.put("submitdata",submitData); - map.put("sojumpparm",wjxDjxx2.getUserId());//自定义链接参数,用来透传用户ID + map.put("submitdata", submitData); + map.put("sojumpparm", wjxDjxx2.getUserId());//自定义链接参数,用来透传用户ID //调用接口,提交 - String result = wjxUtil.openapi(map,"1001001"); + String result = wjxUtil.openapi(map, "1001001"); String jidRes = ""; - if(!result.equals("")){ + if (!result.equals("")) { JSONObject jsonResult = JSONObject.parseObject(result); - if(jsonResult.getBoolean("result")){ + if (jsonResult.getBoolean("result")) { JSONObject dataJson = jsonResult.getJSONObject("data"); String vidRes = dataJson.getString("vid"); jidRes = dataJson.getString("jid"); String sojumpparmRes = dataJson.getString("sojumpparm"); - baseMapper.updateJid(sojumpparmRes,vidRes,jidRes); + baseMapper.updateJid(sojumpparmRes, vidRes, jidRes); //调用接口,答卷查询 - Map selMap = new HashMap<>(); - selMap.put("vid",Integer.valueOf(vid)); - selMap.put("jid",Long.valueOf(jidRes)); + Map selMap = new HashMap<>(); + selMap.put("vid", Integer.valueOf(vid)); + selMap.put("jid", Long.valueOf(jidRes)); //调用接口,查询答卷结果 - String answerStr = wjxUtil.openapi(selMap,"1001002"); - if(!answerStr.equals("")){ + String answerStr = wjxUtil.openapi(selMap, "1001002"); + if (!answerStr.equals("")) { JSONObject ansJsonResult = JSONObject.parseObject(answerStr); - if(ansJsonResult.getBoolean("result")){ + if (ansJsonResult.getBoolean("result")) { JSONObject ansDataJson = ansJsonResult.getJSONObject("data"); String answerVid = ansDataJson.getString("vid"); JSONObject answerJsonArray = ansDataJson.getJSONObject("answers"); - for(String key1 : answerJsonArray.keySet()){ + for (String key1 : answerJsonArray.keySet()) { JSONObject answer = answerJsonArray.getJSONObject(key1); String jidAns = answer.getString("jid"); Integer answerSeconds = answer.getInteger("answer_seconds"); @@ -745,7 +743,7 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl baseMapper.deleteDjItem(wjxDjxx); //处理选项 JSONObject answerItemJson = answer.getJSONObject("answer_items"); - if(answerItemJson!=null) { + if (answerItemJson != null) { for (String key2 : answerItemJson.keySet()) { JSONObject answerItem = answerItemJson.getJSONObject(key2); WjxDjxxTmxx wjxDjxxTmxx = new WjxDjxxTmxx(); @@ -845,28 +843,27 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl //修改答卷信息 baseMapper.updateAnswer(wjxDjxx); } - }else{ - baseMapper.updateErrMsg(wjxDjxx2.getUserId(),vid,ansJsonResult.getString("errormsg")); + } else { + baseMapper.updateErrMsg(wjxDjxx2.getUserId(), vid, ansJsonResult.getString("errormsg")); return ansJsonResult.getString("errormsg"); } } - }else{ - baseMapper.updateErrMsg(wjxDjxx2.getUserId(),vid,jsonResult.getString("errormsg")); + } else { + baseMapper.updateErrMsg(wjxDjxx2.getUserId(), vid, jsonResult.getString("errormsg")); return jsonResult.getString("errormsg"); } } try { - if(StringUtils.isNotBlank(jidRes)){ + if (StringUtils.isNotBlank(jidRes)) { jsscore(jidRes); } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } - return "提交成功!"; } @@ -874,129 +871,86 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl public String getDjjg(WjxDjxx wjxDjxxPar) { // LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String vid = wjxDjxxPar.getVid(); - if(vid ==null || vid.equals("")){ + if (vid == null || vid.equals("")) { return "此试卷错误,无法提交!"; } //调用接口,提交 String jidRes = wjxDjxxPar.getJid(); - //调用接口,答卷查询 - Map selMap = new HashMap<>(); - selMap.put("vid",Integer.valueOf(vid)); - selMap.put("jid",Long.valueOf(jidRes)); - //调用接口,查询答卷结果 - String answerStr = wjxUtil.openapi(selMap,"1001002"); - if(!answerStr.equals("")) { - JSONObject ansJsonResult = JSONObject.parseObject(answerStr); - if (ansJsonResult.getBoolean("result")) { - JSONObject ansDataJson = ansJsonResult.getJSONObject("data"); - String answerVid = ansDataJson.getString("vid"); - JSONObject answerJsonArray = ansDataJson.getJSONObject("answers"); - for (String key1 : answerJsonArray.keySet()) { - JSONObject answer = answerJsonArray.getJSONObject(key1); - String jidAns = answer.getString("jid"); - Integer answerSeconds = answer.getInteger("answer_seconds"); - Double score = answer.getDouble("score"); - Double totalScore = answer.getDouble("total_score"); - WjxDjxx wjxDjxx = new WjxDjxx(); - wjxDjxx.setVid(answerVid); - wjxDjxx.setJid(jidAns); - wjxDjxx.setAnswerSeconds(answerSeconds); - wjxDjxx.setScore(score); - wjxDjxx.setTotalScore(totalScore); - //删除选项信息 + //调用接口,答卷查询 + Map selMap = new HashMap<>(); + selMap.put("vid", Integer.valueOf(vid)); + selMap.put("jid", Long.valueOf(jidRes)); + //调用接口,查询答卷结果 + String answerStr = wjxUtil.openapi(selMap, "1001002"); + if (!answerStr.equals("")) { + JSONObject ansJsonResult = JSONObject.parseObject(answerStr); + if (ansJsonResult.getBoolean("result")) { + JSONObject ansDataJson = ansJsonResult.getJSONObject("data"); + String answerVid = ansDataJson.getString("vid"); + JSONObject answerJsonArray = ansDataJson.getJSONObject("answers"); + for (String key1 : answerJsonArray.keySet()) { + JSONObject answer = answerJsonArray.getJSONObject(key1); + String jidAns = answer.getString("jid"); + Integer answerSeconds = answer.getInteger("answer_seconds"); + Double score = answer.getDouble("score"); + Double totalScore = answer.getDouble("total_score"); + WjxDjxx wjxDjxx = new WjxDjxx(); + wjxDjxx.setVid(answerVid); + wjxDjxx.setJid(jidAns); + wjxDjxx.setAnswerSeconds(answerSeconds); + wjxDjxx.setScore(score); + wjxDjxx.setTotalScore(totalScore); + //删除选项信息 // baseMapper.deleteDjItem(wjxDjxx); - //处理选项 - JSONObject answerItemJson = answer.getJSONObject("answer_items"); - if(answerItemJson!=null){ - for (String key2 : answerItemJson.keySet()) { - JSONObject answerItem = answerItemJson.getJSONObject(key2); - WjxDjxxTmxx wjxDjxxTmxx = new WjxDjxxTmxx(); - wjxDjxxTmxx.setVid(answerVid); - wjxDjxxTmxx.setJid(jidAns); - wjxDjxxTmxx.setUserId(wjxDjxxPar.getUserId()); - wjxDjxxTmxx.setCreateBy(wjxDjxxPar.getUserId()); - wjxDjxxTmxx.setCreateTime(new Date()); + //处理选项 + JSONObject answerItemJson = answer.getJSONObject("answer_items"); + if (answerItemJson != null) { + for (String key2 : answerItemJson.keySet()) { + JSONObject answerItem = answerItemJson.getJSONObject(key2); + WjxDjxxTmxx wjxDjxxTmxx = new WjxDjxxTmxx(); + wjxDjxxTmxx.setVid(answerVid); + wjxDjxxTmxx.setJid(jidAns); + wjxDjxxTmxx.setUserId(wjxDjxxPar.getUserId()); + wjxDjxxTmxx.setCreateBy(wjxDjxxPar.getUserId()); + wjxDjxxTmxx.setCreateTime(new Date()); - if (answerItem.get("q_index") != null) { - Integer wjIndex = answerItem.getInteger("q_index"); - wjxDjxxTmxx.setWjIndex(wjIndex); - } - if (answerItem.get("title") != null) { - String wjTitle = answerItem.getString("title"); - wjxDjxxTmxx.setWjTitle(wjTitle); - } + if (answerItem.get("q_index") != null) { + Integer wjIndex = answerItem.getInteger("q_index"); + wjxDjxxTmxx.setWjIndex(wjIndex); + } + if (answerItem.get("title") != null) { + String wjTitle = answerItem.getString("title"); + wjxDjxxTmxx.setWjTitle(wjTitle); + } - if (answerItem.get("item_value") != null) { - Double itemScore = answerItem.getDouble("item_value"); - wjxDjxxTmxx.setItemScore(itemScore); - } - if (answerItem.get("answer_text") != null) { - String answerText = answerItem.getString("answer_text"); - wjxDjxxTmxx.setAnswerText(answerText); - } - if (answerItem.get("item_index") != null) { - JSONArray itemIndex = answerItem.getJSONArray("item_index"); + if (answerItem.get("item_value") != null) { + Double itemScore = answerItem.getDouble("item_value"); + wjxDjxxTmxx.setItemScore(itemScore); + } + if (answerItem.get("answer_text") != null) { + String answerText = answerItem.getString("answer_text"); + wjxDjxxTmxx.setAnswerText(answerText); + } + if (answerItem.get("item_index") != null) { + JSONArray itemIndex = answerItem.getJSONArray("item_index"); - QueryWrapper wjxWjxxQueryWrapper = new QueryWrapper<>(); - wjxWjxxQueryWrapper.eq("vid", vid); - wjxWjxxQueryWrapper.last("limit 1"); - WjxWjxx wjxxPar = wjxWjxxMapper.selectOne(wjxWjxxQueryWrapper); + QueryWrapper wjxWjxxQueryWrapper = new QueryWrapper<>(); + wjxWjxxQueryWrapper.eq("vid", vid); + wjxWjxxQueryWrapper.last("limit 1"); + WjxWjxx wjxxPar = wjxWjxxMapper.selectOne(wjxWjxxQueryWrapper); - if (itemIndex.size() > 0) { - for (Object index : itemIndex) { - Integer ti = (Integer) index; + if (itemIndex.size() > 0) { + for (Object index : itemIndex) { + Integer ti = (Integer) index; - wjxDjxxTmxx.setItemIndex(ti); - String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString(); - wjxDjxxTmxx.setId(id); - - try { - QueryWrapper wjxWjxxTmlbQueryWrapper = new QueryWrapper<>(); - wjxWjxxTmlbQueryWrapper.eq("main_id", wjxxPar.getId()); - wjxWjxxTmlbQueryWrapper.eq("wj_index", wjxDjxxTmxx.getWjIndex()); - wjxWjxxTmlbQueryWrapper.last("limit 1"); - WjxWjxxTmlb tmlb = wjxWjxxTmlbMapper.selectOne(wjxWjxxTmlbQueryWrapper); - wjxDjxxTmxx.setPicPath(tmlb.getPicPath()); - } catch (Exception e) { - e.printStackTrace(); - } - - WjxDjxxTmxx djxxTmxx = baseMapper.getSfysj(wjxDjxxTmxx); - if(djxxTmxx==null){ - baseMapper.addDjTmxx(wjxDjxxTmxx); - } - - } - } else { - String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString(); - - try { - QueryWrapper wjxWjxxTmlbQueryWrapper = new QueryWrapper<>(); - wjxWjxxTmlbQueryWrapper.eq("main_id", wjxxPar.getId()); - wjxWjxxTmlbQueryWrapper.eq("wj_index", wjxDjxxTmxx.getWjIndex()); - wjxWjxxTmlbQueryWrapper.last("limit 1"); - WjxWjxxTmlb tmlb = wjxWjxxTmlbMapper.selectOne(wjxWjxxTmlbQueryWrapper); - wjxDjxxTmxx.setPicPath(tmlb.getPicPath()); - } catch (Exception e) { - e.printStackTrace(); - } - wjxDjxxTmxx.setId(id); - WjxDjxxTmxx djxxTmxx = baseMapper.getSfysj(wjxDjxxTmxx); - if(djxxTmxx==null){ - baseMapper.addDjTmxx(wjxDjxxTmxx); - } - } - } else { + wjxDjxxTmxx.setItemIndex(ti); String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString(); + wjxDjxxTmxx.setId(id); try { - QueryWrapper wjxWjxxQueryWrapper = new QueryWrapper<>(); - wjxWjxxQueryWrapper.eq("vid", vid); - wjxWjxxQueryWrapper.last("limit 1"); - WjxWjxx wjxxPar = wjxWjxxMapper.selectOne(wjxWjxxQueryWrapper); QueryWrapper wjxWjxxTmlbQueryWrapper = new QueryWrapper<>(); wjxWjxxTmlbQueryWrapper.eq("main_id", wjxxPar.getId()); wjxWjxxTmlbQueryWrapper.eq("wj_index", wjxDjxxTmxx.getWjIndex()); @@ -1006,47 +960,96 @@ public class WjxDjxxServiceImpl extends ServiceImpl impl } catch (Exception e) { e.printStackTrace(); } - wjxDjxxTmxx.setId(id); + WjxDjxxTmxx djxxTmxx = baseMapper.getSfysj(wjxDjxxTmxx); - if(djxxTmxx==null){ + if (djxxTmxx == null) { baseMapper.addDjTmxx(wjxDjxxTmxx); } + + } + } else { + String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString(); + + try { + QueryWrapper wjxWjxxTmlbQueryWrapper = new QueryWrapper<>(); + wjxWjxxTmlbQueryWrapper.eq("main_id", wjxxPar.getId()); + wjxWjxxTmlbQueryWrapper.eq("wj_index", wjxDjxxTmxx.getWjIndex()); + wjxWjxxTmlbQueryWrapper.last("limit 1"); + WjxWjxxTmlb tmlb = wjxWjxxTmlbMapper.selectOne(wjxWjxxTmlbQueryWrapper); + wjxDjxxTmxx.setPicPath(tmlb.getPicPath()); + } catch (Exception e) { + e.printStackTrace(); + } + wjxDjxxTmxx.setId(id); + WjxDjxxTmxx djxxTmxx = baseMapper.getSfysj(wjxDjxxTmxx); + if (djxxTmxx == null) { + baseMapper.addDjTmxx(wjxDjxxTmxx); } } + } else { + String id = new DefaultIdentifierGenerator().nextId(new WjxDjxxTmxx()).toString(); + + try { + QueryWrapper wjxWjxxQueryWrapper = new QueryWrapper<>(); + wjxWjxxQueryWrapper.eq("vid", vid); + wjxWjxxQueryWrapper.last("limit 1"); + WjxWjxx wjxxPar = wjxWjxxMapper.selectOne(wjxWjxxQueryWrapper); + QueryWrapper wjxWjxxTmlbQueryWrapper = new QueryWrapper<>(); + wjxWjxxTmlbQueryWrapper.eq("main_id", wjxxPar.getId()); + wjxWjxxTmlbQueryWrapper.eq("wj_index", wjxDjxxTmxx.getWjIndex()); + wjxWjxxTmlbQueryWrapper.last("limit 1"); + WjxWjxxTmlb tmlb = wjxWjxxTmlbMapper.selectOne(wjxWjxxTmlbQueryWrapper); + wjxDjxxTmxx.setPicPath(tmlb.getPicPath()); + } catch (Exception e) { + e.printStackTrace(); + } + wjxDjxxTmxx.setId(id); + WjxDjxxTmxx djxxTmxx = baseMapper.getSfysj(wjxDjxxTmxx); + if (djxxTmxx == null) { + baseMapper.addDjTmxx(wjxDjxxTmxx); + } } - - //修改答卷信息 - baseMapper.updateAnswer(wjxDjxx); } - } else { - baseMapper.updateErrMsg(wjxDjxxPar.getUserId(), vid, ansJsonResult.getString("errormsg")); - return ansJsonResult.getString("errormsg"); } - } - try { - if(StringUtils.isNotBlank(jidRes)){ - jsscore(jidRes); + //修改答卷信息 + baseMapper.updateAnswer(wjxDjxx); + } + } else { + baseMapper.updateErrMsg(wjxDjxxPar.getUserId(), vid, ansJsonResult.getString("errormsg")); + return ansJsonResult.getString("errormsg"); } - }catch (Exception e){ - e.printStackTrace(); } + try { + if (StringUtils.isNotBlank(jidRes)) { + jsscore(jidRes); + } + } catch (Exception e) { + e.printStackTrace(); + } return "获取成功!"; } - public void jsscore(String jid){ + @Override + public int upZbcs(WjxDjxx wjxDjxx) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + wjxDjxx.setCreateBy(sysUser.getUsername()); + return baseMapper.upZbcs(wjxDjxx); + } + + public void jsscore(String jid) { try { - if(StringUtils.equals(jid,"122233965812")){ + if (StringUtils.equals(jid, "122233965812")) { System.out.println("jid"); } WjxDjxxTmxx wjxDjxxTmxx = new WjxDjxxTmxx(); wjxDjxxTmxx.setJid(jid); wjxDjxxTmxx = baseMapper.getSumScore(wjxDjxxTmxx); WjxDjxx par2 = new WjxDjxx(); - if(wjxDjxxTmxx.getItemScore() != null && wjxDjxxTmxx.getItemScore()>0){ + if (wjxDjxxTmxx.getItemScore() != null && wjxDjxxTmxx.getItemScore() > 0) { par2.setScore(wjxDjxxTmxx.getItemScore()); par2.setJid(jid); baseMapper.updateScoreByJid(par2); diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/controller/WjxDjxxFzbtjController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/controller/WjxDjxxFzbtjController.java new file mode 100644 index 00000000..1d9a5a17 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/controller/WjxDjxxFzbtjController.java @@ -0,0 +1,165 @@ +package org.jeecg.modules.kc.wjxDjxxFzbtj.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.kc.wjxDjxxFzbtj.entity.WjxDjxxFzbtj; +import org.jeecg.modules.kc.wjxDjxxFzbtj.service.IWjxDjxxFzbtjService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.Map; + +/** + * @Description: wjx_djxx_fzbtj + * @Author: jeecg-boot + * @Date: 2025-01-07 + * @Version: V1.0 + */ +@Api(tags = "wjx_djxx_fzbtj") +@RestController +@RequestMapping("/wjxDjxxFzbtj/wjxDjxxFzbtj") +@Slf4j +public class WjxDjxxFzbtjController extends JeecgController { + @Autowired + private IWjxDjxxFzbtjService wjxDjxxFzbtjService; + + /** + * 分页列表查询 + * + * @param wjxDjxxFzbtj + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "wjx_djxx_fzbtj-分页列表查询") + @ApiOperation(value = "wjx_djxx_fzbtj-分页列表查询", notes = "wjx_djxx_fzbtj-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(WjxDjxxFzbtj wjxDjxxFzbtj, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(wjxDjxxFzbtj, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = wjxDjxxFzbtjService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param wjxDjxxFzbtj + * @return + */ + @AutoLog(value = "wjx_djxx_fzbtj-添加") + @ApiOperation(value = "wjx_djxx_fzbtj-添加", notes = "wjx_djxx_fzbtj-添加") + @PostMapping(value = "/add") + public Result> add(@RequestBody WjxDjxxFzbtj wjxDjxxFzbtj) { + return Result.OK(wjxDjxxFzbtjService.saveData(wjxDjxxFzbtj)); + } + + /** + * 编辑 + * + * @param wjxDjxxFzbtj + * @return + */ + @AutoLog(value = "wjx_djxx_fzbtj-编辑") + @ApiOperation(value = "wjx_djxx_fzbtj-编辑", notes = "wjx_djxx_fzbtj-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody WjxDjxxFzbtj wjxDjxxFzbtj) { + wjxDjxxFzbtjService.updateById(wjxDjxxFzbtj); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "wjx_djxx_fzbtj-通过id删除") + @ApiOperation(value = "wjx_djxx_fzbtj-通过id删除", notes = "wjx_djxx_fzbtj-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + wjxDjxxFzbtjService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "wjx_djxx_fzbtj-批量删除") + @ApiOperation(value = "wjx_djxx_fzbtj-批量删除", notes = "wjx_djxx_fzbtj-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.wjxDjxxFzbtjService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "wjx_djxx_fzbtj-通过id查询") + @ApiOperation(value = "wjx_djxx_fzbtj-通过id查询", notes = "wjx_djxx_fzbtj-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + WjxDjxxFzbtj wjxDjxxFzbtj = wjxDjxxFzbtjService.getById(id); + if (wjxDjxxFzbtj == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(wjxDjxxFzbtj); + } + + /** + * 导出excel + * + * @param request + * @param wjxDjxxFzbtj + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, WjxDjxxFzbtj wjxDjxxFzbtj) { + return super.exportXls(request, wjxDjxxFzbtj, WjxDjxxFzbtj.class, "wjx_djxx_fzbtj"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, WjxDjxxFzbtj.class); + } + + /** + * 获取考试剩余时间 + * + * @param redisKey + * @return + */ + @PostMapping(value = "/getExamTime") + public Result getExamTime(@RequestBody String redisKey) { + return Result.OK(wjxDjxxFzbtjService.getExamTime(redisKey)); + } +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/entity/WjxDjxxFzbtj.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/entity/WjxDjxxFzbtj.java new file mode 100644 index 00000000..2bce2f6e --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/entity/WjxDjxxFzbtj.java @@ -0,0 +1,105 @@ +package org.jeecg.modules.kc.wjxDjxxFzbtj.entity; + +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 com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: wjx_djxx_fzbtj + * @Author: jeecg-boot + * @Date: 2025-01-07 + * @Version: V1.0 + */ +@Data +@TableName("wjx_djxx_fzbtj") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "wjx_djxx_fzbtj对象", description = "wjx_djxx_fzbtj") +public class WjxDjxxFzbtj implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /** + * wjx_djxx表id + */ + @Excel(name = "wjx_djxx表id", width = 15) + @ApiModelProperty(value = "wjx_djxx表id") + private String djxxId; + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人") + private String createBy; + /** + * 学生姓名 + */ + @Excel(name = "学生姓名", width = 15) + @ApiModelProperty(value = "学生姓名") + private String studentName; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private Date createTime; + /** + * 修改时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "修改时间") + private Date updateTime; + /** + * 问卷编号(提交问卷、查询问卷会用到) + */ + @Excel(name = "问卷编号(提交问卷、查询问卷会用到)", width = 15) + @ApiModelProperty(value = "问卷编号(提交问卷、查询问卷会用到)") + private String vid; + /** + * 答卷编号 + */ + @Excel(name = "答卷编号", width = 15) + @ApiModelProperty(value = "答卷编号") + private String jid; + /** + * 作弊类型 + * 1、退出全屏 + * 2、切屏 + * 3、考试超时 + */ + @Excel(name = "作弊类型1、退出全屏2、切屏3、考试超时4、开始答题", width = 15) + @ApiModelProperty(value = "作弊类型1、退出全屏2、切屏3、考试超时4、开始答题") + private int type; + /** + * 作弊内容:XX时间,XX操作; + */ + @Excel(name = "作弊内容:XX时间,XX操作;", width = 15) + @ApiModelProperty(value = "作弊内容:XX时间,XX操作;") + private String content; + + //作答时限(分钟) + @TableField(exist = false) + private Integer zdsx; + + //结束时间 + @TableField(exist = false) + private String endTime; +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/mapper/WjxDjxxFzbtjMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/mapper/WjxDjxxFzbtjMapper.java new file mode 100644 index 00000000..5e43ecd0 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/mapper/WjxDjxxFzbtjMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.kc.wjxDjxxFzbtj.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.kc.wjxDjxxFzbtj.entity.WjxDjxxFzbtj; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: wjx_djxx_fzbtj + * @Author: jeecg-boot + * @Date: 2025-01-07 + * @Version: V1.0 + */ +public interface WjxDjxxFzbtjMapper extends BaseMapper { + +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/mapper/xml/WjxDjxxFzbtjMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/mapper/xml/WjxDjxxFzbtjMapper.xml new file mode 100644 index 00000000..66f54f66 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/mapper/xml/WjxDjxxFzbtjMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/service/IWjxDjxxFzbtjService.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/service/IWjxDjxxFzbtjService.java new file mode 100644 index 00000000..857b6486 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/service/IWjxDjxxFzbtjService.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.kc.wjxDjxxFzbtj.service; + +import org.jeecg.modules.kc.wjxDjxxFzbtj.entity.WjxDjxxFzbtj; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + * @Description: wjx_djxx_fzbtj + * @Author: jeecg-boot + * @Date: 2025-01-07 + * @Version: V1.0 + */ +public interface IWjxDjxxFzbtjService extends IService { + Map saveData(WjxDjxxFzbtj wjxDjxxFzbtj); + + String getExamTime(String redisKey); + +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/service/impl/WjxDjxxFzbtjServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/service/impl/WjxDjxxFzbtjServiceImpl.java new file mode 100644 index 00000000..a19d89d2 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxDjxxFzbtj/service/impl/WjxDjxxFzbtjServiceImpl.java @@ -0,0 +1,137 @@ +package org.jeecg.modules.kc.wjxDjxxFzbtj.service.impl; + +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.kc.wjxDjxxFzbtj.entity.WjxDjxxFzbtj; +import org.jeecg.modules.kc.wjxDjxxFzbtj.mapper.WjxDjxxFzbtjMapper; +import org.jeecg.modules.kc.wjxDjxxFzbtj.service.IWjxDjxxFzbtjService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.time.Duration; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +/** + * @Description: wjx_djxx_fzbtj + * @Author: jeecg-boot + * @Date: 2025-01-07 + * @Version: V1.0 + */ +@Service +public class WjxDjxxFzbtjServiceImpl extends ServiceImpl implements IWjxDjxxFzbtjService { + + @Autowired + public RedisTemplate redisTemplate; + + @Override + public Map saveData(WjxDjxxFzbtj wjxDjxxFzbtj) { + // 创建返回的Map + Map resultMap = new HashMap<>(); + + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + wjxDjxxFzbtj.setId(IdUtil.simpleUUID()); + wjxDjxxFzbtj.setStudentName(sysUser.getRealname()); + + // 设置内容 + switch (wjxDjxxFzbtj.getType()) { + case 1: + wjxDjxxFzbtj.setContent(sysUser.getRealname() + "在" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss")) + "退出全屏;"); + break; + case 2: + wjxDjxxFzbtj.setContent(sysUser.getRealname() + "在" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss")) + "切屏;"); + break; + case 3: + wjxDjxxFzbtj.setContent(sysUser.getRealname() + "在" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss")) + "提交超时;"); + break; + case 4: + if (wjxDjxxFzbtj.getZdsx() != null) { + String finishTime = oConvertUtils.getString(redisTemplate.opsForValue().get("ktcy" + ":" + wjxDjxxFzbtj.getVid() + ":" + sysUser.getUsername())); + resultMap.put("finishTime", finishTime);//考试结束时间 + if (StringUtils.isBlank(finishTime)) { + //计算考试剩余时间 + String endTimeStr = wjxDjxxFzbtj.getEndTime(); + LocalDateTime endTime = LocalDateTime.parse(endTimeStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); + LocalDateTime now = LocalDateTime.now(); + Duration duration = Duration.between(now, endTime); + finishTime = LocalDateTime.now().plus(Duration.ofMinutes(wjxDjxxFzbtj.getZdsx())).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + redisTemplate.opsForValue().set( + "ktcy" + ":" + wjxDjxxFzbtj.getVid() + ":" + sysUser.getUsername(), + finishTime, + duration.getSeconds(), + TimeUnit.SECONDS); + resultMap.put("finishTime", finishTime);//考试结束时间 + } else { + try { + // 解析结束时间并检查是否过期 + LocalDateTime finishDateTime = LocalDateTime.parse(finishTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + LocalDateTime now = LocalDateTime.now(); + boolean isExpired = !finishDateTime.isAfter(now); + + resultMap.put("expired", isExpired);//是否超时 + + //未超时返回剩余时间格式化后的字符串 + if (!isExpired) { + Duration duration = Duration.between(now, finishDateTime); + + long hoursLeft = duration.toHours(); + long minutesLeft = duration.toMinutes() % 60; + long secondsLeft = duration.getSeconds() % 60; + + StringBuilder timeLeftBuilder = new StringBuilder(); + + if (hoursLeft > 0) { + timeLeftBuilder.append(hoursLeft).append("小时"); + } + if (minutesLeft > 0 || hoursLeft == 0) { // 如果没有小时或有分钟,则显示分钟 + if (timeLeftBuilder.length() > 0) { + timeLeftBuilder.append(" "); + } + timeLeftBuilder.append(minutesLeft).append("分钟"); + } + if (secondsLeft > 0 || (hoursLeft == 0 && minutesLeft == 0)) { // 如果没有小时和分钟或者有秒,则显示秒 + if (timeLeftBuilder.length() > 0) { + timeLeftBuilder.append(" "); + } + timeLeftBuilder.append(secondsLeft).append("秒"); + } + + resultMap.put("timeLeft", timeLeftBuilder.toString()); + } + } catch (DateTimeParseException e) { + // 如果解析失败,可以在这里处理异常 +// Map errorResult = new HashMap<>(); +// errorResult.put("error", "时间格式错误"); +// return errorResult; + e.printStackTrace(); + } + } + } + wjxDjxxFzbtj.setContent(sysUser.getRealname() + "在" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss")) + "开始作答;"); + break; + default: + // 处理其他类型 + break; + } + + baseMapper.insert(wjxDjxxFzbtj); + + return resultMap; + } + + @Override + public String getExamTime(String redisKey) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String string = oConvertUtils.getString(redisTemplate.opsForValue().get(redisKey + ":" + sysUser.getUsername())); + return string; + } +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/controller/WjxWjxxController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/controller/WjxWjxxController.java index d8dc5182..df32e64a 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/controller/WjxWjxxController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/controller/WjxWjxxController.java @@ -57,286 +57,287 @@ import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; import org.apache.shiro.authz.annotation.RequiresPermissions; - /** +/** * @Description: 问卷信息 * @Author: jeecg-boot - * @Date: 2024-04-26 + * @Date: 2024-04-26 * @Version: V1.0 */ -@Api(tags="问卷信息") +@Api(tags = "问卷信息") @RestController @RequestMapping("/wjxWjxx/wjxWjxx") @Slf4j public class WjxWjxxController extends JeecgController { - @Autowired - private IWjxWjxxService wjxWjxxService; + @Autowired + private IWjxWjxxService wjxWjxxService; - @Autowired - private WjxAuthService wjxAuthService; + @Autowired + private WjxAuthService wjxAuthService; - @Autowired - private IXxhbbksService xxhbbksService; + @Autowired + private IXxhbbksService xxhbbksService; - @Autowired - private IZyDbtxService zyDbtxService; - @Autowired - private IWjxWjxxTmlbService wjxWjxxTmlbService; + @Autowired + private IZyDbtxService zyDbtxService; + @Autowired + private IWjxWjxxTmlbService wjxWjxxTmlbService; + @Autowired + private SysBaseApiImpl sysBaseApi; + @Autowired + private IKcExportConfigTpkwcqkjzglxService kcExportConfigTpkwcqkjzglxService; + @Autowired + private IKcSysConfigService kcSysConfigService; - @Autowired - private SysBaseApiImpl sysBaseApi; - @Autowired - private IKcExportConfigTpkwcqkjzglxService kcExportConfigTpkwcqkjzglxService; - @Autowired - private IKcSysConfigService kcSysConfigService; + @Value("${jeecg.path.upload}") + private String upLoadPath; + @Autowired + private IKcKechengbiaoService kcKechengbiaoService; - @Value("${jeecg.path.upload}") - private String upLoadPath; - @Autowired - private IKcKechengbiaoService kcKechengbiaoService; - /** - * 分页列表查询 - * - * @param wjxWjxx - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "问卷信息-分页列表查询") - @ApiOperation(value="问卷信息-分页列表查询", notes="问卷信息-分页列表查询") - @GetMapping(value = "/list") - public Result> queryPageList(WjxWjxx wjxWjxx, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { + /** + * 分页列表查询 + * + * @param wjxWjxx + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "问卷信息-分页列表查询") + @ApiOperation(value = "问卷信息-分页列表查询", notes = "问卷信息-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(WjxWjxx wjxWjxx, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { // QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(wjxWjxx, req.getParameterMap()); // queryWrapper.orderByDesc("create_time"); // queryWrapper.orderByAsc("start_time"); // Page page = new Page(pageNo, pageSize); // IPage pageList = wjxWjxxService.page(page, queryWrapper); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // wjxWjxx.setCreateBy(user.getUsername()); - Page pageList = wjxWjxxService.findPage(wjxWjxx, new Page<>(pageNo, pageSize)); - return Result.OK(pageList); - } + Page pageList = wjxWjxxService.findPage(wjxWjxx, new Page<>(pageNo, pageSize)); + return Result.OK(pageList); + } - @ApiOperation(value="问卷信息-分页列表查询", notes="问卷信息-分页列表查询") - @GetMapping(value = "/newlist") - public Result> newlist(WjxWjxx wjxWjxx, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - Page pageList = wjxWjxxService.findPage(wjxWjxx, new Page<>(pageNo, pageSize)); - return Result.OK(pageList); - } - /** - * 学生问卷分页列表查询 - * - * @param wjxWjxx - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "问卷信息-分页列表查询") - @ApiOperation(value="问卷信息-分页列表查询", notes="问卷信息-分页列表查询") - @GetMapping(value = "/stuList") - public Result> queryPageStuList(WjxWjxx wjxWjxx, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - Page pageList = wjxWjxxService.findStuPage(wjxWjxx, new Page<>(pageNo, pageSize)); - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param wjxWjxx - * @return - */ - @AutoLog(value = "问卷信息-添加") - @ApiOperation(value="问卷信息-添加", notes="问卷信息-添加") - @PostMapping(value = "/add") - public Result add(@RequestBody WjxWjxx wjxWjxx) { - wjxWjxxService.save(wjxWjxx); - return Result.OK("添加成功!"); - } - - @AutoLog(value = "问卷发布-添加") - @ApiOperation(value="问卷发布-添加", notes="问卷发布-添加") - @PostMapping(value = "/batchAdd") - public Result batchAdd(@RequestBody List list) { - WjxWjxx zyInfo = list.get(0); - - //删除老师留过的问卷,重新生成新的 - QueryWrapper query = new QueryWrapper<>(); - query.eq("rwbh", zyInfo.getRwbh()); - query.eq("create_by",zyInfo.getCreateBy()); - query.eq("atype",zyInfo.getAtype()); - List oldList = wjxWjxxService.list(query); - wjxWjxxService.remove(query); - - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - for(int i = 0; i < list.size(); i++) { - WjxWjxx par = list.get(i); - List zyInfo1 = oldList.stream().filter(zyInfo2 -> zyInfo2.getId().equals(par.getId())).collect(Collectors.toList()); - if(zyInfo1!=null && zyInfo1.size()>0){ - WjxWjxx zypar = zyInfo1.get(0); - zypar.setSort(par.getSort()); - zypar.setScore(par.getScore()); - wjxWjxxService.save(zypar); - }else{ - par.setXqxn(kcSysConfig.getFlag1()); - par.setQpublish("0"); - par.setXkrs(kcKechengbiao.getXkrs()); - par.setKcmc(kcKechengbiao.getKcmc()); - wjxWjxxService.save(par); - } - } - return Result.OK("添加成功!"); - } - - @AutoLog(value = "问卷发布-添加") - @ApiOperation(value="问卷发布-添加", notes="问卷发布-添加") - @PostMapping(value = "/addOne") - public Result addOne(@RequestBody WjxWjxx zyInfo) { - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - - - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); - zyInfoQueryWrapper.eq("xqxn",zyInfo.getXqxn()); -// zyInfoQueryWrapper.eq("create_by",sysUser.getUsername()); - zyInfoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - zyInfoQueryWrapper.eq("atype",zyInfo.getAtype()); - List list = wjxWjxxService.list(zyInfoQueryWrapper); - - zyInfo.setSort(list.size()+1+""); - zyInfo.setXqxn(kcSysConfig.getFlag1()); - zyInfo.setQpublish("0"); - zyInfo.setXkrs(kcKechengbiao.getXkrs()); - zyInfo.setScore("0"); - zyInfo.setAtype(zyInfo.getAtype()); - zyInfo.setKcmc(kcKechengbiao.getKcmc()); - wjxWjxxService.save(zyInfo); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - * - * @param wjxWjxx - * @return - */ - @AutoLog(value = "问卷信息-编辑") - @ApiOperation(value="问卷信息-编辑", notes="问卷信息-编辑") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody WjxWjxx wjxWjxx) { - wjxWjxxService.updateById(wjxWjxx); - - - List list =wjxWjxx.getList(); - String mainId = wjxWjxx.getId(); - if(list.size()>0){ - - QueryWrapper wjxWjxxTmlbQueryWrapper = new QueryWrapper(); - wjxWjxxTmlbQueryWrapper.eq("main_id",mainId); - List list2 = wjxWjxxTmlbService.list(wjxWjxxTmlbQueryWrapper); - for(WjxWjxxTmlb WjxWjxxTmlb:list2){ - wjxWjxxTmlbService.removeByMainId(WjxWjxxTmlb.getId()); - } - - for(WjxWjxxTmlbPage wjxWjxxTmlbPage:list){ - wjxWjxxTmlbPage.setId(null); - WjxWjxxTmlb wjxWjxxTmlb = new WjxWjxxTmlb(); - BeanUtils.copyProperties(wjxWjxxTmlbPage, wjxWjxxTmlb); - wjxWjxxTmlb.setMainId(mainId); - wjxWjxxTmlbService.saveMain(wjxWjxxTmlb, wjxWjxxTmlbPage.getWjxWjxxTmxxList()); - } - } - - - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "问卷信息-通过id删除") - @ApiOperation(value="问卷信息-通过id删除", notes="问卷信息-通过id删除") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - WjxWjxx zyInfo = wjxWjxxService.getById(id); - wjxWjxxService.removeById(id); - QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); - zyInfoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - zyInfoQueryWrapper.eq("xqxn",zyInfo.getXqxn()); - zyInfoQueryWrapper.eq("atype",zyInfo.getAtype()); - zyInfoQueryWrapper.orderByAsc("sort-0"); - List list = wjxWjxxService.list(zyInfoQueryWrapper); - for(int i=0;i deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.wjxWjxxService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - //@AutoLog(value = "问卷信息-通过id查询") - @ApiOperation(value="问卷信息-通过id查询", notes="问卷信息-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - WjxWjxx wjxWjxx = wjxWjxxService.getById(id); - if(wjxWjxx==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(wjxWjxx); - } + @ApiOperation(value = "问卷信息-分页列表查询", notes = "问卷信息-分页列表查询") + @GetMapping(value = "/newlist") + public Result> newlist(WjxWjxx wjxWjxx, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Page pageList = wjxWjxxService.findPage(wjxWjxx, new Page<>(pageNo, pageSize)); + return Result.OK(pageList); + } /** - * 导出excel - * - * @param request - * @param wjxWjxx - */ + * 学生问卷分页列表查询 + * + * @param wjxWjxx + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "问卷信息-分页列表查询") + @ApiOperation(value = "问卷信息-分页列表查询", notes = "问卷信息-分页列表查询") + @GetMapping(value = "/stuList") + public Result> queryPageStuList(WjxWjxx wjxWjxx, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Page pageList = wjxWjxxService.findStuPage(wjxWjxx, new Page<>(pageNo, pageSize)); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param wjxWjxx + * @return + */ + @AutoLog(value = "问卷信息-添加") + @ApiOperation(value = "问卷信息-添加", notes = "问卷信息-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody WjxWjxx wjxWjxx) { + wjxWjxxService.save(wjxWjxx); + return Result.OK("添加成功!"); + } + + @AutoLog(value = "问卷发布-添加") + @ApiOperation(value = "问卷发布-添加", notes = "问卷发布-添加") + @PostMapping(value = "/batchAdd") + public Result batchAdd(@RequestBody List list) { + WjxWjxx zyInfo = list.get(0); + + //删除老师留过的问卷,重新生成新的 + QueryWrapper query = new QueryWrapper<>(); + query.eq("rwbh", zyInfo.getRwbh()); + query.eq("create_by", zyInfo.getCreateBy()); + query.eq("atype", zyInfo.getAtype()); + List oldList = wjxWjxxService.list(query); + wjxWjxxService.remove(query); + + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + for (int i = 0; i < list.size(); i++) { + WjxWjxx par = list.get(i); + List zyInfo1 = oldList.stream().filter(zyInfo2 -> zyInfo2.getId().equals(par.getId())).collect(Collectors.toList()); + if (zyInfo1 != null && zyInfo1.size() > 0) { + WjxWjxx zypar = zyInfo1.get(0); + zypar.setSort(par.getSort()); + zypar.setScore(par.getScore()); + wjxWjxxService.save(zypar); + } else { + par.setXqxn(kcSysConfig.getFlag1()); + par.setQpublish("0"); + par.setXkrs(kcKechengbiao.getXkrs()); + par.setKcmc(kcKechengbiao.getKcmc()); + wjxWjxxService.save(par); + } + } + return Result.OK("添加成功!"); + } + + @AutoLog(value = "问卷发布-添加") + @ApiOperation(value = "问卷发布-添加", notes = "问卷发布-添加") + @PostMapping(value = "/addOne") + public Result addOne(@RequestBody WjxWjxx zyInfo) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + + + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); + zyInfoQueryWrapper.eq("xqxn", zyInfo.getXqxn()); +// zyInfoQueryWrapper.eq("create_by",sysUser.getUsername()); + zyInfoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + zyInfoQueryWrapper.eq("atype", zyInfo.getAtype()); + List list = wjxWjxxService.list(zyInfoQueryWrapper); + + zyInfo.setSort(list.size() + 1 + ""); + zyInfo.setXqxn(kcSysConfig.getFlag1()); + zyInfo.setQpublish("0"); + zyInfo.setXkrs(kcKechengbiao.getXkrs()); + zyInfo.setScore("0"); + zyInfo.setAtype(zyInfo.getAtype()); + zyInfo.setKcmc(kcKechengbiao.getKcmc()); + wjxWjxxService.save(zyInfo); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param wjxWjxx + * @return + */ + @AutoLog(value = "问卷信息-编辑") + @ApiOperation(value = "问卷信息-编辑", notes = "问卷信息-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody WjxWjxx wjxWjxx) { + wjxWjxxService.updateById(wjxWjxx); + + + List list = wjxWjxx.getList(); + String mainId = wjxWjxx.getId(); + if (list.size() > 0) { + + QueryWrapper wjxWjxxTmlbQueryWrapper = new QueryWrapper(); + wjxWjxxTmlbQueryWrapper.eq("main_id", mainId); + List list2 = wjxWjxxTmlbService.list(wjxWjxxTmlbQueryWrapper); + for (WjxWjxxTmlb WjxWjxxTmlb : list2) { + wjxWjxxTmlbService.removeByMainId(WjxWjxxTmlb.getId()); + } + + for (WjxWjxxTmlbPage wjxWjxxTmlbPage : list) { + wjxWjxxTmlbPage.setId(null); + WjxWjxxTmlb wjxWjxxTmlb = new WjxWjxxTmlb(); + BeanUtils.copyProperties(wjxWjxxTmlbPage, wjxWjxxTmlb); + wjxWjxxTmlb.setMainId(mainId); + wjxWjxxTmlbService.saveMain(wjxWjxxTmlb, wjxWjxxTmlbPage.getWjxWjxxTmxxList()); + } + } + + + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "问卷信息-通过id删除") + @ApiOperation(value = "问卷信息-通过id删除", notes = "问卷信息-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + WjxWjxx zyInfo = wjxWjxxService.getById(id); + wjxWjxxService.removeById(id); + QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); + zyInfoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + zyInfoQueryWrapper.eq("xqxn", zyInfo.getXqxn()); + zyInfoQueryWrapper.eq("atype", zyInfo.getAtype()); + zyInfoQueryWrapper.orderByAsc("sort-0"); + List list = wjxWjxxService.list(zyInfoQueryWrapper); + for (int i = 0; i < list.size(); i++) { + WjxWjxx zyInfoPar = list.get(i); + zyInfoPar.setSort(i + 1 + ""); + wjxWjxxService.updateById(zyInfoPar); + } + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "问卷信息-批量删除") + @ApiOperation(value = "问卷信息-批量删除", notes = "问卷信息-批量删除") + @RequiresPermissions("wjxWjxx:wjx_wjxx:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.wjxWjxxService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "问卷信息-通过id查询") + @ApiOperation(value = "问卷信息-通过id查询", notes = "问卷信息-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + WjxWjxx wjxWjxx = wjxWjxxService.getById(id); + if (wjxWjxx == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(wjxWjxx); + } + + /** + * 导出excel + * + * @param request + * @param wjxWjxx + */ @RequiresPermissions("wjxWjxx:wjx_wjxx:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, WjxWjxx wjxWjxx) { @@ -344,72 +345,72 @@ public class WjxWjxxController extends JeecgController } /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ @RequiresPermissions("wjxWjxx:wjx_wjxx:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, WjxWjxx.class); } - @ApiOperation(value="问卷信息-通过id查询", notes="问卷信息-通过id查询") - @GetMapping(value = "/getWjxLogin") - public Result getWjxLogin() { - try { - // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。 - String accessToken = wjxAuthService.getAuth(); - System.out.println(accessToken); - } catch (Exception e) { - e.printStackTrace(); - } - return Result.OK(null); - } + @ApiOperation(value = "问卷信息-通过id查询", notes = "问卷信息-通过id查询") + @GetMapping(value = "/getWjxLogin") + public Result getWjxLogin() { + try { + // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。 + String accessToken = wjxAuthService.getAuth(); + System.out.println(accessToken); + } catch (Exception e) { + e.printStackTrace(); + } + return Result.OK(null); + } - @ApiOperation(value="获取课程信息", notes="获取课程信息") - @GetMapping(value = "/kcxx") - public Result kcxx(@RequestParam(name="rwbh",required=true) String rwbh,@RequestParam(name="xqxn",required=true) String xqxn) { - WjxWjxx wjxWjxx = wjxWjxxService.kcxx(rwbh,xqxn); - return Result.OK(wjxWjxx); - } + @ApiOperation(value = "获取课程信息", notes = "获取课程信息") + @GetMapping(value = "/kcxx") + public Result kcxx(@RequestParam(name = "rwbh", required = true) String rwbh, @RequestParam(name = "xqxn", required = true) String xqxn) { + WjxWjxx wjxWjxx = wjxWjxxService.kcxx(rwbh, xqxn); + return Result.OK(wjxWjxx); + } - @ApiOperation(value="发布问卷", notes="发布问卷") - @GetMapping(value = "/fbwj") - public Result fbwj(@RequestParam(name="id",required=true) String id,@RequestParam(name="wjlx",required=true) String wjlx) { - String res = wjxWjxxService.fbwj(id,wjlx); + @ApiOperation(value = "发布问卷", notes = "发布问卷") + @GetMapping(value = "/fbwj") + public Result fbwj(@RequestParam(name = "id", required = true) String id, @RequestParam(name = "wjlx", required = true) String wjlx) { + String res = wjxWjxxService.fbwj(id, wjlx); - WjxWjxx wjxWjxx=wjxWjxxService.getById(id); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",wjxWjxx.getRwbh()); - List list = xxhbbksService.getXsxkbAllList(queryWrapper); - String type = ""; - String content = ""; + WjxWjxx wjxWjxx = wjxWjxxService.getById(id); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", wjxWjxx.getRwbh()); + List list = xxhbbksService.getXsxkbAllList(queryWrapper); + String type = ""; + String content = ""; - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if(StringUtils.equals(wjlx,"6")){ - type = "2"; - content = sysUser.getRealname()+"教师发起了["+wjxWjxx.getKcmc()+"]课程“"+wjxWjxx.getTitle()+"”测验,该测验完成时间: "+DateUtils.formatDate(wjxWjxx.getStartTime(),"yyyy-MM-dd")+" ~ "+DateUtils.formatDate(wjxWjxx.getEndTime(),"yyyy-MM-dd")+",请及时完成"; - }else{ - type = "3"; - content = sysUser.getRealname()+"教师发起了["+wjxWjxx.getKcmc()+"]课程“"+wjxWjxx.getTitle()+"”问卷,该问卷完成时间: "+DateUtils.formatDate(wjxWjxx.getStartTime(),"yyyy-MM-dd")+" ~ "+DateUtils.formatDate(wjxWjxx.getEndTime(),"yyyy-MM-dd")+",请及时完成"; - } - for(Xxhbbks xxhbbks:list){ + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (StringUtils.equals(wjlx, "6")) { + type = "2"; + content = sysUser.getRealname() + "教师发起了[" + wjxWjxx.getKcmc() + "]课程“" + wjxWjxx.getTitle() + "”测验,该测验完成时间: " + DateUtils.formatDate(wjxWjxx.getStartTime(), "yyyy-MM-dd") + " ~ " + DateUtils.formatDate(wjxWjxx.getEndTime(), "yyyy-MM-dd") + ",请及时完成"; + } else { + type = "3"; + content = sysUser.getRealname() + "教师发起了[" + wjxWjxx.getKcmc() + "]课程“" + wjxWjxx.getTitle() + "”问卷,该问卷完成时间: " + DateUtils.formatDate(wjxWjxx.getStartTime(), "yyyy-MM-dd") + " ~ " + DateUtils.formatDate(wjxWjxx.getEndTime(), "yyyy-MM-dd") + ",请及时完成"; + } + for (Xxhbbks xxhbbks : list) { - //作业代办提醒 - ZyDbtx zyDbtx = new ZyDbtx(); - zyDbtx.setCreateBy(xxhbbks.getXh()); - zyDbtx.setType(type);//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setMainId(wjxWjxx.getId()); - zyDbtx.setRwbh(wjxWjxx.getRwbh()); - zyDbtx.setContent(content); - zyDbtx.setFlag("0"); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - zyDbtx.setFbr(user.getUsername()); - zyDbtxService.save(zyDbtx); + //作业代办提醒 + ZyDbtx zyDbtx = new ZyDbtx(); + zyDbtx.setCreateBy(xxhbbks.getXh()); + zyDbtx.setType(type);//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setMainId(wjxWjxx.getId()); + zyDbtx.setRwbh(wjxWjxx.getRwbh()); + zyDbtx.setContent(content); + zyDbtx.setFlag("0"); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + zyDbtx.setFbr(user.getUsername()); + zyDbtxService.save(zyDbtx); // try { // KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); // kcWechatSendLog.setOpenid(xxhbbks.getXh()); @@ -419,26 +420,26 @@ public class WjxWjxxController extends JeecgController // }catch (Exception e){ // e.printStackTrace(); // } - } - return Result.OK(res); - } + } + return Result.OK(res); + } - @ApiOperation(value="发布问卷", notes="发布问卷") - @GetMapping(value = "/sendWjWechat") - public Result sendWjWechat(@RequestParam(name="id",required=true) String id,@RequestParam(name="wjlx",required=true) String wjlx) { - WjxWjxx wjxWjxx=wjxWjxxService.getById(id); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",wjxWjxx.getRwbh()); - List list = xxhbbksService.getXsxkbAllList(queryWrapper); - String content = ""; - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if(StringUtils.equals(wjlx,"6")){ - content = sysUser.getRealname()+"教师发起了["+wjxWjxx.getKcmc()+"]课程“"+wjxWjxx.getTitle()+"”测验,该测验完成时间: "+DateUtils.formatDate(wjxWjxx.getStartTime(),"yyyy-MM-dd")+" ~ "+DateUtils.formatDate(wjxWjxx.getEndTime(),"yyyy-MM-dd")+",请及时完成"; - }else{ - content = sysUser.getRealname()+"教师发起了["+wjxWjxx.getKcmc()+"]课程“"+wjxWjxx.getTitle()+"”问卷,该问卷完成时间: "+DateUtils.formatDate(wjxWjxx.getStartTime(),"yyyy-MM-dd")+" ~ "+DateUtils.formatDate(wjxWjxx.getEndTime(),"yyyy-MM-dd")+",请及时完成"; - } + @ApiOperation(value = "发布问卷", notes = "发布问卷") + @GetMapping(value = "/sendWjWechat") + public Result sendWjWechat(@RequestParam(name = "id", required = true) String id, @RequestParam(name = "wjlx", required = true) String wjlx) { + WjxWjxx wjxWjxx = wjxWjxxService.getById(id); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", wjxWjxx.getRwbh()); + List list = xxhbbksService.getXsxkbAllList(queryWrapper); + String content = ""; + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (StringUtils.equals(wjlx, "6")) { + content = sysUser.getRealname() + "教师发起了[" + wjxWjxx.getKcmc() + "]课程“" + wjxWjxx.getTitle() + "”测验,该测验完成时间: " + DateUtils.formatDate(wjxWjxx.getStartTime(), "yyyy-MM-dd") + " ~ " + DateUtils.formatDate(wjxWjxx.getEndTime(), "yyyy-MM-dd") + ",请及时完成"; + } else { + content = sysUser.getRealname() + "教师发起了[" + wjxWjxx.getKcmc() + "]课程“" + wjxWjxx.getTitle() + "”问卷,该问卷完成时间: " + DateUtils.formatDate(wjxWjxx.getStartTime(), "yyyy-MM-dd") + " ~ " + DateUtils.formatDate(wjxWjxx.getEndTime(), "yyyy-MM-dd") + ",请及时完成"; + } // for(Xxhbbks xxhbbks:list){ // try { // KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); @@ -450,293 +451,289 @@ public class WjxWjxxController extends JeecgController // e.printStackTrace(); // } // } - return Result.OK(null); - } + return Result.OK(null); + } - // appId - private static final String appId = "wx031697a8ca09a5ce";//东师 + // appId + private static final String appId = "wx031697a8ca09a5ce";//东师 - private static final String agentid = "1000065";// - // appIdSecret - private static final String appIdSecret = "6Qhnge3xfzAQMDX2TcjEyE0vUGP96hP9OTYUsYBze2Y";//东师 + private static final String agentid = "1000065";// + // appIdSecret + private static final String appIdSecret = "6Qhnge3xfzAQMDX2TcjEyE0vUGP96hP9OTYUsYBze2Y";//东师 - //微信通知点击后跳转的页面 - private static final String domainTo = "https://smartedu.nenu.edu.cn"; + //微信通知点击后跳转的页面 + private static final String domainTo = "https://smartedu.nenu.edu.cn"; - public void sendWxmessage(KcWechatSendLog kcWechatSendLog) { - String openId = kcWechatSendLog.getOpenid();//曹老师账号 - System.out.println("openId:"+openId+""); - if(org.apache.commons.lang3.StringUtils.isNotEmpty(openId)){ - try { - String urlToken = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+ appId +"&corpsecret=" + appIdSecret; - System.out.println("urlToken: "+ urlToken); - String res = HttpUtil.get(urlToken); - JSONObject jsonObjectToken = JSONObject.parseObject(res); - System.out.println("jsonObjectToken:{}"+ jsonObjectToken); - String accessToken = jsonObjectToken.getString("access_token"); - System.out.println("accessToken:{}"+ accessToken); + public void sendWxmessage(KcWechatSendLog kcWechatSendLog) { + String openId = kcWechatSendLog.getOpenid();//曹老师账号 + System.out.println("openId:" + openId + ""); + if (org.apache.commons.lang3.StringUtils.isNotEmpty(openId)) { + try { + String urlToken = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + appId + "&corpsecret=" + appIdSecret; + System.out.println("urlToken: " + urlToken); + String res = HttpUtil.get(urlToken); + JSONObject jsonObjectToken = JSONObject.parseObject(res); + System.out.println("jsonObjectToken:{}" + jsonObjectToken); + String accessToken = jsonObjectToken.getString("access_token"); + System.out.println("accessToken:{}" + accessToken); - // 微信的基础accessToken - String url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + accessToken; - Map sendMag = new HashMap<>(); + // 微信的基础accessToken + String url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + accessToken; + Map sendMag = new HashMap<>(); // 1、xx老师,你好,您本学期(2023秋)听课要求为:5次,当前实际听课次数:3次,请尽快完成本学期的听课任务。 - String html = kcWechatSendLog.getYtkcs(); - html = html + "\n查看"; - sendMag.put("content", html);//授课老师推送内容 - RestTemplate restTemplate = new RestTemplate(); - //拼接base参数 - Map sendBody = new HashMap<>(); - sendBody.put("touser", openId); // openId - sendBody.put("msgtype", "text"); // 消息类型,此时固定为:text - sendBody.put("agentid", agentid); // 企业id - sendBody.put("text",sendMag); //发送内容 - ResponseEntity forEntity = restTemplate.postForEntity(url, sendBody, String.class); - JSONObject jsonObject2 = JSONObject.parseObject(forEntity.getBody()); - System.out.println("jsonObject2 : " + jsonObject2); - String messageCode = jsonObject2.getString("errcode"); - String msgId = jsonObject2.getString("msgid"); - System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); - }catch (Exception e) { - e.printStackTrace(); - } - }else{ - } - } + String html = kcWechatSendLog.getYtkcs(); + html = html + "\n查看"; + sendMag.put("content", html);//授课老师推送内容 + RestTemplate restTemplate = new RestTemplate(); + //拼接base参数 + Map sendBody = new HashMap<>(); + sendBody.put("touser", openId); // openId + sendBody.put("msgtype", "text"); // 消息类型,此时固定为:text + sendBody.put("agentid", agentid); // 企业id + sendBody.put("text", sendMag); //发送内容 + ResponseEntity forEntity = restTemplate.postForEntity(url, sendBody, String.class); + JSONObject jsonObject2 = JSONObject.parseObject(forEntity.getBody()); + System.out.println("jsonObject2 : " + jsonObject2); + String messageCode = jsonObject2.getString("errcode"); + String msgId = jsonObject2.getString("msgid"); + System.out.println("messageCode : " + messageCode + ", msgId: " + msgId); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + } + } - @ApiOperation(value="统计分析", notes="统计分析") - @GetMapping(value = "/wjxxTjfx") - public Result wjxxTjfx(@RequestParam(name="id",required=true) String id) { - JSONObject res = wjxWjxxService.wjxxTjfx(id); + @ApiOperation(value = "统计分析", notes = "统计分析") + @GetMapping(value = "/wjxxTjfx") + public Result wjxxTjfx(@RequestParam(name = "id", required = true) String id) { + JSONObject res = wjxWjxxService.wjxxTjfx(id); - return Result.OK(res); - } + return Result.OK(res); + } - @ApiOperation(value="问卷下载", notes="问卷下载") - @GetMapping(value = "/wjxxDownLoad") - public Result wjxxDownLoad(@RequestParam(name="id",required=true) String id) { - JSONObject res = wjxWjxxService.wjxxDownLoad(id); - return Result.OK(res); - } + @ApiOperation(value = "问卷下载", notes = "问卷下载") + @GetMapping(value = "/wjxxDownLoad") + public Result wjxxDownLoad(@RequestParam(name = "id", required = true) String id) { + JSONObject res = wjxWjxxService.wjxxDownLoad(id); + return Result.OK(res); + } + @ApiOperation(value = "教学大纲-分页列表查询", notes = "教学大纲-分页列表查询") + @GetMapping(value = "/sysList") + public Result> sysList(KccyglSys kccyglSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + queryWrapper.eq("kkdw", kcExportConfigTpkwcqkjzglx.getDwmc()); + } - @ApiOperation(value="教学大纲-分页列表查询", notes="教学大纲-分页列表查询") - @GetMapping(value = "/sysList") - public Result> sysList(KccyglSys kccyglSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - queryWrapper.eq("kkdw",kcExportConfigTpkwcqkjzglx.getDwmc()); - } + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(kccyglSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + queryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + } else { + queryWrapper.eq("xqxn", kccyglSys.getXqxn()); + } + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(kccyglSys.getKkdw()), "kkdw", kccyglSys.getKkdw()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(kccyglSys.getKcmc()), "kcmc", kccyglSys.getKcmc()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(kccyglSys.getKcbh()), "kcbh", kccyglSys.getKcbh()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(kccyglSys.getSkjs()), "skjs", kccyglSys.getSkjs()); - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(kccyglSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - queryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - }else{ - queryWrapper.eq("xqxn",kccyglSys.getXqxn()); - } - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(kccyglSys.getKkdw()),"kkdw",kccyglSys.getKkdw()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(kccyglSys.getKcmc()),"kcmc",kccyglSys.getKcmc()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(kccyglSys.getKcbh()),"kcbh",kccyglSys.getKcbh()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(kccyglSys.getSkjs()),"skjs",kccyglSys.getSkjs()); - - Page page = new Page(pageNo, pageSize); - IPage pageList = wjxWjxxService.sysList(page, queryWrapper,kccyglSys); - return Result.OK(pageList); - } + Page page = new Page(pageNo, pageSize); + IPage pageList = wjxWjxxService.sysList(page, queryWrapper, kccyglSys); + return Result.OK(pageList); + } - @RequestMapping(value = "/exportSysXls") - public ModelAndView exportSysXls(HttpServletRequest request, KccyglSys KccyglSys) { - String title = "课程测验"; - // Step.1 组装查询条件 - QueryWrapper queryWrapper = new QueryWrapper<>(); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + @RequestMapping(value = "/exportSysXls") + public ModelAndView exportSysXls(HttpServletRequest request, KccyglSys KccyglSys) { + String title = "课程测验"; + // Step.1 组装查询条件 + QueryWrapper queryWrapper = new QueryWrapper<>(); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - queryWrapper.eq("kkdw",kcExportConfigTpkwcqkjzglx.getDwmc()); - } + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + queryWrapper.eq("kkdw", kcExportConfigTpkwcqkjzglx.getDwmc()); + } - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(KccyglSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - queryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - }else{ - queryWrapper.eq("xqxn",KccyglSys.getXqxn()); - } - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(KccyglSys.getKkdw()),"kkdw",KccyglSys.getKkdw()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(KccyglSys.getKcmc()),"kcmc",KccyglSys.getKcmc()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(KccyglSys.getKcbh()),"kcbh",KccyglSys.getKcbh()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(KccyglSys.getSkjs()),"skjs",KccyglSys.getSkjs()); + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(KccyglSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + queryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + } else { + queryWrapper.eq("xqxn", KccyglSys.getXqxn()); + } + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(KccyglSys.getKkdw()), "kkdw", KccyglSys.getKkdw()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(KccyglSys.getKcmc()), "kcmc", KccyglSys.getKcmc()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(KccyglSys.getKcbh()), "kcbh", KccyglSys.getKcbh()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(KccyglSys.getSkjs()), "skjs", KccyglSys.getSkjs()); - // Step.2 获取导出数据 - List exportList = service.exportSysXls(queryWrapper,KccyglSys); + // Step.2 获取导出数据 + List exportList = service.exportSysXls(queryWrapper, KccyglSys); - // Step.3 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - //此处设置的filename无效 ,前端会重更新设置一下 - mv.addObject(NormalExcelConstants.FILE_NAME, title); - mv.addObject(NormalExcelConstants.CLASS, KccyglSys.class); - //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- - ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); - exportParams.setImageBasePath(upLoadPath); - //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- - mv.addObject(NormalExcelConstants.PARAMS,exportParams); - mv.addObject(NormalExcelConstants.DATA_LIST, exportList); - return mv; - } + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, KccyglSys.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams = new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + exportParams.setImageBasePath(upLoadPath); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS, exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } + @ApiOperation(value="判断学生是否答过题", notes="判断学生是否答过题") + @GetMapping(value = "/querySfdtById") + public Result querySfdtById(@RequestParam(name="id",required=true) String id) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String num = wjxWjxxService.querySfdtById(id,sysUser.getUsername()); + WjxWjxx WjxWjxx = new WjxWjxx(); + WjxWjxx.setNum(num); + return Result.OK(WjxWjxx); + } - @ApiOperation(value="判断学生是否答过题", notes="判断学生是否答过题") - @GetMapping(value = "/querySfdtById") - public Result querySfdtById(@RequestParam(name="id",required=true) String id) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String num = wjxWjxxService.querySfdtById(id,sysUser.getUsername()); - WjxWjxx WjxWjxx = new WjxWjxx(); - WjxWjxx.setNum(num); - return Result.OK(WjxWjxx); - } + @ApiOperation(value = "是否是学生-是否允许答卷", notes = "是否是学生-是否允许答卷") + @GetMapping(value = "/getSfxs") + public Result getSfxs(@RequestParam(name = "id", required = true) String id) { + WjxWjxx WjxWjxx = wjxWjxxService.getById(id); + if (WjxWjxx == null) { + return Result.error("未找到对应数据"); + } + + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", WjxWjxx.getRwbh()); + WjxWjxx.setNum("0");//不是本次学生,不可以答卷 + List list = xxhbbksService.getXsxkbAllList(queryWrapper); + for (Xxhbbks par : list) { + String xh = par.getXh(); + if (org.apache.commons.lang.StringUtils.equals(xh, sysUser.getUsername())) { + WjxWjxx.setNum("1"); + break; + } + } + return Result.OK(WjxWjxx); + + } - @ApiOperation(value="是否是学生-是否允许答卷", notes="是否是学生-是否允许答卷") - @GetMapping(value = "/getSfxs") - public Result getSfxs(@RequestParam(name="id",required=true) String id) { - WjxWjxx WjxWjxx = wjxWjxxService.getById(id); - if(WjxWjxx==null) { - return Result.error("未找到对应数据"); - } - - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",WjxWjxx.getRwbh()); - WjxWjxx.setNum("0");//不是本次学生,不可以答卷 - List list = xxhbbksService.getXsxkbAllList(queryWrapper); - for(Xxhbbks par : list){ - String xh = par.getXh(); - if(org.apache.commons.lang.StringUtils.equals(xh,sysUser.getUsername())){ - WjxWjxx.setNum("1"); - break; - } - } - return Result.OK(WjxWjxx); - - } + @ApiOperation(value = "测验结果-通过id查询", notes = "测验结果-通过id查询") + @GetMapping(value = "/queryCyjgById") + public Result queryCyjgById(@RequestParam(name = "id", required = true) String id) { + WjxWjxx wjxWjxx = wjxWjxxService.queryCyjgById(id); + if (wjxWjxx == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(wjxWjxx); + } - @ApiOperation(value="测验结果-通过id查询", notes="测验结果-通过id查询") - @GetMapping(value = "/queryCyjgById") - public Result queryCyjgById(@RequestParam(name="id",required=true) String id) { - WjxWjxx wjxWjxx = wjxWjxxService.queryCyjgById(id); - if(wjxWjxx==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(wjxWjxx); - } + @ApiOperation(value = "问卷信息-微信提醒", notes = "微信提醒") + @GetMapping(value = "/sendWxtx") + public void sendWxtx(@RequestParam(name = "id", required = true) String id, @RequestParam(name = "wjlx", required = true) String wjlx) { + WjxWjxx wjxWjxx = wjxWjxxService.getById(id); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", wjxWjxx.getRwbh()); + List list = xxhbbksService.getXsxkbAllList(queryWrapper); + String content = ""; + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (StringUtils.equals(wjlx, "6")) { + content = sysUser.getRealname() + "教师发起了[" + wjxWjxx.getKcmc() + "]课程“" + wjxWjxx.getTitle() + "”测验,该测验完成时间: " + DateUtils.formatDate(wjxWjxx.getStartTime(), "yyyy-MM-dd") + " ~ " + DateUtils.formatDate(wjxWjxx.getEndTime(), "yyyy-MM-dd") + ",请及时完成"; + } else { + content = sysUser.getRealname() + "教师发起了[" + wjxWjxx.getKcmc() + "]课程“" + wjxWjxx.getTitle() + "”问卷,该问卷完成时间: " + DateUtils.formatDate(wjxWjxx.getStartTime(), "yyyy-MM-dd") + " ~ " + DateUtils.formatDate(wjxWjxx.getEndTime(), "yyyy-MM-dd") + ",请及时完成"; + } + for (Xxhbbks xxhbbks : list) { - - @ApiOperation(value="问卷信息-微信提醒", notes="微信提醒") - @GetMapping(value = "/sendWxtx") - public void sendWxtx(@RequestParam(name="id",required=true) String id,@RequestParam(name="wjlx",required=true) String wjlx) { - WjxWjxx wjxWjxx=wjxWjxxService.getById(id); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",wjxWjxx.getRwbh()); - List list = xxhbbksService.getXsxkbAllList(queryWrapper); - String content = ""; - - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if(StringUtils.equals(wjlx,"6")){ - content = sysUser.getRealname()+"教师发起了["+wjxWjxx.getKcmc()+"]课程“"+wjxWjxx.getTitle()+"”测验,该测验完成时间: "+DateUtils.formatDate(wjxWjxx.getStartTime(),"yyyy-MM-dd")+" ~ "+DateUtils.formatDate(wjxWjxx.getEndTime(),"yyyy-MM-dd")+",请及时完成"; - }else{ - content = sysUser.getRealname()+"教师发起了["+wjxWjxx.getKcmc()+"]课程“"+wjxWjxx.getTitle()+"”问卷,该问卷完成时间: "+DateUtils.formatDate(wjxWjxx.getStartTime(),"yyyy-MM-dd")+" ~ "+DateUtils.formatDate(wjxWjxx.getEndTime(),"yyyy-MM-dd")+",请及时完成"; - } - for(Xxhbbks xxhbbks:list){ - - try { - KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); - kcWechatSendLog.setOpenid(xxhbbks.getXh()); + try { + KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); + kcWechatSendLog.setOpenid(xxhbbks.getXh()); // kcWechatSendLog.setOpenid("2016900057");//指定曹老师账号 - kcWechatSendLog.setYtkcs(content); - sendWxmessage(kcWechatSendLog); - }catch (Exception e){ - e.printStackTrace(); - } - break; - } - } + kcWechatSendLog.setYtkcs(content); + sendWxmessage(kcWechatSendLog); + } catch (Exception e) { + e.printStackTrace(); + } + break; + } + } - @ApiOperation(value="问卷信息-分页列表查询", notes="问卷信息-分页列表查询") - @GetMapping(value = "/listOther") - public Result> listOther(WjxWjxx wjxWjxx, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - wjxWjxx.setTeacherNo(user.getUsername()); - Page pageList = wjxWjxxService.listOther(wjxWjxx, new Page<>(pageNo, pageSize)); - return Result.OK(pageList); - } + @ApiOperation(value = "问卷信息-分页列表查询", notes = "问卷信息-分页列表查询") + @GetMapping(value = "/listOther") + public Result> listOther(WjxWjxx wjxWjxx, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + wjxWjxx.setTeacherNo(user.getUsername()); + Page pageList = wjxWjxxService.listOther(wjxWjxx, new Page<>(pageNo, pageSize)); + return Result.OK(pageList); + } - @GetMapping(value = "/khclList") - public Result> khclList(WjxWjxx wjxWjxx, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { + @GetMapping(value = "/khclList") + public Result> khclList(WjxWjxx wjxWjxx, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(wjxWjxx, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = wjxWjxxService.page(page, queryWrapper); - return Result.OK(pageList); - } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(wjxWjxx, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = wjxWjxxService.page(page, queryWrapper); + return Result.OK(pageList); + } - @PostMapping(value = "/uploadSckhcl") - public Result uploadSckhcl(@RequestBody WjxWjxx wjxWjxx) { - try { - System.out.println("ids:"+wjxWjxx.getId()); - wjxWjxxService.batchZyinfoKhcl(wjxWjxx.getId()); - }catch (Exception e) { - e.printStackTrace(); - } + @PostMapping(value = "/uploadSckhcl") + public Result uploadSckhcl(@RequestBody WjxWjxx wjxWjxx) { + try { + System.out.println("ids:" + wjxWjxx.getId()); + wjxWjxxService.batchZyinfoKhcl(wjxWjxx.getId()); + } catch (Exception e) { + e.printStackTrace(); + } - return Result.OK("考核材料上传成功!"); - } + return Result.OK("考核材料上传成功!"); + } - } +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/entity/WjxWjxx.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/entity/WjxWjxx.java index a0fda96d..0e9afa63 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/entity/WjxWjxx.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/entity/WjxWjxx.java @@ -105,6 +105,10 @@ public class WjxWjxx implements Serializable { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm") private Date endTime; + @ApiModelProperty(value = "防作弊模式:Y-开启 N-关闭") + private String fzbms; + @ApiModelProperty(value = "作答时限(答题时间限制)") + private Integer zdsx; private String sort;//排序 private String score;//占比 @@ -158,4 +162,6 @@ public class WjxWjxx implements Serializable { private String yuanTeacherNo; @TableField(exist = false) private String yuanTeacherName; + @TableField(exist = false) + private String ts; } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/WjxWjxxMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/WjxWjxxMapper.java index f7f17e51..3bfa0875 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/WjxWjxxMapper.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/WjxWjxxMapper.java @@ -1,15 +1,15 @@ package org.jeecg.modules.kc.wjxWjxx.mapper; -import java.util.List; - import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.kc.wjxWjxx.entity.KccyglSys; import org.jeecg.modules.kc.wjxWjxx.entity.WjxWjxx; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import java.util.List; /** * @Description: 问卷信息 diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/xml/WjxWjxxMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/xml/WjxWjxxMapper.xml index e7aa90ac..ef362a12 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/xml/WjxWjxxMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/mapper/xml/WjxWjxxMapper.xml @@ -40,6 +40,8 @@ a.kcmc, a.start_time, a.end_time, + a.fzbms, + a.zdsx, ifnull(b.flag,'-1') as flag, b.id as djId from wjx_wjxx a diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/service/IWjxWjxxService.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/service/IWjxWjxxService.java index 13d60dcf..ad6cd940 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/service/IWjxWjxxService.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/service/IWjxWjxxService.java @@ -3,13 +3,12 @@ package org.jeecg.modules.kc.wjxWjxx.service; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.kc.wjxWjxx.entity.KccyglSys; import org.jeecg.modules.kc.wjxWjxx.entity.WjxWjxx; -import com.baomidou.mybatisplus.extension.service.IService; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import java.util.List; -import java.util.Map; /** * @Description: 问卷信息 diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/service/impl/WjxWjxxServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/service/impl/WjxWjxxServiceImpl.java index 7829e349..04cc661f 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/service/impl/WjxWjxxServiceImpl.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/wjxWjxx/service/impl/WjxWjxxServiceImpl.java @@ -1,12 +1,10 @@ package org.jeecg.modules.kc.wjxWjxx.service.impl; -import com.alibaba.fastjson.JSONArray; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xkcoding.http.HttpUtil; import org.apache.shiro.SecurityUtils; import org.jeecg.common.system.vo.LoginUser; @@ -36,25 +34,21 @@ import org.jeecg.modules.kc.wjxWjxxTmlb.mapper.WjxWjxxTmlbMapper; import org.jeecg.modules.kc.wjxWjxxTmlb.mapper.WjxWjxxTmxxMapper; import org.jeecg.modules.kc.zyDbtx.entity.ZyDbtx; import org.jeecg.modules.kc.zyDbtx.service.IZyDbtxService; -import org.jeecg.modules.kc.zyInfo.entity.ZyInfo; import org.jeecg.modules.kc.zyInfoScjl.entity.ZyInfoScjl; import org.jeecg.modules.kc.zyInfoScjl.service.IZyInfoScjlService; -import org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudent; import org.jeecg.modules.tools.dbsdkfzpt.RestTemplateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.*; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.web.client.RestTemplate; -import java.time.temporal.ChronoUnit; import java.util.*; /** * @Description: 问卷信息 * @Author: jeecg-boot - * @Date: 2024-04-26 + * @Date: 2024-04-26 * @Version: V1.0 */ @Service @@ -97,7 +91,7 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl this.uploadpath = uploadPath; } - @Value(value="${jeecg.uploadType}") + @Value(value = "${jeecg.uploadType}") private String uploadType; @Value(value = "${jeecg.path.webapp}") private String downloadpath; @@ -107,17 +101,17 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl private String upLoadPath; @Override - public Page findPage(WjxWjxx wjxWjxx, Page page){ - List list = baseMapper.findPage(page,wjxWjxx); + public Page findPage(WjxWjxx wjxWjxx, Page page) { + List list = baseMapper.findPage(page, wjxWjxx); page.setRecords(list); return page; } @Override - public Page findStuPage(WjxWjxx wjxWjxx, Page page){ + public Page findStuPage(WjxWjxx wjxWjxx, Page page) { LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); wjxWjxx.setUserId(user.getUsername()); - List list = baseMapper.findStuPage(page,wjxWjxx); + List list = baseMapper.findStuPage(page, wjxWjxx); page.setRecords(list); return page; } @@ -284,92 +278,92 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl // } @Override - public WjxWjxx kcxx(String rwbh,String xqxn){ - return baseMapper.kcxx(rwbh,xqxn); + public WjxWjxx kcxx(String rwbh, String xqxn) { + return baseMapper.kcxx(rwbh, xqxn); } @Override - public String fbwj(String id,String wjlx) { + public String fbwj(String id, String wjlx) { WjxWjxx wjxWjxx = baseMapper.selectById(id); QueryWrapper wjxWjxxTmlbQueryWrapper = new QueryWrapper<>(); wjxWjxxTmlbQueryWrapper.eq("main_id", id); wjxWjxxTmlbQueryWrapper.orderByAsc("wj_index"); - List wjxWjxxTmlbList =wjxWjxxTmlbMapper.selectList(wjxWjxxTmlbQueryWrapper); + List wjxWjxxTmlbList = wjxWjxxTmlbMapper.selectList(wjxWjxxTmlbQueryWrapper); - List> questionsList = new ArrayList<>(); - for(WjxWjxxTmlb wWjxWjxxTmlb:wjxWjxxTmlbList){ - Map map = new HashMap<>(); - map.put("q_index",wWjxWjxxTmlb.getWjIndex()); - map.put("q_type",wWjxWjxxTmlb.getWjType()); - map.put("q_title",wWjxWjxxTmlb.getWjTitle()); - if(wWjxWjxxTmlb.getWjSubtype() != null){ - map.put("q_subtype",wWjxWjxxTmlb.getWjSubtype()); + List> questionsList = new ArrayList<>(); + for (WjxWjxxTmlb wWjxWjxxTmlb : wjxWjxxTmlbList) { + Map map = new HashMap<>(); + map.put("q_index", wWjxWjxxTmlb.getWjIndex()); + map.put("q_type", wWjxWjxxTmlb.getWjType()); + map.put("q_title", wWjxWjxxTmlb.getWjTitle()); + if (wWjxWjxxTmlb.getWjSubtype() != null) { + map.put("q_subtype", wWjxWjxxTmlb.getWjSubtype()); } - if(wjlx.equals("6")){ - if(wWjxWjxxTmlb.getWjType() != 8){ - if(wWjxWjxxTmlb.getWjScore()!=null){ - map.put("q_score",wWjxWjxxTmlb.getWjScore()); + if (wjlx.equals("6")) { + if (wWjxWjxxTmlb.getWjType() != 8) { + if (wWjxWjxxTmlb.getWjScore() != null) { + map.put("q_score", wWjxWjxxTmlb.getWjScore()); } - map.put("is_requir",false); - map.put("q_ceshi",true); - map.put("is_toupiao",3); - }else{ - map.put("is_requir",false); + map.put("is_requir", false); + map.put("q_ceshi", true); + map.put("is_toupiao", 3); + } else { + map.put("is_requir", false); } } - if(wWjxWjxxTmlb.getWjType() == 3 || wWjxWjxxTmlb.getWjType() == 4){ + if (wWjxWjxxTmlb.getWjType() == 3 || wWjxWjxxTmlb.getWjType() == 4) { //单选和多选 - List> itemsList = new ArrayList<>(); + List> itemsList = new ArrayList<>(); List tmxxList = wjxWjxxTmxxMapper.selectByMainId(wWjxWjxxTmlb.getId()); - for(WjxWjxxTmxx wjxWjxxTmxx:tmxxList){ - Map tmxxMap = new HashMap<>(); - tmxxMap.put("q_index",wjxWjxxTmxx.getWjIndex()); - tmxxMap.put("item_index",wjxWjxxTmxx.getItemIndex()); - tmxxMap.put("item_title",wjxWjxxTmxx.getItemTitle()); - tmxxMap.put("item_selected",Boolean.parseBoolean(wjxWjxxTmxx.getItemSelected())); - tmxxMap.put("item_score",0); + for (WjxWjxxTmxx wjxWjxxTmxx : tmxxList) { + Map tmxxMap = new HashMap<>(); + tmxxMap.put("q_index", wjxWjxxTmxx.getWjIndex()); + tmxxMap.put("item_index", wjxWjxxTmxx.getItemIndex()); + tmxxMap.put("item_title", wjxWjxxTmxx.getItemTitle()); + tmxxMap.put("item_selected", Boolean.parseBoolean(wjxWjxxTmxx.getItemSelected())); + tmxxMap.put("item_score", 0); JSONObject json = new JSONObject(tmxxMap); itemsList.add(json); } - map.put("items",itemsList); - }else if(wWjxWjxxTmlb.getWjType() == 5){ + map.put("items", itemsList); + } else if (wWjxWjxxTmlb.getWjType() == 5) { //填空 - if(wWjxWjxxTmlb.getWjAnswer()!=null){ - map.put("answer",wWjxWjxxTmlb.getWjAnswer()); - }else{ - map.put("answer","跳过"); + if (wWjxWjxxTmlb.getWjAnswer() != null) { + map.put("answer", wWjxWjxxTmlb.getWjAnswer()); + } else { + map.put("answer", "跳过"); } - }else if(wWjxWjxxTmlb.getWjType() == 6){ + } else if (wWjxWjxxTmlb.getWjType() == 6) { //多项填空,预留,之后有需求再开发 - }else if(wWjxWjxxTmlb.getWjType() == 8){ + } else if (wWjxWjxxTmlb.getWjType() == 8) { //文件题目 - map.put("q_subtype",8); + map.put("q_subtype", 8); } JSONObject json = new JSONObject(map); questionsList.add(json); } - Map map = new HashMap<>(); + Map map = new HashMap<>(); //-----------题目必穿参数------------- - map.put("creater","jwctest"); - map.put("atype",wjxWjxx.getAtype()); - map.put("title",wjxWjxx.getTitle()); - if(StringUtils.isNotEmpty(wjxWjxx.getContent())){ - map.put("desc",wjxWjxx.getContent()); + map.put("creater", "jwctest"); + map.put("atype", wjxWjxx.getAtype()); + map.put("title", wjxWjxx.getTitle()); + if (StringUtils.isNotEmpty(wjxWjxx.getContent())) { + map.put("desc", wjxWjxx.getContent()); } - map.put("publish",true); - map.put("questions",questionsList.toString()); - String result = wjxUtil.openapi(map,"1000101"); + map.put("publish", true); + map.put("questions", questionsList.toString()); + String result = wjxUtil.openapi(map, "1000101"); System.out.println(result); - if(!result.equals("")){ + if (!result.equals("")) { JSONObject jsonResult = JSONObject.parseObject(result); - if(jsonResult.getBoolean("result")){ + if (jsonResult.getBoolean("result")) { JSONObject dataJson = jsonResult.getJSONObject("data"); String vid = dataJson.getString("vid"); - baseMapper.updateVid(id,vid); - }else{ + baseMapper.updateVid(id, vid); + } else { return jsonResult.getString("errormsg"); } } @@ -381,10 +375,10 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl WjxWjxx wjxWjxx = baseMapper.selectById(id); String vid = wjxWjxx.getVid(); - Map map = new HashMap<>(); - map.put("vid",Integer.valueOf(vid)); + Map map = new HashMap<>(); + map.put("vid", Integer.valueOf(vid)); //调用接口,提交 - String result = wjxUtil.openapi(map,"1001101"); + String result = wjxUtil.openapi(map, "1001101"); JSONObject jsonResult = JSONObject.parseObject(result); return jsonResult; } @@ -393,13 +387,13 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl public JSONObject wjxxDownLoad(String id) { WjxWjxx wjxWjxx = baseMapper.selectById(id); String vid = wjxWjxx.getVid(); - Map map = new HashMap<>(); - map.put("vid",Integer.valueOf(vid)); - map.put("suffix",0); + Map map = new HashMap<>(); + map.put("vid", Integer.valueOf(vid)); + map.put("suffix", 0); //调用接口,提交 - String result = wjxUtil.openapi(map,"1001004"); + String result = wjxUtil.openapi(map, "1001004"); JSONObject jsonResult = JSONObject.parseObject(result); - System.out.println("1----------->"+jsonResult.toString()); + System.out.println("1----------->" + jsonResult.toString()); // if(StringUtils.equals("true",jsonResult.getString("result"))){ // JSONObject data = jsonResult.getJSONObject("data"); // String taskid = data.getString("taskid"); @@ -432,13 +426,13 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl } @Override - public IPage sysList(Page page, QueryWrapper queryWrapper,KccyglSys kccyglSys) { - return baseMapper.sysList(page,queryWrapper,kccyglSys); + public IPage sysList(Page page, QueryWrapper queryWrapper, KccyglSys kccyglSys) { + return baseMapper.sysList(page, queryWrapper, kccyglSys); } @Override - public List exportSysXls(QueryWrapper queryWrapper,KccyglSys kccyglSys) { - return baseMapper.exportSysXls(queryWrapper,kccyglSys); + public List exportSysXls(QueryWrapper queryWrapper, KccyglSys kccyglSys) { + return baseMapper.exportSysXls(queryWrapper, kccyglSys); } @Override @@ -448,7 +442,7 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl @Override public String querySfdtById(String id, String username) { - return baseMapper.querySfdtById(id,username); + return baseMapper.querySfdtById(id, username); } @Override @@ -457,37 +451,36 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl WjxWjxx wjxWjxx = baseMapper.queryCyjgById(id); QueryWrapper wjxWjxxTmlbQueryWrapper = new QueryWrapper(); - wjxWjxxTmlbQueryWrapper.eq("main_id",id); + wjxWjxxTmlbQueryWrapper.eq("main_id", id); wjxWjxxTmlbQueryWrapper.orderByAsc("wj_index"); List list = wjxWjxxTmlbMapper.selectList(wjxWjxxTmlbQueryWrapper); - - for(WjxWjxxTmlb WjxWjxxTmlb:list){ + for (WjxWjxxTmlb WjxWjxxTmlb : list) { String num = "0"; String num2 = "0"; // if(org.apache.commons.lang3.StringUtils.equals("5",WjxWjxxTmlb.getWjType()+"")){ - num= wjxDjxxMapper.getDjnumType(wjxWjxx.getVid(),WjxWjxxTmlb.getWjIndex(),null,"1"); - num2= wjxDjxxMapper.getDjnumType(wjxWjxx.getVid(),WjxWjxxTmlb.getWjIndex(),null,"2"); - WjxWjxxTmlb.setNum(num); - WjxWjxxTmlb.setNum2(num2); + num = wjxDjxxMapper.getDjnumType(wjxWjxx.getVid(), WjxWjxxTmlb.getWjIndex(), null, "1"); + num2 = wjxDjxxMapper.getDjnumType(wjxWjxx.getVid(), WjxWjxxTmlb.getWjIndex(), null, "2"); + WjxWjxxTmlb.setNum(num); + WjxWjxxTmlb.setNum2(num2); // } int yzd = Integer.parseInt(num) + Integer.parseInt(num2); int ddrs = Integer.parseInt(num); int dcrs = Integer.parseInt(num2); - List list2= wjxWjxxTmxxMapper.selectByMainId(WjxWjxxTmlb.getId()); + List list2 = wjxWjxxTmxxMapper.selectByMainId(WjxWjxxTmlb.getId()); String itemSelected = ""; - for(WjxWjxxTmxx WjxWjxxTmxx:list2){ - String num3= wjxDjxxMapper.getDjnum(wjxWjxx.getVid(),WjxWjxxTmxx.getWjIndex(),WjxWjxxTmxx.getItemIndex()); - if(org.apache.commons.lang3.StringUtils.equals(WjxWjxxTmxx.getItemSelected(),"true")){ - itemSelected = itemSelected+WjxWjxxTmxx.getItemIndex()+","; + for (WjxWjxxTmxx WjxWjxxTmxx : list2) { + String num3 = wjxDjxxMapper.getDjnum(wjxWjxx.getVid(), WjxWjxxTmxx.getWjIndex(), WjxWjxxTmxx.getItemIndex()); + if (org.apache.commons.lang3.StringUtils.equals(WjxWjxxTmxx.getItemSelected(), "true")) { + itemSelected = itemSelected + WjxWjxxTmxx.getItemIndex() + ","; } WjxWjxxTmxx.setNum(num3); } - if(org.apache.commons.lang3.StringUtils.isNotBlank(itemSelected)){ - itemSelected = itemSelected.substring(0, itemSelected.length()-1); + if (org.apache.commons.lang3.StringUtils.isNotBlank(itemSelected)) { + itemSelected = itemSelected.substring(0, itemSelected.length() - 1); } WjxWjxxTmlb.setItemSelected(itemSelected); WjxWjxxTmlb.setWjxWjxxTmxxList(list2); @@ -505,29 +498,27 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.le("start_time",new Date()); - queryWrapper.eq("qpublish","0"); + queryWrapper.le("start_time", new Date()); + queryWrapper.eq("qpublish", "0"); List list = baseMapper.selectList(queryWrapper); - for(WjxWjxx wjxWjxx : list){ - fbwj(wjxWjxx.getId(),wjxWjxx.getAtype()); + for (WjxWjxx wjxWjxx : list) { + fbwj(wjxWjxx.getId(), wjxWjxx.getAtype()); QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.apply("a.xh = b.xh"); - queryWrapper2.eq("b.KCAPZBBH",wjxWjxx.getRwbh()); + queryWrapper2.eq("b.KCAPZBBH", wjxWjxx.getRwbh()); List list2 = xxhbbksService.getXsxkbAllList(queryWrapper2); - - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",wjxWjxx.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",wjxWjxx.getCreateBy()); - kcKechengbiaoQueryWrapper.eq("xqxn",wjxWjxx.getXqxn()); + kcKechengbiaoQueryWrapper.eq("rwbh", wjxWjxx.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", wjxWjxx.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", wjxWjxx.getXqxn()); kcKechengbiaoQueryWrapper.last("limit 1"); KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - String content = kcKechengbiao.getSkjs()+"教师发起了["+wjxWjxx.getKcmc()+"]课程“"+wjxWjxx.getTitle()+"”测验,该测验完成时间: "+DateUtils.formatDate(wjxWjxx.getStartTime(),"yyyy-MM-dd")+" ~ "+DateUtils.formatDate(wjxWjxx.getEndTime(),"yyyy-MM-dd")+",请及时完成"; - for(Xxhbbks xxhbbks:list2){ + String content = kcKechengbiao.getSkjs() + "教师发起了[" + wjxWjxx.getKcmc() + "]课程“" + wjxWjxx.getTitle() + "”测验,该测验完成时间: " + DateUtils.formatDate(wjxWjxx.getStartTime(), "yyyy-MM-dd") + " ~ " + DateUtils.formatDate(wjxWjxx.getEndTime(), "yyyy-MM-dd") + ",请及时完成"; + for (Xxhbbks xxhbbks : list2) { try { //作业代办提醒 ZyDbtx zyDbtx = new ZyDbtx(); @@ -540,7 +531,7 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl zyDbtx.setFbr(wjxWjxx.getCreateBy()); zyDbtxService.save(zyDbtx); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -552,7 +543,7 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl @Override public Page listOther(WjxWjxx wjxWjxx, Page objectPage) { - return baseMapper.listOther(wjxWjxx,objectPage); + return baseMapper.listOther(wjxWjxx, objectPage); } @Override @@ -561,72 +552,71 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl String token = getAccessToken();//获取东北师大开放平台token System.out.println("======================================="); - System.out.println("token:"+token); + System.out.println("token:" + token); System.out.println("======================================="); - if(StringUtils.isNotEmpty(token)){//判断如果token不为空则继续操作 + if (StringUtils.isNotEmpty(token)) {//判断如果token不为空则继续操作 KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); String idsList[] = ids.split(","); - if(idsList.length>0){ - String yyyy = DateUtils.formatDate(new Date(),"yyyy"); - String mm = DateUtils.formatDate(new Date(),"MM"); - for(String zyId:idsList){ + if (idsList.length > 0) { + String yyyy = DateUtils.formatDate(new Date(), "yyyy"); + String mm = DateUtils.formatDate(new Date(), "MM"); + for (String zyId : idsList) { WjxWjxx wjxWjxx = baseMapper.selectById(zyId); //判断没有上传考核材料的数据,才进行上传,否则不上传 - if(wjxWjxx!=null && !StringUtils.equals("1",wjxWjxx.getSfsckhcl())){ + if (wjxWjxx != null && !StringUtils.equals("1", wjxWjxx.getSfsckhcl())) { QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",wjxWjxx.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",wjxWjxx.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", wjxWjxx.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", wjxWjxx.getCreateBy()); kcKechengbiaoQueryWrapper.last("limit 1"); KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); //调用师大接口将数据上传 String interfaceUrl = "https://intf.nenu.edu.cn/api/bd-api/post/JW_FXCJXMB"; - List> paramsList =new ArrayList<>(); + List> paramsList = new ArrayList<>(); Map paramMap = new HashMap<>(); - paramMap.put("CJR",wjxWjxx.getCreateBy());//创建人 - paramMap.put("TEABH",wjxWjxx.getCreateBy());//教工号 - paramMap.put("FXCJMC","课程测验"+wjxWjxx.getSort());//分项成绩名称 - paramMap.put("TEADM",wjxWjxx.getCreateBy());//教工代码 - paramMap.put("TEAXM",kcKechengbiao.getSkjs());//教师姓名 - paramMap.put("FXCJBH",wjxWjxx.getId());//分项成绩编号 - paramMap.put("XNXQMC",kcKechengbiao.getXnxq());//学年学期 - paramMap.put("ZYYQ",null);//作业要求 - paramMap.put("CJSJ",DateUtils.formatDate(wjxWjxx.getCreateTime(),"yyyy-MM-dd"));//创建时间 - paramMap.put("FXCJBL",wjxWjxx.getScore());//比例,成绩占比 - paramMap.put("FXCJLXMC","3");//分项成绩类型 - paramMap.put("KCMC",kcKechengbiao.getKcmc());//课程名称 - paramMap.put("KCRWDM",wjxWjxx.getRwbh());//开课任务编号 - paramMap.put("PFBZ",null);//评分标准 - paramMap.put("FXCJDM",wjxWjxx.getId());//主键 + paramMap.put("CJR", wjxWjxx.getCreateBy());//创建人 + paramMap.put("TEABH", wjxWjxx.getCreateBy());//教工号 + paramMap.put("FXCJMC", "课程测验" + wjxWjxx.getSort());//分项成绩名称 + paramMap.put("TEADM", wjxWjxx.getCreateBy());//教工代码 + paramMap.put("TEAXM", kcKechengbiao.getSkjs());//教师姓名 + paramMap.put("FXCJBH", wjxWjxx.getId());//分项成绩编号 + paramMap.put("XNXQMC", kcKechengbiao.getXnxq());//学年学期 + paramMap.put("ZYYQ", null);//作业要求 + paramMap.put("CJSJ", DateUtils.formatDate(wjxWjxx.getCreateTime(), "yyyy-MM-dd"));//创建时间 + paramMap.put("FXCJBL", wjxWjxx.getScore());//比例,成绩占比 + paramMap.put("FXCJLXMC", "3");//分项成绩类型 + paramMap.put("KCMC", kcKechengbiao.getKcmc());//课程名称 + paramMap.put("KCRWDM", wjxWjxx.getRwbh());//开课任务编号 + paramMap.put("PFBZ", null);//评分标准 + paramMap.put("FXCJDM", wjxWjxx.getId());//主键 // paramMap.put("OPERATE_STATUS","i");//操作状态 paramsList.add(paramMap); - String data = RestTemplateUtils.post(interfaceUrl,token, paramsList, MediaType.APPLICATION_JSON_UTF8, String.class); + String data = RestTemplateUtils.post(interfaceUrl, token, paramsList, MediaType.APPLICATION_JSON_UTF8, String.class); System.out.println("======================================="); - System.out.println("data:"+data); + System.out.println("data:" + data); System.out.println("======================================="); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("vid",wjxWjxx.getVid()); - queryWrapper.eq("sfsckhcl","0"); + queryWrapper.eq("vid", wjxWjxx.getVid()); + queryWrapper.eq("sfsckhcl", "0"); List list = wjxDjxxMapper.selectList(queryWrapper); - List> paramsList2 =new ArrayList<>(); - for(WjxDjxx wjxDjxx:list){ + List> paramsList2 = new ArrayList<>(); + for (WjxDjxx wjxDjxx : list) { List djxxTmxxList = wjxDjxxMapper.getDjxxTmxxWjt(wjxDjxx.getJid()); - if(djxxTmxxList!=null){ - for(WjxDjxxTmxx djxxTmxx:djxxTmxxList){ + if (djxxTmxxList != null) { + for (WjxDjxxTmxx djxxTmxx : djxxTmxxList) { //上传作业文件 - Map uploadMap = SFTPUtil.upload(sftpConfig,upLoadPath+"/"+djxxTmxx.getAnswerText(),yyyy+"/"+mm+"/"+wjxWjxx.getVid()+"/"+djxxTmxx.getAnswerText().replace("temp/","/")); - if(org.apache.commons.lang3.StringUtils.equals(uploadMap.get("code"),"0")){ + Map uploadMap = SFTPUtil.upload(sftpConfig, upLoadPath + "/" + djxxTmxx.getAnswerText(), yyyy + "/" + mm + "/" + wjxWjxx.getVid() + "/" + djxxTmxx.getAnswerText().replace("temp/", "/")); + if (org.apache.commons.lang3.StringUtils.equals(uploadMap.get("code"), "0")) { djxxTmxx.setFwqPath(uploadMap.get("data")); wjxDjxxMapper.updateDjxxTmxxFwqpath(djxxTmxx); } @@ -652,32 +642,32 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl zyInfoScjlService.save(zyInfoScjl); Map paramMap2 = new HashMap<>(); - paramMap2.put("CJ",wjxDjxx.getScore()+"");//成绩 - paramMap2.put("CJR",wjxDjxx.getCreateBy());//创建人 - paramMap2.put("CJSJ",DateUtils.formatDate(wjxDjxx.getCreateTime(),"yyyy-MM-dd"));//创建时间 - paramMap2.put("KCRWDM",wjxWjxx.getRwbh());//开课任务编号 - paramMap2.put("KCMC",kcKechengbiao.getKcmc());//课程名称 - paramMap2.put("FXCJMC","课程测验"+wjxWjxx.getSort());//分项成绩名称 - paramMap2.put("TEAXM",kcKechengbiao.getSkjs());//教师姓名 - paramMap2.put("XSXM",wjxDjxx.getUserName());//学生姓名 - paramMap2.put("KID",wjxDjxx.getId());//主键 - paramMap2.put("XSBH",wjxDjxx.getCreateBy());//学号 - paramMap2.put("FXCJBH",wjxWjxx.getId());//分项成绩编号 - paramMap2.put("PATH","");//附件路径 - paramMap2.put("TEABH",wjxWjxx.getCreateBy());//教工号 + paramMap2.put("CJ", wjxDjxx.getScore() + "");//成绩 + paramMap2.put("CJR", wjxDjxx.getCreateBy());//创建人 + paramMap2.put("CJSJ", DateUtils.formatDate(wjxDjxx.getCreateTime(), "yyyy-MM-dd"));//创建时间 + paramMap2.put("KCRWDM", wjxWjxx.getRwbh());//开课任务编号 + paramMap2.put("KCMC", kcKechengbiao.getKcmc());//课程名称 + paramMap2.put("FXCJMC", "课程测验" + wjxWjxx.getSort());//分项成绩名称 + paramMap2.put("TEAXM", kcKechengbiao.getSkjs());//教师姓名 + paramMap2.put("XSXM", wjxDjxx.getUserName());//学生姓名 + paramMap2.put("KID", wjxDjxx.getId());//主键 + paramMap2.put("XSBH", wjxDjxx.getCreateBy());//学号 + paramMap2.put("FXCJBH", wjxWjxx.getId());//分项成绩编号 + paramMap2.put("PATH", "");//附件路径 + paramMap2.put("TEABH", wjxWjxx.getCreateBy());//教工号 // paramMap2.put("OPERATE_STATUS","i");//操作状态 paramsList2.add(paramMap2); } System.out.println("======================================="); - System.out.println("paramsList2:"+paramsList2); + System.out.println("paramsList2:" + paramsList2); System.out.println("======================================="); //调用师大接口进行上传 String interfaceUrl2 = "https://intf.nenu.edu.cn/api/bd-api/post/JW_FXXSCJMX"; - String data2 = RestTemplateUtils.post(interfaceUrl2,token, paramsList2, MediaType.APPLICATION_JSON_UTF8, String.class); + String data2 = RestTemplateUtils.post(interfaceUrl2, token, paramsList2, MediaType.APPLICATION_JSON_UTF8, String.class); System.out.println("======================================="); - System.out.println("data2:"+data2); + System.out.println("data2:" + data2); System.out.println("======================================="); wjxWjxx.setSfsckhcl("1"); @@ -690,14 +680,14 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl } - }catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); } } - public String getAccessToken(){ - String token=""; + public String getAccessToken() { + String token = ""; try { // 获取令牌URL前缀 String prefixUrl = "https://intf.nenu.edu.cn/api/bd-api"; @@ -719,14 +709,15 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl // userName=DesUtil.encrypt(userName); // password=DesUtil.encrypt(password); - String url= prefixUrl+"/oauth/token?grant_type=password&scope=read&username="+userName+"&password="+password; + String url = prefixUrl + "/oauth/token?grant_type=password&scope=read&username=" + userName + "&password=" + password; - ResponseEntity response = restTemplate.exchange(url, HttpMethod.POST, request, Object.class);; + ResponseEntity response = restTemplate.exchange(url, HttpMethod.POST, request, Object.class); + ; - LinkedHashMap map = (LinkedHashMap)response.getBody(); + LinkedHashMap map = (LinkedHashMap) response.getBody(); //从返回结果中获取 access_token - token = (String)map.get("access_token"); + token = (String) map.get("access_token"); } catch (Exception e) { e.printStackTrace(); @@ -747,16 +738,16 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl public void sendWxmessage(KcWechatSendLog kcWechatSendLog) { String openId = kcWechatSendLog.getOpenid();//曹老师账号 - System.out.println("openId:"+openId+""); - if(org.apache.commons.lang3.StringUtils.isNotEmpty(openId)){ + System.out.println("openId:" + openId + ""); + if (org.apache.commons.lang3.StringUtils.isNotEmpty(openId)) { try { - String urlToken = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+ appId +"&corpsecret=" + appIdSecret; - System.out.println("urlToken: "+ urlToken); + String urlToken = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + appId + "&corpsecret=" + appIdSecret; + System.out.println("urlToken: " + urlToken); String res = HttpUtil.get(urlToken); JSONObject jsonObjectToken = JSONObject.parseObject(res); - System.out.println("jsonObjectToken:{}"+ jsonObjectToken); + System.out.println("jsonObjectToken:{}" + jsonObjectToken); String accessToken = jsonObjectToken.getString("access_token"); - System.out.println("accessToken:{}"+ accessToken); + System.out.println("accessToken:{}" + accessToken); // 微信的基础accessToken String url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + accessToken; @@ -764,7 +755,7 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl // 1、xx老师,你好,您本学期(2023秋)听课要求为:5次,当前实际听课次数:3次,请尽快完成本学期的听课任务。 String html = kcWechatSendLog.getYtkcs(); - html = html + "\n查看"; + html = html + "\n查看"; sendMag.put("content", html);//授课老师推送内容 RestTemplate restTemplate = new RestTemplate(); //拼接base参数 @@ -772,17 +763,17 @@ public class WjxWjxxServiceImpl extends ServiceImpl impl sendBody.put("touser", openId); // openId sendBody.put("msgtype", "text"); // 消息类型,此时固定为:text sendBody.put("agentid", agentid); // 企业id - sendBody.put("text",sendMag); //发送内容 + sendBody.put("text", sendMag); //发送内容 ResponseEntity forEntity = restTemplate.postForEntity(url, sendBody, String.class); JSONObject jsonObject2 = JSONObject.parseObject(forEntity.getBody()); System.out.println("jsonObject2 : " + jsonObject2); String messageCode = jsonObject2.getString("errcode"); String msgId = jsonObject2.getString("msgid"); - System.out.println("messageCode : " + messageCode + ", msgId: " +msgId); - }catch (Exception e) { + System.out.println("messageCode : " + messageCode + ", msgId: " + msgId); + } catch (Exception e) { e.printStackTrace(); } - }else{ + } else { } } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/controller/ZyInfoController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/controller/ZyInfoController.java index 9ef10877..17bbde7b 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/controller/ZyInfoController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/controller/ZyInfoController.java @@ -32,7 +32,9 @@ import org.jeecg.modules.kc.zyDbtx.service.IZyDbtxService; import org.jeecg.modules.kc.zyInfo.entity.CyInfoSys; import org.jeecg.modules.kc.zyInfo.entity.ZyInfo; import org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys; +import org.jeecg.modules.kc.zyInfo.entity.ZyXzInfo; import org.jeecg.modules.kc.zyInfo.pojo.ExportEntity1; +import org.jeecg.modules.kc.zyInfo.pojo.XzReq; import org.jeecg.modules.kc.zyInfo.service.IZyInfoService; import org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudent; import org.jeecg.modules.kc.zyInfoStudent.service.IZyInfoStudentService; @@ -56,392 +58,390 @@ import java.util.stream.Collectors; /** * @Description: 作业发布 * @Author: jeecg-boot - * @Date: 2024-05-06 + * @Date: 2024-05-06 * @Version: V1.0 */ -@Api(tags="作业发布") +@Api(tags = "作业发布") @RestController @RequestMapping("/zyInfo/zyInfo") @Slf4j public class ZyInfoController extends JeecgController { - @Autowired - private IZyInfoService zyInfoService; - @Autowired - private IKcSysConfigService kcSysConfigService; - @Autowired - private IKcKechengbiaoService kcKechengbiaoService; - @Autowired - private IXxhbbksService xxhbbksService; - @Autowired - private IZyInfoStudentService zyInfoStudentService; + @Autowired + private IZyInfoService zyInfoService; + @Autowired + private IKcSysConfigService kcSysConfigService; + @Autowired + private IKcKechengbiaoService kcKechengbiaoService; + @Autowired + private IXxhbbksService xxhbbksService; + @Autowired + private IZyInfoStudentService zyInfoStudentService; - @Autowired - private IZyDbtxService zyDbtxService; + @Autowired + private IZyDbtxService zyDbtxService; - @Autowired - private SysBaseApiImpl sysBaseApi; - @Autowired - private IKcExportConfigTpkwcqkjzglxService kcExportConfigTpkwcqkjzglxService; + @Autowired + private SysBaseApiImpl sysBaseApi; + @Autowired + private IKcExportConfigTpkwcqkjzglxService kcExportConfigTpkwcqkjzglxService; - @Value("${jeecg.path.upload}") - private String upLoadPath; + @Value("${jeecg.path.upload}") + private String upLoadPath; - /** - * 分页列表查询 - * - * @param zyInfo - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "作业发布-分页列表查询") - @ApiOperation(value="作业发布-分页列表查询", notes="作业发布-分页列表查询") - @GetMapping(value = "/list") - public Result> queryPageList(ZyInfo zyInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { + /** + * 分页列表查询 + * + * @param zyInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "作业发布-分页列表查询") + @ApiOperation(value = "作业发布-分页列表查询", notes = "作业发布-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(ZyInfo zyInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { - QueryWrapper queryWrapper2 = new QueryWrapper<>(); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); // queryWrapper2.eq("create_by",zyInfo.getTeano()); - queryWrapper2.eq("rwbh",zyInfo.getRwbh()); - queryWrapper2.eq("xnxq",zyInfo.getXnxq()); - queryWrapper2.eq("zy_status","0"); - queryWrapper2.le("start_time",new Date()); - List list2 = zyInfoService.list(queryWrapper2); + queryWrapper2.eq("rwbh", zyInfo.getRwbh()); + queryWrapper2.eq("xnxq", zyInfo.getXnxq()); + queryWrapper2.eq("zy_status", "0"); + queryWrapper2.le("start_time", new Date()); + List list2 = zyInfoService.list(queryWrapper2); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",user.getUsername()); - kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq()); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", user.getUsername()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); // kcKechengbiaoQueryWrapper.eq("flag","0"); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - for(ZyInfo par:list2){ - par.setZyStatus("1"); - zyInfoService.updateById(par); + for (ZyInfo par : list2) { + par.setZyStatus("1"); + zyInfoService.updateById(par); - if(par!=null) { - ZyInfo zyInfo2 = zyInfoService.getKechengById(par.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",zyInfo2.getRwbh()); - List list = xxhbbksService.getXsxkbAllList(queryWrapper); - zyInfoStudentService.deleteMainId(zyInfo2.getId()); - for(Xxhbbks xxhbbks:list){ + if (par != null) { + ZyInfo zyInfo2 = zyInfoService.getKechengById(par.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", zyInfo2.getRwbh()); + List list = xxhbbksService.getXsxkbAllList(queryWrapper); + zyInfoStudentService.deleteMainId(zyInfo2.getId()); + for (Xxhbbks xxhbbks : list) { // ZyInfoStudent zyInfoStudent = new ZyInfoStudent(); // zyInfoStudent.setMainId(zyInfo2.getId()); // zyInfoStudent.setCreateBy(xxhbbks.getXh()); // zyInfoStudent.setStudentName(xxhbbks.getXm()); // zyInfoStudentService.save(zyInfoStudent); - //作业代办提醒 - ZyDbtx zyDbtx = new ZyDbtx(); - zyDbtx.setCreateBy(xxhbbks.getXh()); - zyDbtx.setMainId(zyInfo2.getId()); - zyDbtx.setRwbh(zyInfo2.getRwbh()); - String hpts = ""; - if(StringUtils.equals(zyInfo2.getXshpkg(),"1")){ - hpts = "互评时间:"+DateUtils.formatDate(zyInfo2.getXshpkssj(),"yyyy-MM-dd HH:mm")+" ~ "+ DateUtils.formatDate(zyInfo2.getXshpjssj(),"yyyy-MM-dd HH:mm"); - } + //作业代办提醒 + ZyDbtx zyDbtx = new ZyDbtx(); + zyDbtx.setCreateBy(xxhbbks.getXh()); + zyDbtx.setMainId(zyInfo2.getId()); + zyDbtx.setRwbh(zyInfo2.getRwbh()); + String hpts = ""; + if (StringUtils.equals(zyInfo2.getXshpkg(), "1")) { + hpts = "互评时间:" + DateUtils.formatDate(zyInfo2.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo2.getXshpjssj(), "yyyy-MM-dd HH:mm"); + } - if(StringUtils.equals(zyInfo2.getZyLeixing(),"0")) { - zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname()+"老师主讲的["+kcKechengbiao.getKcmc()+"]课程于"+DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss")+"发布了一篇题目为“"+zyInfo2.getTitle()+"”的作业,该作业提交时间为:"+ DateUtils.formatDate(zyInfo2.getStartTime(),"yyyy-MM-dd HH:mm")+" ~ "+ DateUtils.formatDate(zyInfo2.getEndTime(),"yyyy-MM-dd HH:mm")+",请按时完成! "+hpts); - }else if (StringUtils.equals(zyInfo.getZyLeixing(),"1")){ - zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo2.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo2.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo2.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); - } - zyDbtx.setFlag("0"); - zyDbtx.setFbr(user.getUsername()); - zyDbtxService.save(zyDbtx); + if (StringUtils.equals(zyInfo2.getZyLeixing(), "0")) { + zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo2.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo2.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo2.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { + zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo2.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo2.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo2.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } + zyDbtx.setFlag("0"); + zyDbtx.setFbr(user.getUsername()); + zyDbtxService.save(zyDbtx); - try { - KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); - kcWechatSendLog.setOpenid(xxhbbks.getXh()); + try { + KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); + kcWechatSendLog.setOpenid(xxhbbks.getXh()); // kcWechatSendLog.setOpenid("2016900057");//指定曹老师账号 - kcWechatSendLog.setYtkcs(zyDbtx.getContent()); - sendWxmessage(kcWechatSendLog); - }catch (Exception e){ - e.printStackTrace(); - } - } - } - } + kcWechatSendLog.setYtkcs(zyDbtx.getContent()); + sendWxmessage(kcWechatSendLog); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper("a",zyInfo, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - queryWrapper.eq(StringUtils.isNotBlank(zyInfo.getTeano()),"a.create_by",zyInfo.getTeano()); - queryWrapper.orderByAsc("a.sort - 0"); - IPage pageList = zyInfoService.page(page, queryWrapper); - try{ - if(kcKechengbiao!=null&&StringUtils.isNotBlank(kcKechengbiao.getXkrs())){ - pageList.getRecords().forEach(zyInfo1 -> { - String xkrs = kcKechengbiao.getXkrs(); - zyInfo1.setXkxs(xkrs); - int wtj = Integer.parseInt(xkrs)-Integer.parseInt(zyInfo1.getDpynum())-Integer.parseInt(zyInfo1.getYpynum()); - if(wtj<0){ - wtj = 0; - } - zyInfo1.setWtjnum(wtj+""); - }); - } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper("a", zyInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + queryWrapper.eq(StringUtils.isNotBlank(zyInfo.getTeano()), "a.create_by", zyInfo.getTeano()); + queryWrapper.orderByAsc("a.sort - 0"); + IPage pageList = zyInfoService.page(page, queryWrapper); + try { + if (kcKechengbiao != null && StringUtils.isNotBlank(kcKechengbiao.getXkrs())) { + pageList.getRecords().forEach(zyInfo1 -> { + String xkrs = kcKechengbiao.getXkrs(); + zyInfo1.setXkxs(xkrs); + int wtj = Integer.parseInt(xkrs) - Integer.parseInt(zyInfo1.getDpynum()) - Integer.parseInt(zyInfo1.getYpynum()); + if (wtj < 0) { + wtj = 0; + } + zyInfo1.setWtjnum(wtj + ""); + }); + } - }catch (Exception e){ - e.printStackTrace(); - } + } catch (Exception e) { + e.printStackTrace(); + } - return Result.OK(pageList); - } + return Result.OK(pageList); + } + @ApiOperation(value = "引用作业列表", notes = "引用作业列表") + @GetMapping(value = "/listOther") + public Result> listOther(ZyInfo zyInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + zyInfo.setTeacherNo(user.getUsername()); + Page page = new Page(pageNo, pageSize); + IPage pageList = zyInfoService.listOther(page, zyInfo); + + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param zyInfo + * @return + */ + @AutoLog(value = "作业发布-添加") + @ApiOperation(value = "作业发布-添加", notes = "作业发布-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody ZyInfo zyInfo) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + zyInfo.setXnxq(kcSysConfig.getFlag1()); + zyInfo.setZyStatus("0"); + zyInfo.setXkxs(kcKechengbiao.getXkrs()); + zyInfoService.save(zyInfo); + return Result.OK("添加成功!"); + } + + /** + * 添加 + * + * @param zyInfo + * @return + */ + @AutoLog(value = "作业发布-添加") + @ApiOperation(value = "作业发布-添加", notes = "作业发布-添加") + @PostMapping(value = "/addOne") + public Result addOne(@RequestBody ZyInfo zyInfo) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - @ApiOperation(value="引用作业列表", notes="引用作业列表") - @GetMapping(value = "/listOther") - public Result> listOther(ZyInfo zyInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - zyInfo.setTeacherNo(user.getUsername()); - Page page = new Page(pageNo, pageSize); - IPage pageList = zyInfoService.listOther(page, zyInfo); - - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param zyInfo - * @return - */ - @AutoLog(value = "作业发布-添加") - @ApiOperation(value="作业发布-添加", notes="作业发布-添加") - @PostMapping(value = "/add") - public Result add(@RequestBody ZyInfo zyInfo) { - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - zyInfo.setXnxq(kcSysConfig.getFlag1()); - zyInfo.setZyStatus("0"); - zyInfo.setXkxs(kcKechengbiao.getXkrs()); - zyInfoService.save(zyInfo); - return Result.OK("添加成功!"); - } - - /** - * 添加 - * - * @param zyInfo - * @return - */ - @AutoLog(value = "作业发布-添加") - @ApiOperation(value="作业发布-添加", notes="作业发布-添加") - @PostMapping(value = "/addOne") - public Result addOne(@RequestBody ZyInfo zyInfo) { - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - - - QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); - zyInfoQueryWrapper.eq("xnxq",zyInfo.getXnxq()); + QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); + zyInfoQueryWrapper.eq("xnxq", zyInfo.getXnxq()); // zyInfoQueryWrapper.eq("create_by",zyInfo.getTeano()); - zyInfoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - if(StringUtils.isNotBlank(zyInfo.getZyLeixing())){ - zyInfoQueryWrapper.eq("zy_leixing",zyInfo.getZyLeixing()); - } - List list = zyInfoService.list(zyInfoQueryWrapper); + zyInfoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + if (StringUtils.isNotBlank(zyInfo.getZyLeixing())) { + zyInfoQueryWrapper.eq("zy_leixing", zyInfo.getZyLeixing()); + } + List list = zyInfoService.list(zyInfoQueryWrapper); - zyInfo.setSort(list.size()+1); - zyInfo.setXnxq(kcSysConfig.getFlag1()); - zyInfo.setZyStatus("0"); - zyInfo.setXkxs(kcKechengbiao.getXkrs()); - zyInfo.setScore("0"); - zyInfoService.save(zyInfo); - return Result.OK("添加成功!"); - } + zyInfo.setSort(list.size() + 1); + zyInfo.setXnxq(kcSysConfig.getFlag1()); + zyInfo.setZyStatus("0"); + zyInfo.setXkxs(kcKechengbiao.getXkrs()); + zyInfo.setScore("0"); + zyInfoService.save(zyInfo); + return Result.OK("添加成功!"); + } - /** - * 编辑 - * - * @param zyInfo - * @return - */ - @AutoLog(value = "作业发布-编辑") - @ApiOperation(value="作业发布-编辑", notes="作业发布-编辑") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody ZyInfo zyInfo) { - zyInfoService.updateById(zyInfo); + /** + * 编辑 + * + * @param zyInfo + * @return + */ + @AutoLog(value = "作业发布-编辑") + @ApiOperation(value = "作业发布-编辑", notes = "作业发布-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody ZyInfo zyInfo) { + zyInfoService.updateById(zyInfo); - ZyInfo zyInfo2 = zyInfoService.getById(zyInfo.getId()); - if(StringUtils.equals(zyInfo2.getZyStatus(),"1")){ - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",zyInfo.getCreateBy()); - kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + ZyInfo zyInfo2 = zyInfoService.getById(zyInfo.getId()); + if (StringUtils.equals(zyInfo2.getZyStatus(), "1")) { + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - QueryWrapper zyDbtxQueryWrapper = new QueryWrapper<>(); - zyDbtxQueryWrapper.eq("type","2");//发送作业 - zyDbtxQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - List dbtxlist = zyDbtxService.list(zyDbtxQueryWrapper); - String xharrs[] = new String[dbtxlist.size()]; - for(int i=0;i zyDbtxQueryWrapper = new QueryWrapper<>(); + zyDbtxQueryWrapper.eq("type", "2");//发送作业 + zyDbtxQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + List dbtxlist = zyDbtxService.list(zyDbtxQueryWrapper); + String xharrs[] = new String[dbtxlist.size()]; + for (int i = 0; i < dbtxlist.size(); i++) { + xharrs[i] = dbtxlist.get(i).getCreateBy(); + } - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",zyInfo2.getRwbh()); - if(xharrs.length>0){ - queryWrapper.notIn("a.xh",xharrs); - } - List list = xxhbbksService.getXsxkbAllList(queryWrapper); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", zyInfo2.getRwbh()); + if (xharrs.length > 0) { + queryWrapper.notIn("a.xh", xharrs); + } + List list = xxhbbksService.getXsxkbAllList(queryWrapper); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - for(Xxhbbks xxhbbks:list) { + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + for (Xxhbbks xxhbbks : list) { - //作业代办提醒 - ZyDbtx zyDbtx = new ZyDbtx(); - zyDbtx.setCreateBy(xxhbbks.getXh()); - zyDbtx.setMainId(zyInfo.getId()); - zyDbtx.setRwbh(zyInfo.getRwbh()); - String hpts = ""; - if (StringUtils.equals(zyInfo.getXshpkg(), "1")) { - hpts = "互评时间:" + DateUtils.formatDate(zyInfo.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getXshpjssj(), "yyyy-MM-dd HH:mm"); - } + //作业代办提醒 + ZyDbtx zyDbtx = new ZyDbtx(); + zyDbtx.setCreateBy(xxhbbks.getXh()); + zyDbtx.setMainId(zyInfo.getId()); + zyDbtx.setRwbh(zyInfo.getRwbh()); + String hpts = ""; + if (StringUtils.equals(zyInfo.getXshpkg(), "1")) { + hpts = "互评时间:" + DateUtils.formatDate(zyInfo.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getXshpjssj(), "yyyy-MM-dd HH:mm"); + } - if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { - zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); - } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { - zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); - } - zyDbtx.setFlag("0"); - zyDbtx.setFbr(user.getUsername()); - zyDbtxService.save(zyDbtx); + if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { + zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { + zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } + zyDbtx.setFlag("0"); + zyDbtx.setFbr(user.getUsername()); + zyDbtxService.save(zyDbtx); - try { - KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); - kcWechatSendLog.setOpenid(xxhbbks.getXh()); - kcWechatSendLog.setYtkcs(zyDbtx.getContent()); - sendWxmessage(kcWechatSendLog); - } catch (Exception e) { - e.printStackTrace(); - } - } - } + try { + KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); + kcWechatSendLog.setOpenid(xxhbbks.getXh()); + kcWechatSendLog.setYtkcs(zyDbtx.getContent()); + sendWxmessage(kcWechatSendLog); + } catch (Exception e) { + e.printStackTrace(); + } + } + } - return Result.OK("编辑成功!"); - } + return Result.OK("编辑成功!"); + } - @AutoLog(value = "撤回作业") - @ApiOperation(value="撤回作业", notes="撤回作业") - @RequestMapping(value = "/editChehui", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result editChehui(@RequestBody ZyInfo zyInfo) { - UpdateWrapper queryWrapper = new UpdateWrapper<>(); - queryWrapper.set("start_time",null); - queryWrapper.set("zy_status","0"); - queryWrapper.eq("id",zyInfo.getId()); - zyInfoService.update(queryWrapper); + @AutoLog(value = "撤回作业") + @ApiOperation(value = "撤回作业", notes = "撤回作业") + @RequestMapping(value = "/editChehui", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result editChehui(@RequestBody ZyInfo zyInfo) { + UpdateWrapper queryWrapper = new UpdateWrapper<>(); + queryWrapper.set("start_time", null); + queryWrapper.set("zy_status", "0"); + queryWrapper.eq("id", zyInfo.getId()); + zyInfoService.update(queryWrapper); - //删除学生列表 - QueryWrapper zyInfoStudentQueryWrapper = new QueryWrapper<>(); - zyInfoStudentQueryWrapper.eq("main_id",zyInfo.getId()); - zyInfoStudentService.remove(zyInfoStudentQueryWrapper); + //删除学生列表 + QueryWrapper zyInfoStudentQueryWrapper = new QueryWrapper<>(); + zyInfoStudentQueryWrapper.eq("main_id", zyInfo.getId()); + zyInfoStudentService.remove(zyInfoStudentQueryWrapper); - //删除代办信息 - QueryWrapper zyDbtxQueryWrapper = new QueryWrapper<>(); - zyDbtxQueryWrapper.eq("main_id",zyInfo.getId()); - zyDbtxService.remove(zyDbtxQueryWrapper); + //删除代办信息 + QueryWrapper zyDbtxQueryWrapper = new QueryWrapper<>(); + zyDbtxQueryWrapper.eq("main_id", zyInfo.getId()); + zyDbtxService.remove(zyDbtxQueryWrapper); - return Result.OK("编辑成功!"); - } + return Result.OK("编辑成功!"); + } - /** - * 编辑 - * - * @param zyInfo - * @return - */ - @AutoLog(value = "作业发布-发布") - @ApiOperation(value="作业发布-发布", notes="作业发布-发布") - @RequestMapping(value = "/release", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result release(@RequestBody ZyInfo zyInfo) { - zyInfo.setStartTime(new Date()); - zyInfoService.updateById(zyInfo); - return Result.OK("发布成功!"); - } + /** + * 编辑 + * + * @param zyInfo + * @return + */ + @AutoLog(value = "作业发布-发布") + @ApiOperation(value = "作业发布-发布", notes = "作业发布-发布") + @RequestMapping(value = "/release", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result release(@RequestBody ZyInfo zyInfo) { + zyInfo.setStartTime(new Date()); + zyInfoService.updateById(zyInfo); + return Result.OK("发布成功!"); + } - @ApiOperation(value="作业发布-通过id查询", notes="作业发布-通过id查询") - @GetMapping(value = "/editStudent") - public Result editStudent(@RequestParam(name="id",required=true) String id) { - ZyInfo zyInfo = zyInfoService.getById(id); - if(zyInfo!=null) { - zyInfo = zyInfoService.getKechengById(zyInfo.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",zyInfo.getRwbh()); - List list = xxhbbksService.getXsxkbAllList(queryWrapper); - zyInfoStudentService.deleteMainId(zyInfo.getId()); + @ApiOperation(value = "作业发布-通过id查询", notes = "作业发布-通过id查询") + @GetMapping(value = "/editStudent") + public Result editStudent(@RequestParam(name = "id", required = true) String id) { + ZyInfo zyInfo = zyInfoService.getById(id); + if (zyInfo != null) { + zyInfo = zyInfoService.getKechengById(zyInfo.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", zyInfo.getRwbh()); + List list = xxhbbksService.getXsxkbAllList(queryWrapper); + zyInfoStudentService.deleteMainId(zyInfo.getId()); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",zyInfo.getCreateBy()); - kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - for(Xxhbbks xxhbbks:list){ - ZyInfoStudent zyInfoStudent = new ZyInfoStudent(); - zyInfoStudent.setMainId(zyInfo.getId()); - zyInfoStudent.setCreateBy(xxhbbks.getXh()); - zyInfoStudent.setStudentName(xxhbbks.getXm()); - zyInfoStudent.setZyLeixing(zyInfo.getZyLeixing()); - zyInfoStudentService.save(zyInfoStudent); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + for (Xxhbbks xxhbbks : list) { + ZyInfoStudent zyInfoStudent = new ZyInfoStudent(); + zyInfoStudent.setMainId(zyInfo.getId()); + zyInfoStudent.setCreateBy(xxhbbks.getXh()); + zyInfoStudent.setStudentName(xxhbbks.getXm()); + zyInfoStudent.setZyLeixing(zyInfo.getZyLeixing()); + zyInfoStudentService.save(zyInfoStudent); - //作业代办提醒 - ZyDbtx zyDbtx = new ZyDbtx(); - zyDbtx.setCreateBy(xxhbbks.getXh()); - zyDbtx.setMainId(zyInfo.getId()); - zyDbtx.setRwbh(zyInfo.getRwbh()); - String hpts = ""; - if(StringUtils.equals(zyInfo.getXshpkg(),"1")){ - hpts = "互评时间:"+DateUtils.formatDate(zyInfo.getXshpkssj(),"yyyy-MM-dd HH:mm")+" ~ "+ DateUtils.formatDate(zyInfo.getXshpjssj(),"yyyy-MM-dd HH:mm"); - } + //作业代办提醒 + ZyDbtx zyDbtx = new ZyDbtx(); + zyDbtx.setCreateBy(xxhbbks.getXh()); + zyDbtx.setMainId(zyInfo.getId()); + zyDbtx.setRwbh(zyInfo.getRwbh()); + String hpts = ""; + if (StringUtils.equals(zyInfo.getXshpkg(), "1")) { + hpts = "互评时间:" + DateUtils.formatDate(zyInfo.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getXshpjssj(), "yyyy-MM-dd HH:mm"); + } - if(StringUtils.equals(zyInfo.getZyLeixing(),"0")) { - zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); - }else if (StringUtils.equals(zyInfo.getZyLeixing(),"1")){ - zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); - } - zyDbtx.setFlag("0"); - zyDbtx.setFbr(user.getUsername()); - zyDbtxService.save(zyDbtx); + if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { + zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { + zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } + zyDbtx.setFlag("0"); + zyDbtx.setFbr(user.getUsername()); + zyDbtxService.save(zyDbtx); // try { // KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); @@ -453,123 +453,123 @@ public class ZyInfoController extends JeecgController { // e.printStackTrace(); // } - } - } - return Result.OK(zyInfo); - } + } + } + return Result.OK(zyInfo); + } - @ApiOperation(value="推送微信信息", notes="推送微信信息") - @GetMapping(value = "/sendZyWechat") - public Result sendZyWechat(@RequestParam(name="id",required=true) String id) { - ZyInfo zyInfo = zyInfoService.getById(id); - if(zyInfo!=null) { - zyInfo = zyInfoService.getKechengById(zyInfo.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",zyInfo.getRwbh()); - List list = xxhbbksService.getXsxkbAllList(queryWrapper); + @ApiOperation(value = "推送微信信息", notes = "推送微信信息") + @GetMapping(value = "/sendZyWechat") + public Result sendZyWechat(@RequestParam(name = "id", required = true) String id) { + ZyInfo zyInfo = zyInfoService.getById(id); + if (zyInfo != null) { + zyInfo = zyInfoService.getKechengById(zyInfo.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", zyInfo.getRwbh()); + List list = xxhbbksService.getXsxkbAllList(queryWrapper); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",zyInfo.getCreateBy()); - kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - //作业代办提醒 - String hpts = ""; - if(StringUtils.equals(zyInfo.getXshpkg(),"1")){ - hpts = "互评时间:"+DateUtils.formatDate(zyInfo.getXshpkssj(),"yyyy-MM-dd HH:mm")+" ~ "+ DateUtils.formatDate(zyInfo.getXshpjssj(),"yyyy-MM-dd HH:mm"); - } - String content = ""; - if(StringUtils.equals(zyInfo.getZyLeixing(),"0")) { - content = user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts; - }else if (StringUtils.equals(zyInfo.getZyLeixing(),"1")){ - content = user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts; - } + //作业代办提醒 + String hpts = ""; + if (StringUtils.equals(zyInfo.getXshpkg(), "1")) { + hpts = "互评时间:" + DateUtils.formatDate(zyInfo.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getXshpjssj(), "yyyy-MM-dd HH:mm"); + } + String content = ""; + if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { + content = user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts; + } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { + content = user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts; + } - for(Xxhbbks xxhbbks:list){ - try { - KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); - kcWechatSendLog.setOpenid(xxhbbks.getXh()); + for (Xxhbbks xxhbbks : list) { + try { + KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); + kcWechatSendLog.setOpenid(xxhbbks.getXh()); // kcWechatSendLog.setOpenid("2016900057");//指定曹老师账号 - kcWechatSendLog.setYtkcs(content); - sendWxmessage(kcWechatSendLog); - }catch (Exception e){ - e.printStackTrace(); - } + kcWechatSendLog.setYtkcs(content); + sendWxmessage(kcWechatSendLog); + } catch (Exception e) { + e.printStackTrace(); + } - } - } - return Result.OK(zyInfo); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "作业发布-通过id删除") - @ApiOperation(value="作业发布-通过id删除", notes="作业发布-通过id删除") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - ZyInfo zyInfo = zyInfoService.getById(id); - zyInfoService.removeById(id); - QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); - zyInfoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - zyInfoQueryWrapper.eq("xnxq",zyInfo.getXnxq()); - zyInfoQueryWrapper.eq("zy_leixing","0"); - zyInfoQueryWrapper.orderByAsc("sort-0"); - List list = zyInfoService.list(zyInfoQueryWrapper); - for(int i=0;i deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.zyInfoService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - //@AutoLog(value = "作业发布-通过id查询") - @ApiOperation(value="作业发布-通过id查询", notes="作业发布-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - ZyInfo zyInfo = zyInfoService.getById(id); - if(zyInfo==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(zyInfo); - } + } + } + return Result.OK(zyInfo); + } /** - * 导出excel - * - * @param request - * @param zyInfo - */ + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "作业发布-通过id删除") + @ApiOperation(value = "作业发布-通过id删除", notes = "作业发布-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + ZyInfo zyInfo = zyInfoService.getById(id); + zyInfoService.removeById(id); + QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); + zyInfoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + zyInfoQueryWrapper.eq("xnxq", zyInfo.getXnxq()); + zyInfoQueryWrapper.eq("zy_leixing", "0"); + zyInfoQueryWrapper.orderByAsc("sort-0"); + List list = zyInfoService.list(zyInfoQueryWrapper); + for (int i = 0; i < list.size(); i++) { + ZyInfo zyInfoPar = list.get(i); + zyInfoPar.setSort(i + 1); + zyInfoService.updateById(zyInfoPar); + } + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "作业发布-批量删除") + @ApiOperation(value = "作业发布-批量删除", notes = "作业发布-批量删除") + @RequiresPermissions("zyInfo:zy_info:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.zyInfoService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "作业发布-通过id查询") + @ApiOperation(value = "作业发布-通过id查询", notes = "作业发布-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + ZyInfo zyInfo = zyInfoService.getById(id); + if (zyInfo == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(zyInfo); + } + + /** + * 导出excel + * + * @param request + * @param zyInfo + */ @RequiresPermissions("zyInfo:zy_info:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, ZyInfo zyInfo) { @@ -577,12 +577,12 @@ public class ZyInfoController extends JeecgController { } /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ @RequiresPermissions("zyInfo:zy_info:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result importExcel(HttpServletRequest request, HttpServletResponse response) { @@ -590,641 +590,645 @@ public class ZyInfoController extends JeecgController { } - @ApiOperation(value="作业发布-分页列表查询", notes="作业发布-分页列表查询") - @GetMapping(value = "/stuList") - public Result> stuList(ZyInfo zyInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper("a",zyInfo, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - queryWrapper.eq("c.KCAPZBBH",zyInfo.getRwbh()); - queryWrapper.eq("c.xh",sysUser.getUsername()); - queryWrapper.orderByDesc("a.sort - 0"); - IPage pageList = zyInfoService.stuList(page, queryWrapper); - return Result.OK(pageList); - } + @ApiOperation(value = "作业发布-分页列表查询", notes = "作业发布-分页列表查询") + @GetMapping(value = "/stuList") + public Result> stuList(ZyInfo zyInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper("a", zyInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + queryWrapper.eq("c.KCAPZBBH", zyInfo.getRwbh()); + queryWrapper.eq("c.xh", sysUser.getUsername()); + queryWrapper.orderByDesc("a.sort - 0"); + IPage pageList = zyInfoService.stuList(page, queryWrapper); + return Result.OK(pageList); + } + @ApiOperation(value = "教学大纲-分页列表查询", notes = "教学大纲-分页列表查询") + @GetMapping(value = "/sysList") + public Result> sysList(ZyInfoSys zyInfoSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + queryWrapper.eq("kkdw", kcExportConfigTpkwcqkjzglx.getDwmc()); + } - @ApiOperation(value="教学大纲-分页列表查询", notes="教学大纲-分页列表查询") - @GetMapping(value = "/sysList") - public Result> sysList(ZyInfoSys zyInfoSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - queryWrapper.eq("kkdw",kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - queryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - }else{ - queryWrapper.eq("xqxn",zyInfoSys.getXqxn()); - } - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKkdw()),"kkdw",zyInfoSys.getKkdw()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcmc()),"kcmc",zyInfoSys.getKcmc()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcbh()),"kcbh",zyInfoSys.getKcbh()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getSkjs()),"skjs",zyInfoSys.getSkjs()); - queryWrapper.eq("flag",0); - Page page = new Page(pageNo, pageSize); - IPage pageList = zyInfoService.sysList(page, queryWrapper); - return Result.OK(pageList); - } + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + queryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + } else { + queryWrapper.eq("xqxn", zyInfoSys.getXqxn()); + } + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKkdw()), "kkdw", zyInfoSys.getKkdw()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcmc()), "kcmc", zyInfoSys.getKcmc()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcbh()), "kcbh", zyInfoSys.getKcbh()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getSkjs()), "skjs", zyInfoSys.getSkjs()); + queryWrapper.eq("flag", 0); + Page page = new Page(pageNo, pageSize); + IPage pageList = zyInfoService.sysList(page, queryWrapper); + return Result.OK(pageList); + } - @ApiOperation(value="教学大纲-分页列表查询", notes="教学大纲-分页列表查询") - @GetMapping(value = "/sysStaticList") - public Result> sysStaticList(ZyInfoSys zyInfoSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } + @ApiOperation(value = "教学大纲-分页列表查询", notes = "教学大纲-分页列表查询") + @GetMapping(value = "/sysStaticList") + public Result> sysStaticList(ZyInfoSys zyInfoSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - zyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + zyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } - Page page = new Page(pageNo, pageSize); - IPage pageList = zyInfoService.sysStaticList(page, zyInfoSys); - return Result.OK(pageList); - } + Page page = new Page(pageNo, pageSize); + IPage pageList = zyInfoService.sysStaticList(page, zyInfoSys); + return Result.OK(pageList); + } - @RequestMapping(value = "/exportSysXls") - public ModelAndView exportSysXls(HttpServletRequest request, ZyInfoSys zyInfoSys) { - String title = "课程作业"; - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - queryWrapper.eq("kkdw",kcExportConfigTpkwcqkjzglx.getDwmc()); - } + @RequestMapping(value = "/exportSysXls") + public ModelAndView exportSysXls(HttpServletRequest request, ZyInfoSys zyInfoSys) { + String title = "课程作业"; + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + queryWrapper.eq("kkdw", kcExportConfigTpkwcqkjzglx.getDwmc()); + } - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - queryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - }else{ - queryWrapper.eq("xqxn",zyInfoSys.getXqxn()); - } - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKkdw()),"kkdw",zyInfoSys.getKkdw()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcmc()),"kcmc",zyInfoSys.getKcmc()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcbh()),"kcbh",zyInfoSys.getKcbh()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getSkjs()),"skjs",zyInfoSys.getSkjs()); - queryWrapper.eq("flag",0); - // Step.2 获取导出数据 - List exportList = service.exportSysXls(zyInfoSys,queryWrapper); + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + queryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + } else { + queryWrapper.eq("xqxn", zyInfoSys.getXqxn()); + } + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKkdw()), "kkdw", zyInfoSys.getKkdw()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcmc()), "kcmc", zyInfoSys.getKcmc()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcbh()), "kcbh", zyInfoSys.getKcbh()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getSkjs()), "skjs", zyInfoSys.getSkjs()); + queryWrapper.eq("flag", 0); + // Step.2 获取导出数据 + List exportList = service.exportSysXls(zyInfoSys, queryWrapper); - // Step.3 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - //此处设置的filename无效 ,前端会重更新设置一下 - mv.addObject(NormalExcelConstants.FILE_NAME, title); - mv.addObject(NormalExcelConstants.CLASS, ZyInfoSys.class); - //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- - ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); - exportParams.setImageBasePath(upLoadPath); - //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- - mv.addObject(NormalExcelConstants.PARAMS,exportParams); - mv.addObject(NormalExcelConstants.DATA_LIST, exportList); - return mv; - } + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, ZyInfoSys.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams = new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + exportParams.setImageBasePath(upLoadPath); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS, exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } - - @ApiOperation(value="作业发布-通过id查询", notes="作业发布-通过id查询") - @GetMapping(value = "/queryZyinfoByStuId") - public Result queryZyinfoByStuId(@RequestParam(name="id",required=true) String id) { + @ApiOperation(value = "作业发布-通过id查询", notes = "作业发布-通过id查询") + @GetMapping(value = "/queryZyinfoByStuId") + public Result queryZyinfoByStuId(@RequestParam(name = "id", required = true) String id) { // ZyInfoStudent zyInfoStudent = zyInfoStudentService.getById(id); - ZyInfo zyInfo = zyInfoService.getById(id); - return Result.OK(zyInfo); - } + ZyInfo zyInfo = zyInfoService.getById(id); + return Result.OK(zyInfo); + } + @AutoLog(value = "作业发布-添加") + @ApiOperation(value = "作业发布-添加", notes = "作业发布-添加") + @PostMapping(value = "/batchAdd") + public Result batchAdd(@RequestBody List list) { + ZyInfo zyInfo = list.get(0); - @AutoLog(value = "作业发布-添加") - @ApiOperation(value="作业发布-添加", notes="作业发布-添加") - @PostMapping(value = "/batchAdd") - public Result batchAdd(@RequestBody List list) { - ZyInfo zyInfo = list.get(0); + //删除老师留过的作业,重新生成新的 + QueryWrapper query = new QueryWrapper<>(); + query.eq("rwbh", zyInfo.getRwbh()); + query.eq("create_by", zyInfo.getCreateBy()); + query.eq("zy_leixing", "0"); + List oldList = zyInfoService.list(query); + zyInfoService.remove(query); - //删除老师留过的作业,重新生成新的 - QueryWrapper query = new QueryWrapper<>(); - query.eq("rwbh", zyInfo.getRwbh()); - query.eq("create_by",zyInfo.getCreateBy()); - query.eq("zy_leixing","0"); - List oldList = zyInfoService.list(query); - zyInfoService.remove(query); + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + for (int i = 0; i < list.size(); i++) { + ZyInfo par = list.get(i); + List zyInfo1 = oldList.stream().filter(zyInfo2 -> zyInfo2.getId().equals(par.getId())).collect(Collectors.toList()); + if (zyInfo1 != null && zyInfo1.size() > 0) { + ZyInfo zypar = zyInfo1.get(0); + zypar.setSort(par.getSort()); + zypar.setScore(par.getScore()); + zyInfoService.save(zypar); + } else { + par.setXnxq(kcSysConfig.getFlag1()); + par.setZyStatus("0"); + par.setXkxs(kcKechengbiao.getXkrs()); + zyInfoService.save(par); + } + } + return Result.OK("添加成功!"); + } - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - for(int i = 0; i < list.size(); i++) { - ZyInfo par = list.get(i); - List zyInfo1 = oldList.stream().filter(zyInfo2 -> zyInfo2.getId().equals(par.getId())).collect(Collectors.toList()); - if(zyInfo1!=null && zyInfo1.size()>0){ - ZyInfo zypar = zyInfo1.get(0); - zypar.setSort(par.getSort()); - zypar.setScore(par.getScore()); - zyInfoService.save(zypar); - }else{ - par.setXnxq(kcSysConfig.getFlag1()); - par.setZyStatus("0"); - par.setXkxs(kcKechengbiao.getXkrs()); - zyInfoService.save(par); - } - } - return Result.OK("添加成功!"); - } + @AutoLog(value = "期末作业发布-添加") + @ApiOperation(value = "期末作业发布-添加", notes = "期末作业发布-添加") + @PostMapping(value = "/batchQmAdd") + public Result batchQmAdd(@RequestBody List list) { + ZyInfo zyInfo = list.get(0); - @AutoLog(value = "期末作业发布-添加") - @ApiOperation(value="期末作业发布-添加", notes="期末作业发布-添加") - @PostMapping(value = "/batchQmAdd") - public Result batchQmAdd(@RequestBody List list) { - ZyInfo zyInfo = list.get(0); + //删除老师留过的作业,重新生成新的 + QueryWrapper query = new QueryWrapper<>(); + query.eq("rwbh", zyInfo.getRwbh()); + query.eq("create_by", zyInfo.getCreateBy()); + query.eq("zy_leixing", "1"); + List oldList = zyInfoService.list(query); + zyInfoService.remove(query); - //删除老师留过的作业,重新生成新的 - QueryWrapper query = new QueryWrapper<>(); - query.eq("rwbh", zyInfo.getRwbh()); - query.eq("create_by",zyInfo.getCreateBy()); - query.eq("zy_leixing","1"); - List oldList = zyInfoService.list(query); - zyInfoService.remove(query); + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + for (int i = 0; i < list.size(); i++) { + ZyInfo par = list.get(i); + List zyInfo1 = oldList.stream().filter(zyInfo2 -> zyInfo2.getId().equals(par.getId())).collect(Collectors.toList()); + if (zyInfo1 != null && zyInfo1.size() > 0) { + ZyInfo zypar = zyInfo1.get(0); + zypar.setSort(par.getSort()); + zypar.setScore(par.getScore()); + zyInfoService.save(zypar); + } else { + par.setXnxq(kcSysConfig.getFlag1()); + par.setZyStatus("0"); + par.setXkxs(kcKechengbiao.getXkrs()); + zyInfoService.save(par); + } + } + return Result.OK("添加成功!"); + } - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - for(int i = 0; i < list.size(); i++) { - ZyInfo par = list.get(i); - List zyInfo1 = oldList.stream().filter(zyInfo2 -> zyInfo2.getId().equals(par.getId())).collect(Collectors.toList()); - if(zyInfo1!=null && zyInfo1.size()>0){ - ZyInfo zypar = zyInfo1.get(0); - zypar.setSort(par.getSort()); - zypar.setScore(par.getScore()); - zyInfoService.save(zypar); - }else{ - par.setXnxq(kcSysConfig.getFlag1()); - par.setZyStatus("0"); - par.setXkxs(kcKechengbiao.getXkrs()); - zyInfoService.save(par); - } - } - return Result.OK("添加成功!"); - } + // appId + private static final String appId = "wx031697a8ca09a5ce";//东师 - // appId - private static final String appId = "wx031697a8ca09a5ce";//东师 + private static final String agentid = "1000065";// + // appIdSecret + private static final String appIdSecret = "6Qhnge3xfzAQMDX2TcjEyE0vUGP96hP9OTYUsYBze2Y";//东师 - private static final String agentid = "1000065";// - // appIdSecret - private static final String appIdSecret = "6Qhnge3xfzAQMDX2TcjEyE0vUGP96hP9OTYUsYBze2Y";//东师 + //微信通知点击后跳转的页面 + private static final String domainTo = "https://smartedu.nenu.edu.cn"; - //微信通知点击后跳转的页面 - private static final String domainTo = "https://smartedu.nenu.edu.cn"; + public void sendWxmessage(KcWechatSendLog kcWechatSendLog) { + String openId = kcWechatSendLog.getOpenid();//曹老师账号 + System.out.println("openId:" + openId + ""); + if (org.apache.commons.lang3.StringUtils.isNotEmpty(openId)) { + try { + String urlToken = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + appId + "&corpsecret=" + appIdSecret; + System.out.println("urlToken: " + urlToken); + String res = HttpUtil.get(urlToken); + JSONObject jsonObjectToken = JSONObject.parseObject(res); + System.out.println("jsonObjectToken:{}" + jsonObjectToken); + String accessToken = jsonObjectToken.getString("access_token"); + System.out.println("accessToken:{}" + accessToken); - public void sendWxmessage(KcWechatSendLog kcWechatSendLog) { - String openId = kcWechatSendLog.getOpenid();//曹老师账号 - System.out.println("openId:" + openId + ""); - if (org.apache.commons.lang3.StringUtils.isNotEmpty(openId)) { - try { - String urlToken = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + appId + "&corpsecret=" + appIdSecret; - System.out.println("urlToken: " + urlToken); - String res = HttpUtil.get(urlToken); - JSONObject jsonObjectToken = JSONObject.parseObject(res); - System.out.println("jsonObjectToken:{}" + jsonObjectToken); - String accessToken = jsonObjectToken.getString("access_token"); - System.out.println("accessToken:{}" + accessToken); - - // 微信的基础accessToken - String url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + accessToken; - Map sendMag = new HashMap<>(); + // 微信的基础accessToken + String url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + accessToken; + Map sendMag = new HashMap<>(); // 1、xx老师,你好,您本学期(2023秋)听课要求为:5次,当前实际听课次数:3次,请尽快完成本学期的听课任务。 - String html = kcWechatSendLog.getYtkcs(); - html = html + "\n查看"; - sendMag.put("content", html);//授课老师推送内容 - RestTemplate restTemplate = new RestTemplate(); - //拼接base参数 - Map sendBody = new HashMap<>(); - sendBody.put("touser", openId); // openId - sendBody.put("msgtype", "text"); // 消息类型,此时固定为:text - sendBody.put("agentid", agentid); // 企业id - sendBody.put("text", sendMag); //发送内容 - ResponseEntity forEntity = restTemplate.postForEntity(url, sendBody, String.class); - JSONObject jsonObject2 = JSONObject.parseObject(forEntity.getBody()); - System.out.println("jsonObject2 : " + jsonObject2); - String messageCode = jsonObject2.getString("errcode"); - String msgId = jsonObject2.getString("msgid"); - System.out.println("messageCode : " + messageCode + ", msgId: " + msgId); - } catch (Exception e) { - e.printStackTrace(); - } - } else { - } - } + String html = kcWechatSendLog.getYtkcs(); + html = html + "\n查看"; + sendMag.put("content", html);//授课老师推送内容 + RestTemplate restTemplate = new RestTemplate(); + //拼接base参数 + Map sendBody = new HashMap<>(); + sendBody.put("touser", openId); // openId + sendBody.put("msgtype", "text"); // 消息类型,此时固定为:text + sendBody.put("agentid", agentid); // 企业id + sendBody.put("text", sendMag); //发送内容 + ResponseEntity forEntity = restTemplate.postForEntity(url, sendBody, String.class); + JSONObject jsonObject2 = JSONObject.parseObject(forEntity.getBody()); + System.out.println("jsonObject2 : " + jsonObject2); + String messageCode = jsonObject2.getString("errcode"); + String msgId = jsonObject2.getString("msgid"); + System.out.println("messageCode : " + messageCode + ", msgId: " + msgId); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + } + } - @ApiOperation(value="作业发布-通过id查询", notes="作业发布-通过id查询") - @GetMapping(value = "/zyzb") - public Result> zyzb(@RequestParam(name="rwbh") String rwbh,@RequestParam(name="xqxn") String xqxn,@RequestParam(name="zyLeixing") String zyLeixing) { - String teano = null; - List zyInfo = zyInfoService.zyzb(rwbh,xqxn,teano,zyLeixing); - return Result.OK(zyInfo); - } + @ApiOperation(value = "作业发布-通过id查询", notes = "作业发布-通过id查询") + @GetMapping(value = "/zyzb") + public Result> zyzb(@RequestParam(name = "rwbh") String rwbh, @RequestParam(name = "xqxn") String xqxn, @RequestParam(name = "zyLeixing") String zyLeixing) { + String teano = null; + List zyInfo = zyInfoService.zyzb(rwbh, xqxn, teano, zyLeixing); + return Result.OK(zyInfo); + } + /** + * 编辑 + * + * @param zyInfo + * @return + */ + @AutoLog(value = "作业发布-微信提醒") + @ApiOperation(value = "作业发布-微信提醒", notes = "作业发布-微信提醒") + @RequestMapping(value = "/sendWxtx", method = {RequestMethod.PUT, RequestMethod.POST}) + public void sendWxtx(@RequestBody ZyInfo zyInfo) { - /** - * 编辑 - * - * @param zyInfo - * @return - */ - @AutoLog(value = "作业发布-微信提醒") - @ApiOperation(value="作业发布-微信提醒", notes="作业发布-微信提醒") - @RequestMapping(value = "/sendWxtx", method = {RequestMethod.PUT,RequestMethod.POST}) - public void sendWxtx(@RequestBody ZyInfo zyInfo) { + ZyInfo zyInfo2 = zyInfoService.getById(zyInfo.getId()); + if (StringUtils.equals(zyInfo2.getZyStatus(), "1")) { + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - ZyInfo zyInfo2 = zyInfoService.getById(zyInfo.getId()); - if(StringUtils.equals(zyInfo2.getZyStatus(),"1")){ - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",zyInfo.getCreateBy()); - kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + QueryWrapper zyDbtxQueryWrapper = new QueryWrapper<>(); + zyDbtxQueryWrapper.eq("type", "2");//发送作业 + zyDbtxQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + List dbtxlist = zyDbtxService.list(zyDbtxQueryWrapper); + String xharrs[] = new String[dbtxlist.size()]; + for (int i = 0; i < dbtxlist.size(); i++) { + xharrs[i] = dbtxlist.get(i).getCreateBy(); + } - QueryWrapper zyDbtxQueryWrapper = new QueryWrapper<>(); - zyDbtxQueryWrapper.eq("type","2");//发送作业 - zyDbtxQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - List dbtxlist = zyDbtxService.list(zyDbtxQueryWrapper); - String xharrs[] = new String[dbtxlist.size()]; - for(int i=0;i queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", zyInfo2.getRwbh()); + if (xharrs.length > 0) { + queryWrapper.notIn("a.xh", xharrs); + } + List list = xxhbbksService.getXsxkbAllList(queryWrapper); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",zyInfo2.getRwbh()); - if(xharrs.length>0){ - queryWrapper.notIn("a.xh",xharrs); - } - List list = xxhbbksService.getXsxkbAllList(queryWrapper); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + for (Xxhbbks xxhbbks : list) { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - for(Xxhbbks xxhbbks:list) { - - ZyDbtx zyDbtx = new ZyDbtx(); - if(StringUtils.equals(zyInfo.getZyLeixing(),"0")) { - zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " ); - }else if (StringUtils.equals(zyInfo.getZyLeixing(),"1")){ - zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " ); - } - try { - KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); + ZyDbtx zyDbtx = new ZyDbtx(); + if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { + zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! "); + } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { + zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! "); + } + try { + KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); // kcWechatSendLog.setOpenid("2016900057");//指定曹老师账号 - kcWechatSendLog.setOpenid(xxhbbks.getXh()); - kcWechatSendLog.setYtkcs(zyDbtx.getContent()); - sendWxmessage(kcWechatSendLog); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - } + kcWechatSendLog.setOpenid(xxhbbks.getXh()); + kcWechatSendLog.setYtkcs(zyDbtx.getContent()); + sendWxmessage(kcWechatSendLog); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + @ApiOperation(value = "统计作业测试使用情况", notes = "统计作业测试使用情况") + @GetMapping(value = "/sysStaticNo") + public Result> sysStaticNo(ZyInfoSys zyInfoSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + zyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + + Map pageList = zyInfoService.sysStaticNo(zyInfoSys); + return Result.OK(pageList); + } - @ApiOperation(value="统计作业测试使用情况", notes="统计作业测试使用情况") - @GetMapping(value = "/sysStaticNo") - public Result> sysStaticNo(ZyInfoSys zyInfoSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } + @ApiOperation(value = "统计作业测试使用情况", notes = "刷新排行数据") + @GetMapping(value = "/getPHData") + public Result> getPHData(ZyInfoSys zyInfoSys, + @RequestParam(name = "tag", required = false) String tag, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - zyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + zyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + List list = zyInfoService.getPHData(zyInfoSys, tag); + return Result.OK(list); + } - Map pageList = zyInfoService.sysStaticNo(zyInfoSys); - return Result.OK(pageList); - } + @ApiOperation(value = "统计作业测试使用情况", notes = "导出排行数据") + @GetMapping(value = "/exportPHData") + public ModelAndView exportPHData(ZyInfoSys zyInfoSys, @RequestParam(name = "tag", required = false) String tag) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + zyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + List list = zyInfoService.getPHData(zyInfoSys, tag); + + List exportList = list.stream() + .map(zyInfo -> { + ExportEntity1 entity = new ExportEntity1(); + // 使用 Spring 的 BeanUtils 复制属性 + BeanUtils.copyProperties(zyInfo, entity); + String rn = entity.getRownum(); + entity.setRownum(rn.substring(0, rn.indexOf("."))); + return entity; + }) + .collect(Collectors.toList()); + + String title = ""; + if ("xntop10".equals(tag)) { + title = "本学年作业使用排行"; + } + if ("jrtop10".equals(tag)) { + title = "本学年测验使用排行"; + } + if ("kctop10".equals(tag)) { + title = "本学年课程使用排行"; + } + if ("jstop10".equals(tag)) { + title = "本学年教师使用排行"; + } + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, ExportEntity1.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams = new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + exportParams.setImageBasePath(upLoadPath); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS, exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } + + @ApiOperation(value = "统计作业使用情况", notes = "统计作业使用情况") + @GetMapping(value = "/sysStaticZyList") + public Result> sysStaticZyList(ZyInfoSys zyInfoSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + zyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + + Page page = new Page(pageNo, pageSize); + IPage pageList = zyInfoService.sysStaticZyList(page, zyInfoSys); + return Result.OK(pageList); + } + + @ApiOperation(value = "统计测验使用情况", notes = "统计测验使用情况") + @GetMapping(value = "/sysStaticCyList") + public Result> sysStaticCyList(CyInfoSys cyInfoSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + cyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(cyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + cyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + + Page page = new Page(pageNo, pageSize); + IPage pageList = zyInfoService.sysStaticCyList(page, cyInfoSys); + return Result.OK(pageList); + } + + @RequestMapping(value = "/getStaticCyExportUrl") + public ModelAndView getStaticCyExportUrl(HttpServletRequest request, CyInfoSys cyInfoSys) { + String title = "课程作业"; + // Step.1 组装查询条件 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + cyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(cyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + cyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + + // Step.2 获取导出数据 + List exportList = service.getStaticCyExportUrl(cyInfoSys); + + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, CyInfoSys.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams = new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + exportParams.setImageBasePath(upLoadPath); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS, exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } - @ApiOperation(value = "统计作业测试使用情况", notes = "刷新排行数据") - @GetMapping(value = "/getPHData") - public Result> getPHData(ZyInfoSys zyInfoSys, - @RequestParam(name = "tag", required = false) String tag, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for (String role : roleList) { - if (org.apache.commons.lang.StringUtils.equals("admin", role)) { - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh", sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - zyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } - List list = zyInfoService.getPHData(zyInfoSys, tag); - return Result.OK(list); - } - - @ApiOperation(value = "统计作业测试使用情况", notes = "导出排行数据") - @GetMapping(value = "/exportPHData") - public ModelAndView exportPHData(ZyInfoSys zyInfoSys, @RequestParam(name = "tag", required = false) String tag) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for (String role : roleList) { - if (org.apache.commons.lang.StringUtils.equals("admin", role)) { - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh", sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - zyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } - List list = zyInfoService.getPHData(zyInfoSys, tag); - - List exportList = list.stream() - .map(zyInfo -> { - ExportEntity1 entity = new ExportEntity1(); - // 使用 Spring 的 BeanUtils 复制属性 - BeanUtils.copyProperties(zyInfo, entity); - String rn = entity.getRownum(); - entity.setRownum(rn.substring(0,rn.indexOf("."))); - return entity; - }) - .collect(Collectors.toList()); - - String title = ""; - if ("xntop10".equals(tag)) { - title = "本学年作业使用排行"; - } - if ("jrtop10".equals(tag)) { - title = "本学年测验使用排行"; - } - if ("kctop10".equals(tag)) { - title = "本学年课程使用排行"; - } - if ("jstop10".equals(tag)) { - title = "本学年教师使用排行"; - } - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - //此处设置的filename无效 ,前端会重更新设置一下 - mv.addObject(NormalExcelConstants.FILE_NAME, title); - mv.addObject(NormalExcelConstants.CLASS, ExportEntity1.class); - //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- - ExportParams exportParams = new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); - exportParams.setImageBasePath(upLoadPath); - //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- - mv.addObject(NormalExcelConstants.PARAMS, exportParams); - mv.addObject(NormalExcelConstants.DATA_LIST, exportList); - return mv; - } - - @ApiOperation(value="统计作业使用情况", notes="统计作业使用情况") - @GetMapping(value = "/sysStaticZyList") - public Result> sysStaticZyList(ZyInfoSys zyInfoSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - zyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } - - Page page = new Page(pageNo, pageSize); - IPage pageList = zyInfoService.sysStaticZyList(page, zyInfoSys); - return Result.OK(pageList); - } - - @ApiOperation(value="统计测验使用情况", notes="统计测验使用情况") - @GetMapping(value = "/sysStaticCyList") - public Result> sysStaticCyList(CyInfoSys cyInfoSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - cyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(cyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - cyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } - - Page page = new Page(pageNo, pageSize); - IPage pageList = zyInfoService.sysStaticCyList(page, cyInfoSys); - return Result.OK(pageList); - } - - @RequestMapping(value = "/getStaticCyExportUrl") - public ModelAndView getStaticCyExportUrl(HttpServletRequest request, CyInfoSys cyInfoSys) { - String title = "课程作业"; - // Step.1 组装查询条件 - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - cyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(cyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - cyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } - - // Step.2 获取导出数据 - List exportList = service.getStaticCyExportUrl(cyInfoSys); - - // Step.3 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - //此处设置的filename无效 ,前端会重更新设置一下 - mv.addObject(NormalExcelConstants.FILE_NAME, title); - mv.addObject(NormalExcelConstants.CLASS, CyInfoSys.class); - //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- - ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); - exportParams.setImageBasePath(upLoadPath); - //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- - mv.addObject(NormalExcelConstants.PARAMS,exportParams); - mv.addObject(NormalExcelConstants.DATA_LIST, exportList); - return mv; - } + @ApiOperation(value = "作业发布-分页列表查询", notes = "作业发布-分页列表查询") + @GetMapping(value = "/listKhcl") + public Result> listKhcl(ZyInfo zyInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(zyInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + queryWrapper.eq("create_by", sysUser.getUsername()); + queryWrapper.orderByDesc("xnxq"); + queryWrapper.orderByAsc("sort - 0"); + IPage pageList = zyInfoService.listKhcl(page, queryWrapper); - @ApiOperation(value="作业发布-分页列表查询", notes="作业发布-分页列表查询") - @GetMapping(value = "/listKhcl") - public Result> listKhcl(ZyInfo zyInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { + return Result.OK(pageList); + } + @PostMapping(value = "/getxzxx") + public Result> getxzxx(@RequestBody ZyInfo zyInfo) { + return Result.OK(zyInfoService.getxzxx(zyInfo)); + } - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(zyInfo, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - queryWrapper.eq("create_by",sysUser.getUsername()); - queryWrapper.orderByDesc("xnxq"); - queryWrapper.orderByAsc("sort - 0"); - IPage pageList = zyInfoService.listKhcl(page, queryWrapper); - - return Result.OK(pageList); - } + @PostMapping(value = "/saveData") + public Result saveData(@RequestBody XzReq req) { + zyInfoService.saveData(req.getZyinfoId(), req.getRs(), req.getList()); + return Result.OK("保存成功!"); + } } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyInfo.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyInfo.java index 05ebcd70..10cde73d 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyInfo.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyInfo.java @@ -120,6 +120,16 @@ public class ZyInfo implements Serializable { @Excel(name = "校内通过率", width = 15) @ApiModelProperty(value = "校内通过率") private java.lang.Double xntgl; + + @ApiModelProperty(value = "是否以小组形式提交作业 Y N") + private String xzxstjzy; + + @ApiModelProperty(value = "小组人数") + private Integer xzrs; + + @ApiModelProperty(value = "是否配置过小组信息 Y N") + private String sfpzgxzxx; + //作业分值 private String score; diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyXzInfo.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyXzInfo.java new file mode 100644 index 00000000..995bae74 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyXzInfo.java @@ -0,0 +1,58 @@ +package org.jeecg.modules.kc.zyInfo.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * @Description: zy_xz_info + * @Author: jeecg-boot + * @Date: 2025-01-13 + * @Version: V1.0 + */ +@ApiModel(value="zy_xz_info对象", description="zy_xz_info") +@Data +@TableName("zy_xz_info") +public class ZyXzInfo implements Serializable { + private static final long serialVersionUID = 1L; + + List students; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**zy_info表id*/ + @Excel(name = "zy_info表id", width = 15) + @ApiModelProperty(value = "zy_info表id") + private String zyinfoId; + /**createBy*/ + @ApiModelProperty(value = "createBy") + private String createBy; + /**createTime*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "createTime") + private Date createTime; + /**小组名称*/ + @Excel(name = "小组名称", width = 15) + @ApiModelProperty(value = "小组名称") + private String xzmc; + /**小组排序*/ + @Excel(name = "小组排序", width = 15) + @ApiModelProperty(value = "小组排序") + private Integer sort; +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyXzryInfo.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyXzryInfo.java new file mode 100644 index 00000000..ee8a0820 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyXzryInfo.java @@ -0,0 +1,59 @@ +package org.jeecg.modules.kc.zyInfo.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: zy_xzry_info + * @Author: jeecg-boot + * @Date: 2025-01-13 + * @Version: V1.0 + */ +@Data +@TableName("zy_xzry_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="zy_xzry_info对象", description="zy_xzry_info") +public class ZyXzryInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**zy_info表id*/ + @Excel(name = "zy_info表id", width = 15) + @ApiModelProperty(value = "zy_info表id") + private String zyinfoId; + /**zy_xz_info表id*/ + @Excel(name = "zy_xz_info表id", width = 15) + @ApiModelProperty(value = "zy_xz_info表id") + private String zyxzinfoId; + /**姓名*/ + @Excel(name = "姓名", width = 15) + @ApiModelProperty(value = "姓名") + private String xm; + /**学号*/ + @Excel(name = "学号", width = 15) + @ApiModelProperty(value = "学号") + private String xh; + /**是否是组长 Y N*/ + @Excel(name = "是否是组长 Y N", width = 15) + @ApiModelProperty(value = "是否是组长 Y N") + private String sfzz; +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/ZyInfoMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/ZyInfoMapper.java index 1563a375..d22f3b0d 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/ZyInfoMapper.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/ZyInfoMapper.java @@ -7,20 +7,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; -import org.jeecg.modules.kc.zyInfo.entity.CyInfoSys; -import org.jeecg.modules.kc.zyInfo.entity.ZyInfo; +import org.jeecg.modules.kc.zyInfo.entity.*; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys; /** * @Description: 作业发布 * @Author: jeecg-boot - * @Date: 2024-05-06 + * @Date: 2024-05-06 * @Version: V1.0 */ public interface ZyInfoMapper extends BaseMapper { - IPage stuList(Page page,@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + IPage stuList(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); IPage sysList(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); @@ -28,11 +26,11 @@ public interface ZyInfoMapper extends BaseMapper { ZyInfo getKechengById(@Param("id") String id); - List zyzb(@Param("rwbh")String rwbh, @Param("xqxn")String xqxn, @Param("teano")String teano, @Param("zyLeixing")String zyLeixing); + List zyzb(@Param("rwbh") String rwbh, @Param("xqxn") String xqxn, @Param("teano") String teano, @Param("zyLeixing") String zyLeixing); - IPage sysStaticList(Page page,@Param("zyInfoSys") ZyInfoSys zyInfoSys); + IPage sysStaticList(Page page, @Param("zyInfoSys") ZyInfoSys zyInfoSys); - IPage listOther(Page page,@Param("zyInfo") ZyInfo zyInfo); + IPage listOther(Page page, @Param("zyInfo") ZyInfo zyInfo); List getZyStaticNo(@Param("zyInfoSys") ZyInfoSys zyInfoSys); @@ -56,11 +54,21 @@ public interface ZyInfoMapper extends BaseMapper { List getXnJsList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); - IPage sysStaticZyList(Page page,@Param("zyInfoSys") ZyInfoSys zyInfoSys); + IPage sysStaticZyList(Page page, @Param("zyInfoSys") ZyInfoSys zyInfoSys); - IPage sysStaticCyList(Page page, @Param("zyInfoSys") CyInfoSys cyInfoSys); + IPage sysStaticCyList(Page page, @Param("zyInfoSys") CyInfoSys cyInfoSys); - List getStaticCyExportUrl( @Param("zyInfoSys") CyInfoSys cyInfoSys); + List getStaticCyExportUrl(@Param("zyInfoSys") CyInfoSys cyInfoSys); IPage listKhcl(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + List getxzxx(@Param("dto") ZyInfo zyInfo); + + int insertBatchzyxz(@Param("list") List list); + + int insertBatchzyxzry(@Param("list") List list); + + int deleteXzxx(@Param("zyinfoId") String zyinfoId); + + int deleteXzryxx(@Param("zyinfoId") String zyinfoId); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/xml/ZyInfoMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/xml/ZyInfoMapper.xml index d6c13d06..7aca7fd7 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/xml/ZyInfoMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/xml/ZyInfoMapper.xml @@ -2,98 +2,190 @@ + + + + + + + + + + + + + + + + + + - - - select count(distinct zi.id) as count,'1' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and zi.xnxq = #{zyInfoSys.xqxn} and kk.flag = 0 + select count(distinct zi.id) as count,'1' as type + from zy_info zi join kc_kechengbiao kk + on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq + where zi.zy_status in ('1', '2') and zi.xnxq = #{zyInfoSys.xqxn} and kk.flag = 0 union all - select count(distinct zi.id) as count,'2' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and zi.xnxq = #{zyInfoSys.xqxn} and kk.flag = 0 and zi.xshpkg = '1' + select count(distinct zi.id) as count,'2' as type + from zy_info zi join kc_kechengbiao kk + on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq + where zi.zy_status in ('1', '2') and zi.xnxq = #{zyInfoSys.xqxn} and kk.flag = 0 and zi.xshpkg = '1' union all - select count(distinct zi.id) as count,'3' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('2') and zi.xnxq = #{zyInfoSys.xqxn} and kk.flag = 0 + select count(distinct zi.id) as count,'3' as type + from zy_info zi join kc_kechengbiao kk + on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq + where zi.zy_status in ('2') and zi.xnxq = #{zyInfoSys.xqxn} and kk.flag = 0 union all - select count(distinct zi.id) as count,'4' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and (zi.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or zi.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and kk.flag = 0 + select count(distinct zi.id) as count,'4' as type + from zy_info zi join kc_kechengbiao kk + on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq + where zi.zy_status in ('1' + , '2') + and (zi.update_time = DATE_FORMAT(NOW() + , '%Y-%m-%d') + or zi.create_time = DATE_FORMAT(NOW() + , '%Y-%m-%d') ) + and kk.flag = 0 union all - select count(distinct zi.id) as count,'5' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and (zi.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or zi.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and zi.xshpkg = '1' and kk.flag = 0 + select count(distinct zi.id) as count,'5' as type + from zy_info zi join kc_kechengbiao kk + on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq + where zi.zy_status in ('1' + , '2') + and (zi.update_time = DATE_FORMAT(NOW() + , '%Y-%m-%d') + or zi.create_time = DATE_FORMAT(NOW() + , '%Y-%m-%d') ) + and zi.xshpkg = '1' + and kk.flag = 0 union all - select count(distinct zi.id) as count,'6' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('2') and (zi.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or zi.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and kk.flag = 0 + select count(distinct zi.id) as count,'6' as type + from zy_info zi join kc_kechengbiao kk + on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq + where zi.zy_status in ('2') + and (zi.update_time = DATE_FORMAT(NOW() + , '%Y-%m-%d') + or zi.create_time = DATE_FORMAT(NOW() + , '%Y-%m-%d') ) + and kk.flag = 0 union all - select count(distinct ww.id) as count,'7' as type from wjx_wjxx ww join kc_kechengbiao kk on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn where ww.xqxn = #{zyInfoSys.xqxn} and ww.qpublish in (1,2) + select count(distinct ww.id) as count,'7' as type + from wjx_wjxx ww join kc_kechengbiao kk + on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn + where ww.xqxn = #{zyInfoSys.xqxn} and ww.qpublish in (1, 2) union all - select count(distinct ww.id) as count,'8' as type from wjx_wjxx ww join kc_kechengbiao kk on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn where ww.xqxn = #{zyInfoSys.xqxn} and ww.qpublish in (2) + select count(distinct ww.id) as count,'8' as type + from wjx_wjxx ww join kc_kechengbiao kk + on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn + where ww.xqxn = #{zyInfoSys.xqxn} and ww.qpublish in (2) union all - select count(distinct ww.id) as count,'9' as type from wjx_wjxx ww join kc_kechengbiao kk on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn where (ww.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or ww.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and ww.qpublish in (1,2) + select count(distinct ww.id) as count,'9' as type + from wjx_wjxx ww join kc_kechengbiao kk + on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn + where (ww.update_time = DATE_FORMAT(NOW() + , '%Y-%m-%d') + or ww.create_time = DATE_FORMAT(NOW() + , '%Y-%m-%d') ) + and ww.qpublish in (1 + , 2) union all - select count(distinct ww.id) as count,'10' as type from wjx_wjxx ww join kc_kechengbiao kk on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn where (ww.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or ww.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and ww.qpublish in (2) + select count(distinct ww.id) as count,'10' as type + from wjx_wjxx ww join kc_kechengbiao kk + on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn + where (ww.update_time = DATE_FORMAT(NOW() + , '%Y-%m-%d') + or ww.create_time = DATE_FORMAT(NOW() + , '%Y-%m-%d') ) + and ww.qpublish in (2) union all - select count(distinct zi.id) as count,'11' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and zi.xnxq = #{zyInfoSys.xqxn} and zi.sfcc in ('1','2') and kk.flag = 0 + select count(distinct zi.id) as count,'11' as type + from zy_info zi join kc_kechengbiao kk + on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq + where zi.zy_status in ('1', '2') and zi.xnxq = #{zyInfoSys.xqxn} and zi.sfcc in ('1', '2') and kk.flag = 0 union all - select count(*) as count,'12' as type from zy_info where file_path is not null and xnxq = #{zyInfoSys.xqxn} + select count(*) as count,'12' as type + from zy_info + where file_path is not null and xnxq = #{zyInfoSys.xqxn} union all - select count(*) as count,'13' as type from zy_info where file_path is not null and xnxq = #{zyInfoSys.xqxn} and xshpkg = '1' + select count(*) as count,'13' as type + from zy_info + where file_path is not null and xnxq = #{zyInfoSys.xqxn} and xshpkg = '1' union all - select count(*) as count,'14' as type from zy_info where file_path is not null and xnxq = #{zyInfoSys.xqxn} and sfcc = '1' + select count(*) as count,'14' as type + from zy_info + where file_path is not null and xnxq = #{zyInfoSys.xqxn} and sfcc = '1' union all - SELECT COUNT(*) as count,'16' as type FROM wjx_djxx WHERE create_time BETWEEN (SELECT bxqkssj FROM kc_sys_config WHERE flag1=#{zyInfoSys.xqxn} LIMIT 1) AND (SELECT bxqjssj FROM kc_sys_config WHERE flag1=#{zyInfoSys.xqxn} LIMIT 1); + SELECT COUNT(*) as count,'16' as type + FROM wjx_djxx + WHERE create_time BETWEEN (SELECT bxqkssj FROM kc_sys_config WHERE flag1=#{zyInfoSys.xqxn} LIMIT 1) + AND (SELECT bxqjssj FROM kc_sys_config WHERE flag1=#{zyInfoSys.xqxn} LIMIT 1); + + + + + INSERT INTO zy_xz_info (id, zyinfo_id, create_by, create_time, xzmc, sort) + VALUES + + (#{item.id}, #{item.zyinfoId}, #{item.createBy}, #{item.createTime}, #{item.xzmc}, #{item.sort}) + + + + + INSERT INTO zy_xzry_info (id,zyinfo_id, zyxzinfo_id, xm, xh, sfzz) + VALUES + + (#{item.id},#{item.zyinfoId}, #{item.zyxzinfoId}, #{item.xm}, #{item.xh}, #{item.sfzz}) + + + + + delete from zy_xz_info where zyinfo_id = #{zyinfoId}; + + + + delete from zy_xzry_info where zyinfo_id = #{zyinfoId}; + diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/pojo/XzReq.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/pojo/XzReq.java new file mode 100644 index 00000000..f247daf2 --- /dev/null +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/pojo/XzReq.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.kc.zyInfo.pojo; + +import lombok.Data; +import org.jeecg.modules.kc.zyInfo.entity.ZyXzInfo; + +import java.util.List; + +@Data +public class XzReq { + + private String zyinfoId; + private Integer rs; + private List list; +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/service/IZyInfoService.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/service/IZyInfoService.java index 32ad87d3..6bd1e19b 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/service/IZyInfoService.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/service/IZyInfoService.java @@ -7,6 +7,7 @@ import org.jeecg.modules.kc.zyInfo.entity.CyInfoSys; import org.jeecg.modules.kc.zyInfo.entity.ZyInfo; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys; +import org.jeecg.modules.kc.zyInfo.entity.ZyXzInfo; import java.util.List; import java.util.Map; @@ -14,7 +15,7 @@ import java.util.Map; /** * @Description: 作业发布 * @Author: jeecg-boot - * @Date: 2024-05-06 + * @Date: 2024-05-06 * @Version: V1.0 */ public interface IZyInfoService extends IService { @@ -35,9 +36,9 @@ public interface IZyInfoService extends IService { IPage listOther(Page page, ZyInfo zyInfo); - Map sysStaticNo(ZyInfoSys zyInfoSys); + Map sysStaticNo(ZyInfoSys zyInfoSys); - List getPHData(ZyInfoSys zyInfoSys,String tag); + List getPHData(ZyInfoSys zyInfoSys, String tag); IPage sysStaticZyList(Page page, ZyInfoSys zyInfoSys); @@ -46,4 +47,8 @@ public interface IZyInfoService extends IService { List getStaticCyExportUrl(CyInfoSys cyInfoSys); IPage listKhcl(Page page, QueryWrapper queryWrapper); + + List getxzxx(ZyInfo zyInfo); + + int saveData(String zyinfoId, Integer rs, List list); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/service/impl/ZyInfoServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/service/impl/ZyInfoServiceImpl.java index 5248f490..e34e0773 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/service/impl/ZyInfoServiceImpl.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/service/impl/ZyInfoServiceImpl.java @@ -1,5 +1,6 @@ package org.jeecg.modules.kc.zyInfo.service.impl; +import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -16,9 +17,7 @@ import org.jeecg.modules.kc.ktgl.entity.KcKechengbiao; import org.jeecg.modules.kc.ktgl.service.IKcKechengbiaoService; import org.jeecg.modules.kc.zyDbtx.entity.ZyDbtx; import org.jeecg.modules.kc.zyDbtx.service.IZyDbtxService; -import org.jeecg.modules.kc.zyInfo.entity.CyInfoSys; -import org.jeecg.modules.kc.zyInfo.entity.ZyInfo; -import org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys; +import org.jeecg.modules.kc.zyInfo.entity.*; import org.jeecg.modules.kc.zyInfo.mapper.ZyInfoMapper; import org.jeecg.modules.kc.zyInfo.service.IZyInfoService; import org.jeecg.modules.tools.DateUtils; @@ -27,9 +26,11 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; import java.util.*; +import java.util.stream.Collectors; /** * @Description: 作业发布 @@ -253,12 +254,12 @@ public class ZyInfoServiceImpl extends ServiceImpl impleme map.put("jr_zy_ywczcs", jr_zy_ywczcs);//今日作业已完成总次数: map.put("jr_cy_syzcs", jr_cy_syzcs);//今日测验使用总次数: map.put("jr_cy_ywczcs", jr_cy_ywczcs);//今日测验已完成总次数: - map.put("xn_kc_zyzxsrc",xn_kc_zyzxsrc );//使用课程作业总学生人次 - map.put("xn_kc_zyhp",xn_kc_zyhp );//使用课程作业互评总学生人次 - map.put("xn_kc_zycc",xn_kc_zycc );//使用课程作业查重总学生人次 - map.put("xn_kc_zywczxsrc",xn_kc_zywczxsrc );//完成课程作业总学生人次 - map.put("xn_kc_ktcy",xn_kc_ktcy );//使用课堂测验总学生人次 - map.put("xn_kc_wccy",xn_kc_wccy );//完成课堂测验总学生人次 + map.put("xn_kc_zyzxsrc", xn_kc_zyzxsrc);//使用课程作业总学生人次 + map.put("xn_kc_zyhp", xn_kc_zyhp);//使用课程作业互评总学生人次 + map.put("xn_kc_zycc", xn_kc_zycc);//使用课程作业查重总学生人次 + map.put("xn_kc_zywczxsrc", xn_kc_zywczxsrc);//完成课程作业总学生人次 + map.put("xn_kc_ktcy", xn_kc_ktcy);//使用课堂测验总学生人次 + map.put("xn_kc_wccy", xn_kc_wccy);//完成课堂测验总学生人次 map.put("xntop10", list1);//本学年作业使用排行TOP10 map.put("jrtop10", list2);//本学年测验使用排行TOP10 map.put("kctop10", list3);//本学年课程使用排行TOP10 @@ -269,18 +270,18 @@ public class ZyInfoServiceImpl extends ServiceImpl impleme } @Override - public List getPHData(ZyInfoSys zyInfoSys,String tag) { + public List getPHData(ZyInfoSys zyInfoSys, String tag) { List list = Lists.newArrayList(); - if("xntop10".equals(tag)){ + if ("xntop10".equals(tag)) { list = baseMapper.getZyList(zyInfoSys); } - if("jrtop10".equals(tag)){ + if ("jrtop10".equals(tag)) { list = baseMapper.getCyList(zyInfoSys); } - if("kctop10".equals(tag)){ + if ("kctop10".equals(tag)) { list = baseMapper.getXnKcList(zyInfoSys); } - if("jstop10".equals(tag)){ + if ("jstop10".equals(tag)) { list = baseMapper.getXnJsList(zyInfoSys); } return list; @@ -306,6 +307,48 @@ public class ZyInfoServiceImpl extends ServiceImpl impleme return baseMapper.listKhcl(page, queryWrapper); } + @Override + public List getxzxx(ZyInfo zyInfo) { + return baseMapper.getxzxx(zyInfo); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int saveData(String zyinfoId, Integer rs, List list) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + //先清除小组信息 然后重新插入 + baseMapper.deleteXzxx(zyinfoId); + baseMapper.deleteXzryxx(zyinfoId); + + if (!list.isEmpty()) { + list.stream().forEach(xz -> { + xz.setId(IdUtil.simpleUUID()); + xz.setCreateBy(sysUser.getUsername()); + xz.setCreateTime(new Date()); + }); + this.baseMapper.insertBatchzyxz(list); + + List childTableList = list.stream() + .flatMap(zyXzInfo -> zyXzInfo.getStudents().stream() + .peek(student -> { + student.setId(IdUtil.simpleUUID()); + student.setZyxzinfoId(zyXzInfo.getId()); + })) + .collect(Collectors.toList()); + + if (!childTableList.isEmpty()) { + baseMapper.insertBatchzyxzry(childTableList); + } + ZyInfo zyInfo = new ZyInfo().setId(zyinfoId).setSfpzgxzxx("Y").setXzrs(rs); + baseMapper.updateById(zyInfo); + } else { + ZyInfo zyInfo = new ZyInfo().setId(zyinfoId).setSfpzgxzxx("N").setXzrs(rs); + baseMapper.updateById(zyInfo); + } + return list.size(); + } + // appId private static final String appId = "wx031697a8ca09a5ce";//东师 diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/controller/ZyInfoStudentController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/controller/ZyInfoStudentController.java index a80ac2d0..4f844264 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/controller/ZyInfoStudentController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/controller/ZyInfoStudentController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.collect.Maps; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -28,6 +29,7 @@ import org.jeecg.modules.kc.zyCcjg.service.IZyCcjgService; import org.jeecg.modules.kc.zyDbtx.entity.ZyDbtx; import org.jeecg.modules.kc.zyDbtx.service.IZyDbtxService; import org.jeecg.modules.kc.zyInfo.entity.ZyInfo; +import org.jeecg.modules.kc.zyInfo.entity.ZyXzryInfo; import org.jeecg.modules.kc.zyInfo.service.IZyInfoService; import org.jeecg.modules.kc.zyInfoScjl.entity.ZyInfoScjl; import org.jeecg.modules.kc.zyInfoScjl.service.IZyInfoScjlService; @@ -57,12 +59,9 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; - /** +/** * @Description: 学生提交作业 * @Author: jeecg-boot * @Date: 2024-05-06 @@ -252,7 +251,7 @@ public class ZyInfoStudentController extends JeecgController editBohui(@RequestBody ZyInfoStudent zyInfoStudent, HttpServletResponse response) { + public Result editBohui(@RequestBody ZyInfoStudent zyInfoStudent, HttpServletResponse response) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.set("file_path",null); updateWrapper.set("pdf_path",null); @@ -886,10 +885,9 @@ public class ZyInfoStudentController extends JeecgController> getZyStuId(@RequestBody ZyXzryInfo zyXzryInfo) { + return Result.OK(zyInfoStudentService.getZyStuId(zyXzryInfo)); + } + + /** + * 获取同小组人员作业标识 + * @return + */ + @PostMapping(value = "/getZyStuIdById") + public Result> getZyStuIdById(@RequestBody ZyXzryInfo zyXzryInfo) { + return Result.OK(zyInfoStudentService.getZyStuIdById(zyXzryInfo)); + } } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/entity/ZyInfoStudent.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/entity/ZyInfoStudent.java index 6295d533..7a4ec85d 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/entity/ZyInfoStudent.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/entity/ZyInfoStudent.java @@ -226,5 +226,7 @@ public class ZyInfoStudent implements Serializable { private String ywid;//业务id @TableField(exist = false) private String stuId;//学生作业临时id + @TableField(exist = false) + private String sfzz;//是否是组长 } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/mapper/ZyInfoStudentMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/mapper/ZyInfoStudentMapper.java index ad451aaf..09d3172d 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/mapper/ZyInfoStudentMapper.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/mapper/ZyInfoStudentMapper.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.kc.zyInfo.entity.ZyInfo; +import org.jeecg.modules.kc.zyInfo.entity.ZyXzryInfo; import org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudent; import org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudentSys; import org.jeecg.modules.kc.zyInfoStudentPcz.entity.ZyInfoStudentPcz; @@ -50,4 +51,8 @@ public interface ZyInfoStudentMapper extends BaseMapper { List cxccByZyId(@Param("zyInfoStudent") ZyInfoStudent zyInfoStudent2); List cxtjByJccsbz(); + + List getZyStuId(@Param("dto") ZyXzryInfo zyXzryInfo); + + List getZyStuIdById(@Param("dto") ZyXzryInfo zyXzryInfo); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/mapper/xml/ZyInfoStudentMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/mapper/xml/ZyInfoStudentMapper.xml index 17d2cc93..4abf1145 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/mapper/xml/ZyInfoStudentMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/mapper/xml/ZyInfoStudentMapper.xml @@ -180,4 +180,54 @@ select a.* from zy_info_student a , (select distinct zy_stu_id from zy_ccjg where message = '大学生版,检测次数不足') b where a.id = b.zy_stu_id and a.file_path is not null - \ No newline at end of file + + + + diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/service/IZyInfoStudentService.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/service/IZyInfoStudentService.java index e635e063..1d8ea5a0 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/service/IZyInfoStudentService.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/service/IZyInfoStudentService.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.jeecg.modules.kc.zyInfo.entity.ZyXzryInfo; import org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudent; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudentSys; @@ -16,7 +17,7 @@ import java.util.Map; /** * @Description: 学生提交作业 * @Author: jeecg-boot - * @Date: 2024-05-06 + * @Date: 2024-05-06 * @Version: V1.0 */ public interface IZyInfoStudentService extends IService { @@ -41,7 +42,7 @@ public interface IZyInfoStudentService extends IService { boolean stuWpKsjc(ZyInfoStudent zyInfoStudent, HttpServletResponse response); - IPage getHpxxList(Page page, QueryWrapper queryWrapper,String zyStuId); + IPage getHpxxList(Page page, QueryWrapper queryWrapper, String zyStuId); void batchKhcl(List list); @@ -64,4 +65,8 @@ public interface IZyInfoStudentService extends IService { List getWpSycccs(); void getWpcccs(); + + List getZyStuId(ZyXzryInfo zyXzryInfo); + + List getZyStuIdById(ZyXzryInfo zyXzryInfo); } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/service/impl/ZyInfoStudentServiceImpl.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/service/impl/ZyInfoStudentServiceImpl.java index 06281ab1..cb6ec9e1 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/service/impl/ZyInfoStudentServiceImpl.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfoStudent/service/impl/ZyInfoStudentServiceImpl.java @@ -22,6 +22,7 @@ import org.jeecg.modules.kc.wjxWjxx.service.IWjxWjxxService; import org.jeecg.modules.kc.zyCcjg.entity.ZyCcjg; import org.jeecg.modules.kc.zyCcjg.mapper.ZyCcjgMapper; import org.jeecg.modules.kc.zyInfo.entity.ZyInfo; +import org.jeecg.modules.kc.zyInfo.entity.ZyXzryInfo; import org.jeecg.modules.kc.zyInfo.service.IZyInfoService; import org.jeecg.modules.kc.zyInfoScjl.entity.ZyInfoScjl; import org.jeecg.modules.kc.zyInfoScjl.service.IZyInfoScjlService; @@ -54,7 +55,7 @@ import java.util.*; /** * @Description: 学生提交作业 * @Author: jeecg-boot - * @Date: 2024-05-06 + * @Date: 2024-05-06 * @Version: V1.0 */ @Slf4j @@ -83,7 +84,7 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl cdxxlist(Page page, QueryWrapper queryWrapper) { - return baseMapper.cdxxlist(page,queryWrapper); + return baseMapper.cdxxlist(page, queryWrapper); } @Override @@ -146,7 +148,7 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl asList) { - for (int i = 0; i < asList.size(); i++){ + for (int i = 0; i < asList.size(); i++) { ZyInfoStudent zyInfoStudent = new ZyInfoStudent(); zyInfoStudent.setId(asList.get(i)); zyInfoStudent.setScoreFabu("1"); @@ -166,23 +168,23 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("a.main_id",zyInfoStudent.getId()); - queryWrapper.eq("a.create_by",sysUser.getUsername()); + queryWrapper.eq("a.main_id", zyInfoStudent.getId()); + queryWrapper.eq("a.create_by", sysUser.getUsername()); List list1 = baseMapper.selectList(queryWrapper); zyInfoStudent = list1.get(0); - }else{ + } else { zyInfoStudent = baseMapper.selectById(zyInfoStudent.getStuId()); } - System.out.println("----------------2---------------------"+zyInfoStudent); + System.out.println("----------------2---------------------" + zyInfoStudent); ZyInfo zyInfo = zyInfoService.getById(zyInfoStudent.getMainId()); - System.out.println("----------------3---------------------"+zyInfo); + System.out.println("----------------3---------------------" + zyInfo); // String rwbh = zyInfo.getRwbh(); @@ -191,7 +193,7 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl getHpxxList(Page page, QueryWrapper queryWrapper,String zyStuId) { - return baseMapper.getHpxxList(page,queryWrapper,zyStuId); + public IPage getHpxxList(Page page, QueryWrapper queryWrapper, String zyStuId) { + return baseMapper.getHpxxList(page, queryWrapper, zyStuId); } @Override public void batchKhcl(List asList) { - for (int i = 0; i < asList.size(); i++){ + for (int i = 0; i < asList.size(); i++) { ZyInfoStudent zyInfoStudent = new ZyInfoStudent(); zyInfoStudent.setId(asList.get(i)); zyInfoStudent.setSfsckhcl("1"); @@ -245,7 +247,7 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl getList2(Page page, QueryWrapper queryWrapper) { - return baseMapper.getList2(page,queryWrapper); + return baseMapper.getList2(page, queryWrapper); } @Override @@ -259,20 +261,19 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("a.main_id",zyInfoStudent.getId()); + queryWrapper.eq("a.main_id", zyInfoStudent.getId()); queryWrapper.isNotNull("a.file_path"); List list = baseMapper.selectList(queryWrapper); - for(ZyInfoStudent par : list){ + for (ZyInfoStudent par : list) { par.setCateid("DBSDQXZYBDK001"); par.setCatename("东北师大全校作业比对库"); - xnccUpdate(par,"1",response);//提交比对 + xnccUpdate(par, "1", response);//提交比对 } } - return new ArrayList<>(); } @@ -291,155 +292,155 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl 0) { - for (String zyId : idsList) { - ZyInfo zyInfo = zyInfoService.getById(zyId); + String idsList[] = ids.split(","); + String yyyy = DateUtils.formatDate(new Date(), "yyyy"); + String mm = DateUtils.formatDate(new Date(), "MM"); + if (idsList.length > 0) { + for (String zyId : idsList) { + ZyInfo zyInfo = zyInfoService.getById(zyId); - //判断没有上传考核材料的数据,才进行上传,否则不上传 - if (zyInfo != null && !org.jeecg.common.util.text.StringUtils.equals("1", zyInfo.getSfsckhcl())) { - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy()); - kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + //判断没有上传考核材料的数据,才进行上传,否则不上传 + if (zyInfo != null && !org.jeecg.common.util.text.StringUtils.equals("1", zyInfo.getSfsckhcl())) { + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - //调用师大接口将数据上传 - String interfaceUrl = "https://intf.nenu.edu.cn/api/bd-api/post/JW_FXCJXMB"; - List> paramsList = new ArrayList<>(); - Map paramMap = new HashMap<>(); - paramMap.put("CJR", zyInfo.getCreateBy());//创建人 - paramMap.put("TEABH", zyInfo.getCreateBy());//教工号 - if(StringUtils.equals(zyInfo.getZyLeixing(),"0")){ - paramMap.put("FXCJMC", "课程作业" + zyInfo.getSort());//分项成绩名称 - paramMap.put("FXCJLXMC", "0");//分项成绩类型 - }else{ - paramMap.put("FXCJMC", "期末考试" + zyInfo.getSort());//分项成绩名称 - paramMap.put("FXCJLXMC", "1");//分项成绩类型 - } - paramMap.put("TEADM", zyInfo.getCreateBy());//教工代码 - paramMap.put("TEAXM", kcKechengbiao.getSkjs());//教师姓名 - paramMap.put("FXCJBH", zyInfo.getId());//分项成绩编号 - paramMap.put("XNXQMC", kcKechengbiao.getXnxq());//学年学期 - paramMap.put("ZYYQ", zyInfo.getContent());//作业要求 - paramMap.put("CJSJ", DateUtils.formatDate(zyInfo.getCreateTime(), "yyyy-MM-dd"));//创建时间 - paramMap.put("FXCJBL", zyInfo.getScore());//比例,成绩占比 - paramMap.put("KCMC", kcKechengbiao.getKcmc());//课程名称 - paramMap.put("KCRWDM", zyInfo.getRwbh());//开课任务编号 - paramMap.put("PFBZ", zyInfo.getPfbz());//评分标准 - paramMap.put("FXCJDM", zyInfo.getId());//主键 + //调用师大接口将数据上传 + String interfaceUrl = "https://intf.nenu.edu.cn/api/bd-api/post/JW_FXCJXMB"; + List> paramsList = new ArrayList<>(); + Map paramMap = new HashMap<>(); + paramMap.put("CJR", zyInfo.getCreateBy());//创建人 + paramMap.put("TEABH", zyInfo.getCreateBy());//教工号 + if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { + paramMap.put("FXCJMC", "课程作业" + zyInfo.getSort());//分项成绩名称 + paramMap.put("FXCJLXMC", "0");//分项成绩类型 + } else { + paramMap.put("FXCJMC", "期末考试" + zyInfo.getSort());//分项成绩名称 + paramMap.put("FXCJLXMC", "1");//分项成绩类型 + } + paramMap.put("TEADM", zyInfo.getCreateBy());//教工代码 + paramMap.put("TEAXM", kcKechengbiao.getSkjs());//教师姓名 + paramMap.put("FXCJBH", zyInfo.getId());//分项成绩编号 + paramMap.put("XNXQMC", kcKechengbiao.getXnxq());//学年学期 + paramMap.put("ZYYQ", zyInfo.getContent());//作业要求 + paramMap.put("CJSJ", DateUtils.formatDate(zyInfo.getCreateTime(), "yyyy-MM-dd"));//创建时间 + paramMap.put("FXCJBL", zyInfo.getScore());//比例,成绩占比 + paramMap.put("KCMC", kcKechengbiao.getKcmc());//课程名称 + paramMap.put("KCRWDM", zyInfo.getRwbh());//开课任务编号 + paramMap.put("PFBZ", zyInfo.getPfbz());//评分标准 + paramMap.put("FXCJDM", zyInfo.getId());//主键 // paramMap.put("OPERATE_STATUS","i");//操作状态 - paramsList.add(paramMap); - String data = RestTemplateUtils.post(interfaceUrl, token, paramsList, MediaType.APPLICATION_JSON_UTF8, String.class); - System.out.println("======================================="); - System.out.println("data:" + data); - System.out.println("======================================="); + paramsList.add(paramMap); + String data = RestTemplateUtils.post(interfaceUrl, token, paramsList, MediaType.APPLICATION_JSON_UTF8, String.class); + System.out.println("======================================="); + System.out.println("data:" + data); + System.out.println("======================================="); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("a.main_id", zyId); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("a.main_id", zyId); // queryWrapper.isNotNull("a.file_path"); - List list = baseMapper.selectList(queryWrapper); + List list = baseMapper.selectList(queryWrapper); - List> paramsList2 =new ArrayList<>(); - for (ZyInfoStudent zyInfoStudentPar2 : list) { - if (StringUtils.isNotEmpty(zyInfoStudentPar2.getFilePath())) { - //上传作业文件 - Map uploadMap = SFTPUtil.upload(sftpConfig, upLoadPath + "/" + zyInfoStudentPar2.getFilePath(), yyyy + "/" + mm + "/" + zyInfo.getRwbh() + "/" + zyInfoStudentPar2.getFilePath().replace("temp/", "/")); - if (StringUtils.equals(uploadMap.get("code"), "0")) { - zyInfoStudentPar2.setFwqPath(uploadMap.get("data")); - } - } + List> paramsList2 = new ArrayList<>(); + for (ZyInfoStudent zyInfoStudentPar2 : list) { + if (StringUtils.isNotEmpty(zyInfoStudentPar2.getFilePath())) { + //上传作业文件 + Map uploadMap = SFTPUtil.upload(sftpConfig, upLoadPath + "/" + zyInfoStudentPar2.getFilePath(), yyyy + "/" + mm + "/" + zyInfo.getRwbh() + "/" + zyInfoStudentPar2.getFilePath().replace("temp/", "/")); + if (StringUtils.equals(uploadMap.get("code"), "0")) { + zyInfoStudentPar2.setFwqPath(uploadMap.get("data")); + } + } - if (StringUtils.isNotEmpty(zyInfoStudentPar2.getPyFilePath())) { - //上传评阅附件 - Map uploadMap2 = SFTPUtil.upload(sftpConfig, upLoadPath + "/" + zyInfoStudentPar2.getPyFilePath(), yyyy + "/" + mm + "/" + zyInfo.getRwbh() + "/" + zyInfoStudentPar2.getPyFilePath().replace("temp/", "/")); - if (StringUtils.equals(uploadMap2.get("code"), "0")) { - zyInfoStudentPar2.setPyFwqFilePath(uploadMap2.get("data")); - } - } + if (StringUtils.isNotEmpty(zyInfoStudentPar2.getPyFilePath())) { + //上传评阅附件 + Map uploadMap2 = SFTPUtil.upload(sftpConfig, upLoadPath + "/" + zyInfoStudentPar2.getPyFilePath(), yyyy + "/" + mm + "/" + zyInfo.getRwbh() + "/" + zyInfoStudentPar2.getPyFilePath().replace("temp/", "/")); + if (StringUtils.equals(uploadMap2.get("code"), "0")) { + zyInfoStudentPar2.setPyFwqFilePath(uploadMap2.get("data")); + } + } - zyInfoStudentPar2.setSfsckhcl("1"); - zyInfoStudentPar2.setKhclTime(new Date()); - baseMapper.updateById(zyInfoStudentPar2); + zyInfoStudentPar2.setSfsckhcl("1"); + zyInfoStudentPar2.setKhclTime(new Date()); + baseMapper.updateById(zyInfoStudentPar2); - ZyInfoScjl zyInfoScjl = new ZyInfoScjl(); - zyInfoScjl.setZyId(zyInfo.getId()); - zyInfoScjl.setZyName(zyInfo.getTitle()); - zyInfoScjl.setZyLeixing(zyInfo.getZyLeixing()); - zyInfoScjl.setZyZb(zyInfo.getScore()); - zyInfoScjl.setJgh(kcKechengbiao.getJgh()); - zyInfoScjl.setSkjs(kcKechengbiao.getSkjs()); - zyInfoScjl.setSkdd(kcKechengbiao.getSkdd()); - zyInfoScjl.setKkdw(kcKechengbiao.getKkdw()); - zyInfoScjl.setKkdwid(kcKechengbiao.getKkdwid()); - zyInfoScjl.setKcxz(kcKechengbiao.getKcxz()); - zyInfoScjl.setXnxq(zyInfo.getXnxq()); - zyInfoScjl.setFilePath(zyInfoStudentPar2.getFwqPath()); - zyInfoScjl.setStudentNo(zyInfoStudentPar2.getCreateBy()); - zyInfoScjl.setStudentName(zyInfoStudentPar2.getStudentName()); - zyInfoScjlService.save(zyInfoScjl); + ZyInfoScjl zyInfoScjl = new ZyInfoScjl(); + zyInfoScjl.setZyId(zyInfo.getId()); + zyInfoScjl.setZyName(zyInfo.getTitle()); + zyInfoScjl.setZyLeixing(zyInfo.getZyLeixing()); + zyInfoScjl.setZyZb(zyInfo.getScore()); + zyInfoScjl.setJgh(kcKechengbiao.getJgh()); + zyInfoScjl.setSkjs(kcKechengbiao.getSkjs()); + zyInfoScjl.setSkdd(kcKechengbiao.getSkdd()); + zyInfoScjl.setKkdw(kcKechengbiao.getKkdw()); + zyInfoScjl.setKkdwid(kcKechengbiao.getKkdwid()); + zyInfoScjl.setKcxz(kcKechengbiao.getKcxz()); + zyInfoScjl.setXnxq(zyInfo.getXnxq()); + zyInfoScjl.setFilePath(zyInfoStudentPar2.getFwqPath()); + zyInfoScjl.setStudentNo(zyInfoStudentPar2.getCreateBy()); + zyInfoScjl.setStudentName(zyInfoStudentPar2.getStudentName()); + zyInfoScjlService.save(zyInfoScjl); - Map paramMap2 = new HashMap<>(); - paramMap2.put("CJ",zyInfoStudentPar2.getZzdf()+"");//成绩 - paramMap2.put("CJR",zyInfoStudentPar2.getCreateBy());//创建人 - paramMap2.put("CJSJ",DateUtils.formatDate(zyInfoStudentPar2.getCreateTime(),"yyyy-MM-dd"));//创建时间 - paramMap2.put("KCRWDM",zyInfo.getRwbh());//开课任务编号 - paramMap2.put("KCMC",kcKechengbiao.getKcmc());//课程名称 - if(StringUtils.equals(zyInfo.getZyLeixing(),"0")){ - paramMap2.put("FXCJMC", "课程作业" + zyInfo.getSort());//分项成绩名称 - }else{ - paramMap2.put("FXCJMC", "期末考试" + zyInfo.getSort());//分项成绩名称 - } - paramMap2.put("TEAXM",kcKechengbiao.getSkjs());//教师姓名 - paramMap2.put("XSXM",zyInfoStudentPar2.getStudentName());//学生姓名 - paramMap2.put("KID",zyInfoStudentPar2.getId());//主键 - paramMap2.put("XSBH",zyInfoStudentPar2.getCreateBy());//学号 - paramMap2.put("FXCJBH",zyInfoStudentPar2.getMainId());//分项成绩编号 - paramMap2.put("PATH",zyInfoStudentPar2.getFwqPath());//附件路径 - paramMap2.put("TEABH",zyInfo.getCreateBy());//教工号 + Map paramMap2 = new HashMap<>(); + paramMap2.put("CJ", zyInfoStudentPar2.getZzdf() + "");//成绩 + paramMap2.put("CJR", zyInfoStudentPar2.getCreateBy());//创建人 + paramMap2.put("CJSJ", DateUtils.formatDate(zyInfoStudentPar2.getCreateTime(), "yyyy-MM-dd"));//创建时间 + paramMap2.put("KCRWDM", zyInfo.getRwbh());//开课任务编号 + paramMap2.put("KCMC", kcKechengbiao.getKcmc());//课程名称 + if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { + paramMap2.put("FXCJMC", "课程作业" + zyInfo.getSort());//分项成绩名称 + } else { + paramMap2.put("FXCJMC", "期末考试" + zyInfo.getSort());//分项成绩名称 + } + paramMap2.put("TEAXM", kcKechengbiao.getSkjs());//教师姓名 + paramMap2.put("XSXM", zyInfoStudentPar2.getStudentName());//学生姓名 + paramMap2.put("KID", zyInfoStudentPar2.getId());//主键 + paramMap2.put("XSBH", zyInfoStudentPar2.getCreateBy());//学号 + paramMap2.put("FXCJBH", zyInfoStudentPar2.getMainId());//分项成绩编号 + paramMap2.put("PATH", zyInfoStudentPar2.getFwqPath());//附件路径 + paramMap2.put("TEABH", zyInfo.getCreateBy());//教工号 // paramMap2.put("OPERATE_STATUS","i");//操作状态 - paramsList2.add(paramMap2); + paramsList2.add(paramMap2); // } // } - } + } - System.out.println("======================================="); - System.out.println("paramsList2:"+paramsList2); - System.out.println("======================================="); - //调用师大接口进行上传 - String interfaceUrl2 = "https://intf.nenu.edu.cn/api/bd-api/post/JW_FXXSCJMX"; - String data2 = RestTemplateUtils.post(interfaceUrl2,token, paramsList2, MediaType.APPLICATION_JSON_UTF8, String.class); - System.out.println("======================================="); - System.out.println("data2:"+data2); - System.out.println("======================================="); + System.out.println("======================================="); + System.out.println("paramsList2:" + paramsList2); + System.out.println("======================================="); + //调用师大接口进行上传 + String interfaceUrl2 = "https://intf.nenu.edu.cn/api/bd-api/post/JW_FXXSCJMX"; + String data2 = RestTemplateUtils.post(interfaceUrl2, token, paramsList2, MediaType.APPLICATION_JSON_UTF8, String.class); + System.out.println("======================================="); + System.out.println("data2:" + data2); + System.out.println("======================================="); - zyInfo.setSfsckhcl("1"); - zyInfo.setSfsckhclTime(new Date()); - zyInfoService.updateById(zyInfo); + zyInfo.setSfsckhcl("1"); + zyInfo.setSfsckhclTime(new Date()); + zyInfoService.updateById(zyInfo); - } + } - } - } - } - }catch (Exception e) { - e.printStackTrace(); - } + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } } @Override @@ -449,13 +450,13 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl list = new ArrayList<>(); String url = "https://vims.fanyu.com/toole/jianceorgan/papercheckcount.aspx"; - JSONObject object= getSycs(url,"1"); - object.put("name","外网检测"); + JSONObject object = getSycs(url, "1"); + object.put("name", "外网检测"); - JSONObject object2= getSycs(url,"3"); - object2.put("name","AIGC检测"); + JSONObject object2 = getSycs(url, "3"); + object2.put("name", "AIGC检测"); list.add(object); list.add(object2); @@ -505,27 +506,37 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl getZyStuId(ZyXzryInfo zyXzryInfo) { + return baseMapper.getZyStuId(zyXzryInfo); + } + + @Override + public List getZyStuIdById(ZyXzryInfo zyXzryInfo) { + return baseMapper.getZyStuIdById(zyXzryInfo); + } + + public JSONObject getSycs(String url, String type) { Map textMap = new HashMap(); //可以设置多个input的name,value String sign = getSign(); @@ -533,40 +544,40 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl"+ret); - JSONObject object= JSONObject.parseObject(ret); + String ret = formUpload(url, textMap, null, contentType); + log.error("1-------->" + ret); + JSONObject object = JSONObject.parseObject(ret); return object; } private void delweipulunwen(ZyInfoStudent zyInfoStudent, HttpServletResponse response) { zyInfoStudent.setQueryType("0");//外网查重数据 String paperids = baseMapper.getWpFile(zyInfoStudent); - if(StringUtils.isNotEmpty(paperids)){ + if (StringUtils.isNotEmpty(paperids)) { String url = "https://vims.fanyu.com/toole/jianceorgan/paperdel.aspx"; - delWpFile(url,paperids, response); + delWpFile(url, paperids, response); } zyInfoStudent.setQueryType("1");//内网查重数据-作业内查重 - Map paperids1 = baseMapper.getXfwWpFile(zyInfoStudent); - if(paperids1 != null){ + Map paperids1 = baseMapper.getXfwWpFile(zyInfoStudent); + if (paperids1 != null) { String dataids = paperids1.get("paperid"); String bdkbs = paperids1.get("bdkbs"); String url = "https://vims.fanyu.com/toole/smallcheck/delData"; - delXfwWpFile(url,bdkbs,dataids, response); + delXfwWpFile(url, bdkbs, dataids, response); } zyInfoStudent.setQueryType("3");//内网查重数据-全校内比对 - Map paperids3 = baseMapper.getXfwWpFile(zyInfoStudent); - if(paperids3 != null){ + Map paperids3 = baseMapper.getXfwWpFile(zyInfoStudent); + if (paperids3 != null) { String dataids = paperids3.get("paperid"); String bdkbs = paperids3.get("bdkbs"); String url = "https://vims.fanyu.com/toole/smallcheck/delData"; - delXfwWpFile(url,bdkbs,dataids, response); + delXfwWpFile(url, bdkbs, dataids, response); } zyInfoStudent.setQueryType("2");//aigc查重数据 String paperids2 = baseMapper.getWpFile(zyInfoStudent); - if(StringUtils.isNotEmpty(paperids2)){ + if (StringUtils.isNotEmpty(paperids2)) { String url = "https://vims.fanyu.com/tool/AIGCCheck/paperDel"; - delWpFile(url,paperids2, response); + delWpFile(url, paperids2, response); } zyCcjgMapper.deleteByZystuid(zyInfoStudent.getId()); } @@ -596,28 +607,28 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl textMap = new HashMap(); //可以设置多个input的name,value String sign = getSign(); textMap.put("userid", weipuId); textMap.put("sign", sign); - String titlePar =fileName.substring(fileName.lastIndexOf("/")+1,fileName.length()); + String titlePar = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length()); String title = titlePar.split("_")[0]; textMap.put("title", title); @@ -628,18 +639,18 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl fileMap = new HashMap(); fileMap.put("file", fileName); String contentType = "";//image/png - String ret = formUpload(url, textMap, fileMap,contentType); - log.info("aigc1-------->"+ret); - log.error("aigcSave:ret-------->"+ret); - JSONObject object= JSONObject.parseObject(ret); - if("true".equals(object.getString("success"))){ + String ret = formUpload(url, textMap, fileMap, contentType); + log.info("aigc1-------->" + ret); + log.error("aigcSave:ret-------->" + ret); + JSONObject object = JSONObject.parseObject(ret); + if ("true".equals(object.getString("success"))) { String listpaper = object.getString("listPaper"); JSONArray jsonArray = (JSONArray) JSONArray.parse(listpaper); - JSONObject object2= jsonArray.getJSONObject(0); + JSONObject object2 = jsonArray.getJSONObject(0); String paperid = object2.getString("paperid"); - log.info("2-------->"+paperid); + log.info("2-------->" + paperid); ZyCcjg zyCcjg = new ZyCcjg(); zyCcjg.setZyStuId(zyInfoStudent.getId()); @@ -650,8 +661,8 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl"+message); - }else{ + log.info("21-------->" + message); + } else { log.info("3-------->"); ZyCcjg zyCcjg = new ZyCcjg(); @@ -677,23 +688,23 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl fileMap = new HashMap(); - String ret = formUpload(url, textMap, fileMap,contentType); - JSONObject object= JSONObject.parseObject(ret); + String ret = formUpload(url, textMap, fileMap, contentType); + JSONObject object = JSONObject.parseObject(ret); String message = object.getString("message"); return message; } //小范围提交(校园内网提交) - private void nwccSave(ZyInfoStudent zyInfoStudent,HttpServletResponse response) { + private void nwccSave(ZyInfoStudent zyInfoStudent, HttpServletResponse response) { String url = "https://vims.fanyu.com/toole/smallcheck/submitData"; //文件路径,文件存在,不存在的话需要先下载下来 // String fileName = downloadpath+"/"+ zyInfoStudent.getFilePath(); // if(CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)) { // fileName = uploadpath+"/"+ zyInfoStudent.getFilePath(); // } - String fileName = uploadpath+"/"+ zyInfoStudent.getFilePath(); + String fileName = uploadpath + "/" + zyInfoStudent.getFilePath(); Map textMap = new HashMap(); - String titlePar =fileName.substring(fileName.lastIndexOf("/")+1,fileName.length()); + String titlePar = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length()); String title = titlePar.split("_")[0]; //可以设置多个input的name,value String sign = getSign(); @@ -709,12 +720,12 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl fileMap = new HashMap(); fileMap.put("file", fileName); String contentType = "";//image/png - String ret = formUpload(url, textMap, fileMap,contentType); - log.error("nwccSave:ret-------->"+ret); - JSONObject object= JSONObject.parseObject(ret); - if("true".equals(object.getString("success"))){ + String ret = formUpload(url, textMap, fileMap, contentType); + log.error("nwccSave:ret-------->" + ret); + JSONObject object = JSONObject.parseObject(ret); + if ("true".equals(object.getString("success"))) { String listpaper = object.getString("datainfo"); - JSONObject object2= JSON.parseObject(listpaper); + JSONObject object2 = JSON.parseObject(listpaper); String dataid = object2.getString("dataid");//资源id 后续提交比对/删除文档会试用 ZyCcjg zyCcjg = new ZyCcjg(); @@ -726,9 +737,9 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl"+message); - }else{ + String message = xfwbdKsjc(zyCcjg, "1"); + log.info("21-------->" + message); + } else { log.info("3-------->"); ZyCcjg zyCcjg = new ZyCcjg(); zyCcjg.setZyStuId(zyInfoStudent.getId()); @@ -740,16 +751,16 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl textMap = new HashMap(); - String titlePar =fileName.substring(fileName.lastIndexOf("/")+1,fileName.length()); + String titlePar = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length()); String title = titlePar.split("_")[0]; //可以设置多个input的name,value String sign = getSign(); @@ -765,19 +776,19 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl fileMap = new HashMap(); fileMap.put("file", fileName); String contentType = "";//image/png - log.info("url--->"+url); - log.info("textMap--->"+textMap); - log.info("fileMap--->"+fileMap); - String ret = formUpload(url, textMap, fileMap,contentType); - log.error("xnccSave:ret-------->"+ret); - JSONObject object= JSONObject.parseObject(ret); - if("true".equals(object.getString("success"))){ + log.info("url--->" + url); + log.info("textMap--->" + textMap); + log.info("fileMap--->" + fileMap); + String ret = formUpload(url, textMap, fileMap, contentType); + log.error("xnccSave:ret-------->" + ret); + JSONObject object = JSONObject.parseObject(ret); + if ("true".equals(object.getString("success"))) { String listpaper = object.getString("datainfo"); - JSONObject object2= JSON.parseObject(listpaper); + JSONObject object2 = JSON.parseObject(listpaper); String dataid = object2.getString("dataid");//资源id 后续提交比对/删除文档会试用 //判断是否开始查重 1的时候进行查重,0不查重 - if(StringUtils.equals("1",type)){ + if (StringUtils.equals("1", type)) { ZyCcjg zyCcjg = new ZyCcjg(); zyCcjg.setZyStuId(zyInfoStudent.getId()); zyCcjg.setPaperid(dataid); @@ -786,11 +797,11 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl"+message); + String message = xfwbdKsjc(zyCcjg, "0"); + log.info("21-------->" + message); } - }else{ + } else { log.info("3-------->"); ZyCcjg zyCcjg = new ZyCcjg(); zyCcjg.setZyStuId(zyInfoStudent.getId()); @@ -804,24 +815,25 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl zyCcjgQueryWrapper = new QueryWrapper<>(); - zyCcjgQueryWrapper.eq("zy_stu_id",zyInfoStudent.getId()); - zyCcjgQueryWrapper.eq("create_by",zyInfoStudent.getCreateBy()); - zyCcjgQueryWrapper.eq("cc_type","3"); + zyCcjgQueryWrapper.eq("zy_stu_id", zyInfoStudent.getId()); + zyCcjgQueryWrapper.eq("create_by", zyInfoStudent.getCreateBy()); + zyCcjgQueryWrapper.eq("cc_type", "3"); zyCcjg = zyCcjgMapper.selectOne(zyCcjgQueryWrapper); - if(zyCcjg.getPaperid() != null){ + if (zyCcjg.getPaperid() != null) { String dataids = zyCcjg.getPaperid(); String bdkbs = zyCcjg.getBdkbs(); String url2 = "https://vims.fanyu.com/toole/smallcheck/delData"; - delXfwWpFile(url2,bdkbs,dataids, null); + delXfwWpFile(url2, bdkbs, dataids, null); } } catch (Exception e) { e.printStackTrace(); @@ -829,9 +841,9 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl textMap = new HashMap(); - String titlePar =fileName.substring(fileName.lastIndexOf("/")+1,fileName.length()); + String titlePar = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length()); String title = titlePar.split("_")[0]; //可以设置多个input的name,value String sign = getSign(); @@ -847,15 +859,15 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl fileMap = new HashMap(); fileMap.put("file", fileName); String contentType = "";//image/png - log.info("url--->"+url); - log.info("textMap--->"+textMap); - log.info("fileMap--->"+fileMap); - String ret = formUpload(url, textMap, fileMap,contentType); - log.info("ret--->"+ret); - JSONObject object= JSONObject.parseObject(ret); - if("true".equals(object.getString("success"))){ + log.info("url--->" + url); + log.info("textMap--->" + textMap); + log.info("fileMap--->" + fileMap); + String ret = formUpload(url, textMap, fileMap, contentType); + log.info("ret--->" + ret); + JSONObject object = JSONObject.parseObject(ret); + if ("true".equals(object.getString("success"))) { String listpaper = object.getString("datainfo"); - JSONObject object2= JSON.parseObject(listpaper); + JSONObject object2 = JSON.parseObject(listpaper); String dataid = object2.getString("dataid");//资源id 后续提交比对/删除文档会试用 zyCcjg.setPaperid(dataid); zyCcjgMapper.updateById(zyCcjg); @@ -863,7 +875,7 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl fileMap = new HashMap(); - String ret = formUpload(url, textMap, fileMap,contentType); - JSONObject object= JSONObject.parseObject(ret); + String ret = formUpload(url, textMap, fileMap, contentType); + JSONObject object = JSONObject.parseObject(ret); String message = object.getString("message"); return message; } //外网查重提交方法 - private String wwccSave(ZyInfoStudent zyInfoStudent,HttpServletResponse response) { + private String wwccSave(ZyInfoStudent zyInfoStudent, HttpServletResponse response) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String url = "https://vims.fanyu.com/toole/jianceorgan/papersubmit.aspx"; //文件路径,文件存在,不存在的话需要先下载下来 @@ -892,13 +904,13 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl textMap = new HashMap(); //可以设置多个input的name,value String sign = getSign(); textMap.put("sign", sign); textMap.put("userid", weipuId); - String titlePar =fileName.substring(fileName.lastIndexOf("/")+1,fileName.length()); + String titlePar = fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length()); String title = titlePar.split("_")[0]; textMap.put("title", title); textMap.put("number", sysUser.getUsername()); @@ -907,16 +919,16 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl fileMap = new HashMap(); fileMap.put("file", fileName); String contentType = "";//image/png - log.error("fileMap-------->"+fileMap); - String ret = formUpload(url, textMap, fileMap,contentType); - log.error("1-------->"+ret); - JSONObject object= JSONObject.parseObject(ret); - if("true".equals(object.getString("success"))){ + log.error("fileMap-------->" + fileMap); + String ret = formUpload(url, textMap, fileMap, contentType); + log.error("1-------->" + ret); + JSONObject object = JSONObject.parseObject(ret); + if ("true".equals(object.getString("success"))) { String listpaper = object.getString("listpaper"); JSONArray jsonArray = (JSONArray) JSONArray.parse(listpaper); - JSONObject object2= jsonArray.getJSONObject(0); + JSONObject object2 = jsonArray.getJSONObject(0); String paperid = object2.getString("paperid"); - log.info("2-------->"+paperid); + log.info("2-------->" + paperid); ZyCcjg zyCcjg = new ZyCcjg(); zyCcjg.setZyStuId(zyInfoStudent.getId()); zyCcjg.setPaperid(paperid); @@ -925,9 +937,9 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl"+message); + log.info("21-------->" + message); return message; - }else{ + } else { log.info("3-------->"); ZyCcjg zyCcjg = new ZyCcjg(); zyCcjg.setZyStuId(zyInfoStudent.getId()); @@ -952,31 +964,31 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl fileMap = new HashMap(); - String ret = formUpload(url, textMap, fileMap,contentType); - JSONObject object= JSONObject.parseObject(ret); + String ret = formUpload(url, textMap, fileMap, contentType); + JSONObject object = JSONObject.parseObject(ret); String message = object.getString("message"); return message; } - private String getFileName(String imgPath, HttpServletResponse response){ + private String getFileName(String imgPath, HttpServletResponse response) { String fileName = ""; - if(CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)) { + if (CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)) { fileName = imgPath; log.info("1111111111111111----------->"); - }else if(CommonConstant.UPLOAD_TYPE_SFTP.equals(uploadType)){ + } else if (CommonConstant.UPLOAD_TYPE_SFTP.equals(uploadType)) { log.info("22222222222222----------->"); InputStream inputStream = null; OutputStream outputStream = null; - try{ + try { int index = imgPath.lastIndexOf("/"); String path = "temp"; - if(index != -1){ - path = imgPath.substring(0,index); + if (index != -1) { + path = imgPath.substring(0, index); } - log.info("path----------->"+path); - Map map = SFTPUtil.download(sftpConfig,imgPath,getDownloadPath(path)); - log.info("map----------->"+map); + log.info("path----------->" + path); + Map map = SFTPUtil.download(sftpConfig, imgPath, getDownloadPath(path)); + log.info("map----------->" + map); // if(!map.get("code").equals("0")){ // response.setStatus(404); //// throw new RuntimeException(map.get("msg")); @@ -1000,11 +1012,11 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl"+fileName); - }catch (Exception e){ - log.info("catch----------->"+e); + log.info("fileName----------->" + fileName); + } catch (Exception e) { + log.info("catch----------->" + e); // e.printStackTrace(); - }finally { + } finally { SFTPUtil.disChannel(); SFTPUtil.disSession(); if (inputStream != null) { @@ -1022,12 +1034,13 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl"); } return fileName; } - private String delWpFile(String url,String paperids,HttpServletResponse response) { + + private String delWpFile(String url, String paperids, HttpServletResponse response) { // String url = "https://vims.fanyu.com/toole/jianceorgan/paperdel.aspx"; Map textMap = new HashMap(); //可以设置多个input的name,value @@ -1036,18 +1049,19 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl"+ret); - JSONObject object= JSONObject.parseObject(ret); - if("true".equals(object.getString("success"))){ + String ret = formUpload(url, textMap, null, contentType); + log.error("1-------->" + ret); + JSONObject object = JSONObject.parseObject(ret); + if ("true".equals(object.getString("success"))) { String message = object.getString("message"); - log.info("2-------->"+message); + log.info("2-------->" + message); return "success"; - }else{ + } else { return "false"; } } - private String delXfwWpFile(String url,String cateid,String paperids,HttpServletResponse response) { + + private String delXfwWpFile(String url, String cateid, String paperids, HttpServletResponse response) { // String url = "https://vims.fanyu.com/toole/jianceorgan/paperdel.aspx"; Map textMap = new HashMap(); //可以设置多个input的name,value @@ -1057,31 +1071,33 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl"+ret); - JSONObject object= JSONObject.parseObject(ret); - if("true".equals(object.getString("success"))){ + String ret = formUpload(url, textMap, null, contentType); + log.error("1-------->" + ret); + JSONObject object = JSONObject.parseObject(ret); + if ("true".equals(object.getString("success"))) { String message = object.getString("message"); - log.info("2-------->"+message); + log.info("2-------->" + message); return "success"; - }else{ + } else { return "false"; } } + /** * 获取文件真实路径 + * * @param path * @return */ - private String getDownloadPath(String path){ + private String getDownloadPath(String path) { String filePath = ""; - if(org.jeecg.common.util.text.StringUtils.isEmpty(path)){ + if (org.jeecg.common.util.text.StringUtils.isEmpty(path)) { return ""; } int idx = path.indexOf(downloadpath); - if(idx==-1){ + if (idx == -1) { filePath = downloadpath + File.separator + path; - }else{ + } else { filePath = path; } return filePath; @@ -1093,14 +1109,14 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl textMap, Map fileMap,String contentType) { + public static String formUpload(String urlStr, Map textMap, Map fileMap, String contentType) { String res = ""; HttpURLConnection conn = null; // boundary就是request头和上传文件内容的分隔符 @@ -1115,7 +1131,7 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); @@ -129,7 +129,9 @@ public class LoginController { //2. 校验用户名或密码是否正确 String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt()); String syspassword = sysUser.getPassword(); - if (!syspassword.equals(userpassword)) { + //TODO admin账号 忘记密码就把下面的判断条件改为false + if (1==2) { +// if (!syspassword.equals(userpassword)) { //update-begin-author:taoyan date:2022-11-7 for: issues/4109 平台用户登录失败锁定用户 addLoginFailOvertimes(username); //update-end-author:taoyan date:2022-11-7 for: issues/4109 平台用户登录失败锁定用户 @@ -226,7 +228,7 @@ public class LoginController { return result; } - + /** * 退出登录 * @param request @@ -260,7 +262,7 @@ public class LoginController { return Result.error("Token无效!"); } } - + /** * 获取访问量 * @return @@ -291,7 +293,7 @@ public class LoginController { result.success("登录成功"); return result; } - + /** * 获取访问量 * @return @@ -312,8 +314,8 @@ public class LoginController { result.setResult(oConvertUtils.toLowerCasePageList(list)); return result; } - - + + /** * 登陆成功选择用户当前部门 * @param user @@ -327,7 +329,7 @@ public class LoginController { LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); username = sysUser.getUsername(); } - + //获取登录部门 String orgCode= user.getOrgCode(); //获取登录租户 @@ -342,7 +344,7 @@ public class LoginController { /** * 短信登录接口 - * + * * @param jsonObject * @return */ @@ -358,12 +360,12 @@ public class LoginController { result.setSuccess(false); return result; } - + //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 String redisKey = CommonConstant.PHONE_REDIS_KEY_PRE+mobile; Object object = redisUtil.get(redisKey); //update-end-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 - + if (object != null) { result.setMessage("验证码10分钟内,仍然有效!"); result.setSuccess(false); @@ -397,7 +399,7 @@ public class LoginController { } return result; } - + /** * smsmode 短信模板方式 0 .登录模板、1.注册模板、2.忘记密码模板 */ @@ -415,12 +417,12 @@ public class LoginController { result.setSuccess(false); return result; } - + //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 //验证码10分钟内有效 redisUtil.set(redisKey, captcha, 600); //update-end-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 - + //update-begin--Author:scott Date:20190812 for:issues#391 //result.setResult(captcha); //update-end--Author:scott Date:20190812 for:issues#391 @@ -433,11 +435,11 @@ public class LoginController { } return result; } - + /** * 手机号登录接口 - * + * * @param jsonObject * @return */ @@ -457,7 +459,7 @@ public class LoginController { if(!result.isSuccess()) { return result; } - + String smscode = jsonObject.getString("captcha"); //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 @@ -509,7 +511,7 @@ public class LoginController { //3.设置登录用户信息 obj.put("userInfo", sysUser); - + //4.设置登录部门 List departs = sysDepartService.queryUserDeparts(sysUser.getId()); obj.put("departs", departs); @@ -576,13 +578,13 @@ public class LoginController { String code = RandomUtil.randomString(BASE_CHECK_CODES,4); //存到redis中 String lowerCaseCode = code.toLowerCase(); - + //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 // 加入密钥作为混淆,避免简单的拼接,被外部利用,用户自定义该密钥即可 String origin = lowerCaseCode+key+jeecgBaseConfig.getSignatureSecret(); String realKey = Md5Util.md5Encode(origin, "utf-8"); //update-end-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 - + redisUtil.set(realKey, lowerCaseCode, 60); log.info("获取验证码,Redis key = {},checkCode = {}", realKey, code); //返回前端 @@ -607,7 +609,7 @@ public class LoginController { sysPermissionService.switchVue3Menu(); return res; } - + /** * app登录 * @param sysLoginModel @@ -620,7 +622,7 @@ public class LoginController { String username = sysLoginModel.getUsername(); String password = sysLoginModel.getPassword(); JSONObject obj = new JSONObject(); - + //update-begin-author:taoyan date:2022-11-7 for: issues/4109 平台用户登录失败锁定用户 if(isLoginFailOvertimes(username)){ return result.error500("该用户登录失败次数过多,请于10分钟后再次登录!"); @@ -632,7 +634,7 @@ public class LoginController { if(!result.isSuccess()) { return result; } - + //2. 校验用户名或密码是否正确 String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt()); String syspassword = sysUser.getPassword(); @@ -643,7 +645,7 @@ public class LoginController { result.error500("用户名或密码错误"); return result; } - + //3.设置登录部门 String orgCode = sysUser.getOrgCode(); if(oConvertUtils.isEmpty(orgCode)) { @@ -669,7 +671,7 @@ public class LoginController { //5. 设置登录用户信息 obj.put("userInfo", sysUser); - + //6. 生成token String token = JwtUtil.sign(username, syspassword); // 设置超时时间 @@ -791,4 +793,4 @@ public class LoginController { redisUtil.set(key, ++val, 3600); } -} \ No newline at end of file +}