Переглянути джерело

预约进校-生成二维码

dzx 1 рік тому
батько
коміт
a141507338

+ 31 - 27
src/main/java/com/xjrsoft/module/personnel/controller/ReservationSchoolController.java

@@ -1,57 +1,54 @@
 package com.xjrsoft.module.personnel.controller;
 
+import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.toolkit.MPJWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.xjrsoft.common.constant.GlobalConstant;
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
-import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.utils.QrCodeUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.config.CommonPropertiesConfig;
-import com.xjrsoft.module.oa.entity.NewsRelation;
-import com.xjrsoft.module.oa.vo.NewsRelationVo;
 import com.xjrsoft.module.organization.entity.Department;
 import com.xjrsoft.module.personnel.dto.AddReservationSchoolDto;
+import com.xjrsoft.module.personnel.dto.ReservationSchoolPageDto;
 import com.xjrsoft.module.personnel.dto.ReservationSchoolVisitorPageDto;
 import com.xjrsoft.module.personnel.dto.UpdateReservationSchoolDto;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-
-import com.xjrsoft.module.personnel.dto.ReservationSchoolPageDto;
 import com.xjrsoft.module.personnel.entity.ReservationSchool;
 import com.xjrsoft.module.personnel.entity.ReservationSchoolPeople;
-import com.xjrsoft.module.personnel.entity.StundentFaceProcess;
-import com.xjrsoft.module.personnel.entity.TeacherFaceProcess;
 import com.xjrsoft.module.personnel.service.IReservationSchoolService;
 import com.xjrsoft.module.personnel.vo.ReservationSchoolPageVo;
-
+import com.xjrsoft.module.personnel.vo.ReservationSchoolPeopleVo;
 import com.xjrsoft.module.personnel.vo.ReservationSchoolVisitorPageVo;
 import com.xjrsoft.module.personnel.vo.ReservationSchoolVo;
-import com.xjrsoft.module.personnel.vo.StundentFaceProcessPageVo;
-import com.xjrsoft.module.room.entity.RoomValueWeek;
 import com.xjrsoft.module.system.entity.DictionaryDetail;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import com.xjrsoft.module.workflow.entity.WorkflowFormRelation;
 import com.xjrsoft.module.workflow.entity.XjrWorkflowOperateRecord;
-import com.xjrsoft.module.workflow.service.IWorkflowFormRelationService;
 import com.xjrsoft.module.workflow.service.IXjrWorkflowOperateRecordService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -215,19 +212,26 @@ public class ReservationSchoolController {
     @GetMapping(value = "/info-qrcode")
     @ApiOperation(value="预约进校-生成二维码")
     @SaCheckPermission("reservationschool:detail")
-    public RT<String> qrcode(@RequestParam Long id) throws Exception {
-        String url = "接口生成二维码";
+    public RT<List<ReservationSchoolPeopleVo>> qrcode(@RequestParam Long id) throws Exception {
+        ReservationSchool reservationSchool = reservationSchoolService.getByIdDeep(id);
+        List<ReservationSchoolPeople> peopleList = reservationSchool.getReservationSchoolPeopleList();
+        List<ReservationSchoolPeopleVo> result = new ArrayList<>();
+        JsonParser parser = new JsonParser();
         int width = 200;
         int height = 200;
         int margin = 1;
-
-        try {
-            String base64 = QrCodeUtil.createBase64(url, width, height, margin);
-            return RT.ok(base64);
-        } catch (Exception e) {
-            throw e;
+        for (ReservationSchoolPeople people : peopleList) {
+            ReservationSchoolPeopleVo peopleVo = BeanUtil.toBean(people, ReservationSchoolPeopleVo.class);
+
+            JsonObject jsonObject = parser.parse(people.getRegistrationResult()).getAsJsonObject();
+            if("0".equals(jsonObject.get("code").getAsString()) && "success".equals(jsonObject.get("msg").getAsString())){
+                JsonObject data = jsonObject.get("data").getAsJsonObject();
+                String url = data.get("QRCode").getAsString();
+                String base64 = QrCodeUtil.createBase64(url, width, height, margin);
+                peopleVo.setQRCode(base64);
+            }
         }
-
+        return RT.ok(result);
     }
 
 }

+ 2 - 1
src/main/java/com/xjrsoft/module/personnel/vo/ReservationSchoolPeopleVo.java

@@ -59,6 +59,7 @@ public class ReservationSchoolPeopleVo {
     @ApiModelProperty("车牌号")
     private String plateNumber;
 
-
+    @ApiModelProperty("二维码照片base64")
+    private String QRCode;
 
 }