二维码分享表单录入
This commit is contained in:
		
							parent
							
								
									e5fa6ae335
								
							
						
					
					
						commit
						1e344ac66e
					
				| 
						 | 
				
			
			@ -41,6 +41,8 @@ public class WebConfig implements WebMvcConfigurer {
 | 
			
		|||
        whiteList.add("/management/getCheckStatus");
 | 
			
		||||
        //微信小程序注册
 | 
			
		||||
        whiteList.add("/miniProgramUser/register");
 | 
			
		||||
        //二维码表单录入保安人员
 | 
			
		||||
        whiteList.add("/miniProgramUser/qrCodeFormInputSecurityUser");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@ package com.changhu.module.miniProgram.controller;
 | 
			
		|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
			
		||||
import com.changhu.common.annotation.JsonBody;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.params.MiniProgramUserRegisterParams;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.params.SaveOrUpdateSecurityUserParams;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.queryParams.ServiceProjectSecurityUserPagerQueryParams;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.vo.ServiceProjectSecurityUserPagerVo;
 | 
			
		||||
import com.changhu.module.miniProgram.service.MiniProgramUserService;
 | 
			
		||||
| 
						 | 
				
			
			@ -34,6 +35,12 @@ public class MiniProgramUserController {
 | 
			
		|||
        miniProgramUserService.register(params);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Operation(summary = "二维码表单录入保安人员")
 | 
			
		||||
    @PostMapping("/qrCodeFormInputSecurityUser")
 | 
			
		||||
    public void qrCodeFormInputSecurityUser(@RequestBody @Valid SaveOrUpdateSecurityUserParams params) {
 | 
			
		||||
        miniProgramUserService.qrCodeFormInputSecurityUser(params);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Operation(summary = "服务项目保安人员分页")
 | 
			
		||||
    @PostMapping("/securityUserPager")
 | 
			
		||||
    public Page<ServiceProjectSecurityUserPagerVo> securityUserPager(@RequestBody PageParams<ServiceProjectSecurityUserPagerQueryParams, ServiceProjectSecurityUserPagerVo> queryParams) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,11 @@ import com.changhu.module.miniProgram.service.ProjectManageIndexService;
 | 
			
		|||
import io.swagger.v3.oas.annotations.Operation;
 | 
			
		||||
import io.swagger.v3.oas.annotations.media.Schema;
 | 
			
		||||
import io.swagger.v3.oas.annotations.tags.Tag;
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import jakarta.validation.Valid;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.core.io.Resource;
 | 
			
		||||
import org.springframework.http.ResponseEntity;
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
| 
						 | 
				
			
			@ -42,7 +46,15 @@ public class ProjectManageIndexController {
 | 
			
		|||
 | 
			
		||||
    @Operation(summary = "保存或更新保安人员")
 | 
			
		||||
    @PostMapping("/saveOrUpdateSecurityUser")
 | 
			
		||||
    public void saveOrUpdateSecurityUser(@RequestBody SaveOrUpdateSecurityUserParams params) {
 | 
			
		||||
    public void saveOrUpdateSecurityUser(@RequestBody @Valid SaveOrUpdateSecurityUserParams params) {
 | 
			
		||||
        projectManageIndexService.saveOrUpdateSecurityUser(params);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @JsonBody(value = false)
 | 
			
		||||
    @Operation(summary = "获取表单分享二维码")
 | 
			
		||||
    @GetMapping(value = "/shareForm_QR_Code")
 | 
			
		||||
    public ResponseEntity<Resource> shareForm_QR_Code(@Schema(description = "要生成的路径") @RequestParam String path,
 | 
			
		||||
                                                      @Schema(description = "生成二维码的宽度") @RequestParam(defaultValue = "430") Integer width) {
 | 
			
		||||
        return projectManageIndexService.shareForm_QR_Code(path, width);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,6 +23,10 @@ public class SaveOrUpdateSecurityUserParams {
 | 
			
		|||
    @Schema(description = "服务项目id")
 | 
			
		||||
    private Long serviceProjectId;
 | 
			
		||||
 | 
			
		||||
    @NotNull(message = "保安单位不能为空")
 | 
			
		||||
    @Schema(description = "保安单位id")
 | 
			
		||||
    private Long securityUnitId;
 | 
			
		||||
 | 
			
		||||
    @NotBlank(message = "名字不能为空")
 | 
			
		||||
    @Schema(description = "名称")
 | 
			
		||||
    private String name;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,6 +53,8 @@ public class IndexServiceProjectListVo {
 | 
			
		|||
    static class ServiceProjectVo {
 | 
			
		||||
        @Schema(description = "服务项目id")
 | 
			
		||||
        private Long snowFlakeId;
 | 
			
		||||
        @Schema(description = "保安单位id")
 | 
			
		||||
        private Long securityUnitId;
 | 
			
		||||
        @Schema(description = "项目经理信息")
 | 
			
		||||
        private Dict projectManagerMiniProgramUserInfo;
 | 
			
		||||
        @Schema(description = "服务项目名称")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
			
		|||
import com.baomidou.mybatisplus.extension.service.IService;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.entity.MiniProgramUser;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.params.MiniProgramUserRegisterParams;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.params.SaveOrUpdateSecurityUserParams;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.queryParams.ServiceProjectSecurityUserPagerQueryParams;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.vo.ServiceProjectSecurityUserPagerVo;
 | 
			
		||||
import com.changhu.support.mybatisplus.pojo.params.PageParams;
 | 
			
		||||
| 
						 | 
				
			
			@ -29,4 +30,11 @@ public interface MiniProgramUserService extends IService<MiniProgramUser> {
 | 
			
		|||
     * @return 保安人员
 | 
			
		||||
     */
 | 
			
		||||
    Page<ServiceProjectSecurityUserPagerVo> securityUserPager(PageParams<ServiceProjectSecurityUserPagerQueryParams, ServiceProjectSecurityUserPagerVo> queryParams);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 二维码表单录入保安人员
 | 
			
		||||
     *
 | 
			
		||||
     * @param params 参数
 | 
			
		||||
     */
 | 
			
		||||
    void qrCodeFormInputSecurityUser(SaveOrUpdateSecurityUserParams params);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,9 @@ package com.changhu.module.miniProgram.service;
 | 
			
		|||
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.params.SaveOrUpdateSecurityUserParams;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.vo.IndexServiceProjectListVo;
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import org.springframework.core.io.Resource;
 | 
			
		||||
import org.springframework.http.ResponseEntity;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -31,4 +34,9 @@ public interface ProjectManageIndexService {
 | 
			
		|||
     * @param params 保安人员参数
 | 
			
		||||
     */
 | 
			
		||||
    void saveOrUpdateSecurityUser(SaveOrUpdateSecurityUserParams params);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分享表单录入的二维码
 | 
			
		||||
     */
 | 
			
		||||
    ResponseEntity<Resource> shareForm_QR_Code(String path, Integer width);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,9 +13,11 @@ import com.changhu.module.miniProgram.mapper.SecurityUserMapper;
 | 
			
		|||
import com.changhu.module.miniProgram.pojo.entity.MiniProgramUser;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.entity.SecurityUser;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.params.MiniProgramUserRegisterParams;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.params.SaveOrUpdateSecurityUserParams;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.queryParams.ServiceProjectSecurityUserPagerQueryParams;
 | 
			
		||||
import com.changhu.module.miniProgram.pojo.vo.ServiceProjectSecurityUserPagerVo;
 | 
			
		||||
import com.changhu.module.miniProgram.service.MiniProgramUserService;
 | 
			
		||||
import com.changhu.module.miniProgram.service.ProjectManageIndexService;
 | 
			
		||||
import com.changhu.support.mybatisplus.pojo.params.PageParams;
 | 
			
		||||
import me.chanjar.weixin.common.error.WxErrorException;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
| 
						 | 
				
			
			@ -35,6 +37,9 @@ public class MiniProgramUserServiceImpl extends ServiceImpl<MiniProgramUserMappe
 | 
			
		|||
    @Autowired
 | 
			
		||||
    private SecurityUserMapper securityUserMapper;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private ProjectManageIndexService projectManageIndexService;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void register(MiniProgramUserRegisterParams params) {
 | 
			
		||||
        MiniProgramUser miniProgramUser = BeanUtil.copyProperties(params, MiniProgramUser.class);
 | 
			
		||||
| 
						 | 
				
			
			@ -61,4 +66,9 @@ public class MiniProgramUserServiceImpl extends ServiceImpl<MiniProgramUserMappe
 | 
			
		|||
    public Page<ServiceProjectSecurityUserPagerVo> securityUserPager(PageParams<ServiceProjectSecurityUserPagerQueryParams, ServiceProjectSecurityUserPagerVo> queryParams) {
 | 
			
		||||
        return securityUserMapper.securityUserPager(queryParams.getPage(), queryParams.getParams());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void qrCodeFormInputSecurityUser(SaveOrUpdateSecurityUserParams params) {
 | 
			
		||||
        projectManageIndexService.saveOrUpdateSecurityUser(params);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
package com.changhu.module.miniProgram.service.impl;
 | 
			
		||||
 | 
			
		||||
import cn.binarywang.wx.miniapp.api.WxMaQrcodeService;
 | 
			
		||||
import cn.binarywang.wx.miniapp.api.WxMaService;
 | 
			
		||||
import cn.hutool.core.bean.BeanUtil;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.toolkit.Db;
 | 
			
		||||
import com.changhu.common.exception.MessageException;
 | 
			
		||||
| 
						 | 
				
			
			@ -10,9 +12,18 @@ import com.changhu.module.miniProgram.pojo.params.SaveOrUpdateSecurityUserParams
 | 
			
		|||
import com.changhu.module.miniProgram.pojo.vo.IndexServiceProjectListVo;
 | 
			
		||||
import com.changhu.module.miniProgram.service.ProjectManageIndexService;
 | 
			
		||||
import com.changhu.support.mybatisplus.pojo.entity.BaseEntity;
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import me.chanjar.weixin.common.error.WxErrorException;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.core.io.FileSystemResource;
 | 
			
		||||
import org.springframework.core.io.Resource;
 | 
			
		||||
import org.springframework.http.HttpHeaders;
 | 
			
		||||
import org.springframework.http.MediaType;
 | 
			
		||||
import org.springframework.http.ResponseEntity;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
import java.io.*;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Optional;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -21,12 +32,16 @@ import java.util.Optional;
 | 
			
		|||
 * @createTime 2024/9/10 下午3:50
 | 
			
		||||
 * @desc ProjectManageIndexServiceImpl...
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
@Service
 | 
			
		||||
public class ProjectManageIndexServiceImpl implements ProjectManageIndexService {
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private ServiceProjectMapper serviceProjectMapper;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private WxMaService wxMaService;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<IndexServiceProjectListVo> getMyServiceProjectList() {
 | 
			
		||||
        return serviceProjectMapper.getServiceProjectList(null, UserUtil.getUserId());
 | 
			
		||||
| 
						 | 
				
			
			@ -43,8 +58,6 @@ public class ProjectManageIndexServiceImpl implements ProjectManageIndexService
 | 
			
		|||
    @Override
 | 
			
		||||
    public void saveOrUpdateSecurityUser(SaveOrUpdateSecurityUserParams params) {
 | 
			
		||||
        SecurityUser securityUser = BeanUtil.copyProperties(params, SecurityUser.class);
 | 
			
		||||
        //填充保安单位
 | 
			
		||||
        securityUser.setSecurityUnitId(UserUtil.getUnitId());
 | 
			
		||||
        //新增的情况
 | 
			
		||||
        Long snowFlakeId = securityUser.getSnowFlakeId();
 | 
			
		||||
        if (snowFlakeId == null) {
 | 
			
		||||
| 
						 | 
				
			
			@ -74,4 +87,18 @@ public class ProjectManageIndexServiceImpl implements ProjectManageIndexService
 | 
			
		|||
            throw new MessageException();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public ResponseEntity<Resource> shareForm_QR_Code(String path, Integer width) {
 | 
			
		||||
        WxMaQrcodeService qrcodeService = wxMaService.getQrcodeService();
 | 
			
		||||
        try {
 | 
			
		||||
            File qrcodeFile = qrcodeService.createQrcode(path, width);
 | 
			
		||||
            return ResponseEntity.ok()
 | 
			
		||||
                    .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + qrcodeFile.getName())
 | 
			
		||||
                    .contentType(MediaType.APPLICATION_OCTET_STREAM)
 | 
			
		||||
                    .body(new FileSystemResource(qrcodeFile));
 | 
			
		||||
        } catch (WxErrorException e) {
 | 
			
		||||
            throw new MessageException("生成表单二维码失败:{}", e.getMessage());
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -144,9 +144,9 @@ sa-token:
 | 
			
		|||
wx:
 | 
			
		||||
  miniapp:
 | 
			
		||||
    #微信小程序的appid
 | 
			
		||||
    appid: wx8902ddbfddb820d1
 | 
			
		||||
    appid: wx0acd1c4fcf94bdd3
 | 
			
		||||
    #微信小程序的Secret
 | 
			
		||||
    secret: 8674decea33df3362245937444944596
 | 
			
		||||
    secret: 4b700dbacb42ef258537ddc61d964a17
 | 
			
		||||
    msgDataFormat: JSON
 | 
			
		||||
 | 
			
		||||
project:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,6 +48,7 @@
 | 
			
		|||
               ad4.name                      as 'streetName',
 | 
			
		||||
               JSON_ARRAYAGG(JSON_OBJECT(
 | 
			
		||||
                       'snowFlakeId', sp.snow_flake_id,
 | 
			
		||||
                       'securityUnitId',sp.security_unit_id,
 | 
			
		||||
                       'name', sp.name,
 | 
			
		||||
                       'type', sp.type,
 | 
			
		||||
                       'isRecruitSecurity', sp.is_recruit_security,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue