|
@ -27,6 +27,7 @@ import com.tduck.cloud.project.vo.ExportProjectResultVO; |
|
|
import com.tduck.cloud.wx.mp.service.WxMpUserMsgService; |
|
|
import com.tduck.cloud.wx.mp.service.WxMpUserMsgService; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
|
import javax.servlet.ServletOutputStream; |
|
|
import javax.servlet.ServletOutputStream; |
|
@ -75,12 +76,21 @@ public class UserProjectResultController { |
|
|
* |
|
|
* |
|
|
* @param entity |
|
|
* @param entity |
|
|
* @param request |
|
|
* @param request |
|
|
|
|
|
* @param accessKey 访问key,当前用户是否允许填写问卷 |
|
|
* @return |
|
|
* @return |
|
|
*/ |
|
|
*/ |
|
|
@NoRepeatSubmit |
|
|
@NoRepeatSubmit |
|
|
@PostMapping("/create") |
|
|
@PostMapping("/create") |
|
|
public Result createProjectResult(@RequestBody UserProjectResultEntity entity, @RequestAttribute String userId, HttpServletRequest request) { |
|
|
public Result createProjectResult(@RequestBody UserProjectResultEntity entity, @RequestAttribute String userId, HttpServletRequest request, |
|
|
|
|
|
@RequestParam(value = "access_key", required = true) String accessKey) { |
|
|
ValidatorUtils.validateEntity(entity); |
|
|
ValidatorUtils.validateEntity(entity); |
|
|
|
|
|
|
|
|
|
|
|
// 先校验有没有访问该问卷的权限
|
|
|
|
|
|
String accessKeyFromCache = (String) redisUtils.get(String.format("epmet:questionnaire:accesskey:%s:%s", userId, entity.getProjectKey())); |
|
|
|
|
|
if (StringUtils.isBlank(accessKeyFromCache) || !accessKeyFromCache.equals(accessKey)) { |
|
|
|
|
|
throw new RuntimeException("您没有访问权限"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
entity.setUserId(userId); |
|
|
entity.setUserId(userId); |
|
|
entity.setSubmitRequestIp(HttpUtils.getIpAddr(request)); |
|
|
entity.setSubmitRequestIp(HttpUtils.getIpAddr(request)); |
|
|
Result<UserProjectSettingEntity> userProjectSettingStatus = userProjectSettingService.getUserProjectSettingStatus(entity.getProjectKey(), entity.getSubmitRequestIp(), entity.getWxOpenId()); |
|
|
Result<UserProjectSettingEntity> userProjectSettingStatus = userProjectSettingService.getUserProjectSettingStatus(entity.getProjectKey(), entity.getSubmitRequestIp(), entity.getWxOpenId()); |
|
|