//package com.ltkj.web.tduck; // //import cn.hutool.core.util.ObjectUtil; //import com.ltkj.common.utils.http.HttpUtils; //import com.ltkj.tduck.domain.UserFormSettingEntity; //import com.ltkj.tduck.request.CheckWritePwdRequest; //import com.ltkj.tduck.service.UserFormSettingService; //import com.ltkj.tduck.utils.CacheUtils; //import com.ltkj.tduck.utils.Result; //import lombok.RequiredArgsConstructor; //import lombok.extern.slf4j.Slf4j; //import org.springframework.validation.annotation.Validated; //import org.springframework.web.bind.annotation.*; // //import javax.annotation.security.PermitAll; //import javax.servlet.http.HttpServletRequest; //import java.util.Map; // ///** // * 表单设置 // * // * @author : smalljop // * @description : 表单设置 // * @create : 2020-11-18 18:17 // **/ //@Slf4j //@RestController //@RequiredArgsConstructor //public class UserFormSettingController { // // private final UserFormSettingService userFormSettingService; //// private final WxMpUserService wxMpUserService; // private final CacheUtils cacheUtils; //// private final WxMpService wxMpService; // // // /** // * 保存表单设置 // */ // @PostMapping("/user/form/setting/save") // public Result saveFormSetting(@RequestBody Map setting) { // String formKey = setting.get("formKey").toString(); //// FormAuthUtils.hasPermission(formKey); // return Result.success(userFormSettingService.saveFormSetting(setting)); // } // // /** // * 表单提交设置查询 // */ // @GetMapping("/user/form/setting/{key}") // public Result> queryFormSettingByKey(@PathVariable("key") String formKey) { // UserFormSettingEntity setting = userFormSettingService.getFormSettingByKey(formKey); // if (ObjectUtil.isNull(setting)) { // return Result.success(); // } // Map settings = setting.getSettings(); // settings.put(UserFormSettingEntity.Fields.formKey, formKey); // return Result.success(settings); // } // // // /** // * 当前填写设置的状态 // * // * @param formKey 表单key // * @param wxOpenId 微信openid // * @param type 类型 1公开填写 2.指定填写 // */ // @GetMapping("/user/form/setting-status") // @PermitAll // public Result querySettingStatus(@RequestParam String formKey, @RequestParam(required = false) String wxOpenId, @RequestParam(required = false) Integer type, HttpServletRequest request) { // return userFormSettingService.getUserFormWriteSettingStatus(formKey, HttpUtils.getIpAddr(request), wxOpenId, type); // } // // // /** // * 填写微信通知二维码 // */ // @GetMapping("/user/form/wx/notify-qrcode") // public Result getWxNotifyQrCode(@RequestParam("key") String formKey) throws Exception { //// String loginSceneStr = JsonUtils.objToJson(new WxMpQrCodeGenRequest(WxMpQrCodeGenRequest.QrCodeType.SUB_NOTIFY, formKey)); //// //5分钟有效 //// WxMpQrCodeTicket ticket = wxMpService.getQrcodeService().qrCodeCreateTmpTicket(loginSceneStr, 10 * 60); //// String subNotifyQrcodeUrl = wxMpService.getQrcodeService().qrCodePictureUrl(ticket.getTicket()); //// return Result.success(subNotifyQrcodeUrl); // return Result.success(); // } // // // /** // * 填写微信通知二维码 // */ // @PostMapping("/user/form/wx/delete/notify-user") // public Result deleteWxNotifyQrCode(@RequestParam("key") String key, @RequestParam("openId") String openId) { //// cacheUtils.removeList(StrUtil.format(WxMpRedisKeyConstants.WX_MP_SUB_NOTIFY, key), openId); // return Result.success(true); // } // // /** // * 获取表单微信通知用户 // */ // @GetMapping("/user/form/wx/notify-user") // public Result getWxNotifyUser(@RequestParam("key") String formKey, @RequestParam(required = false) String openIdStr) { //// Set subNotifyUsers = null; //// if (StrUtil.isNotBlank(openIdStr)) { //// subNotifyUsers = Sets.newHashSet(StrUtil.splitTrim(openIdStr, ";")); //// } else { //// List coll = cacheUtils.getList(StrUtil.format(WxMpRedisKeyConstants.WX_MP_SUB_NOTIFY, formKey), String.class); //// subNotifyUsers = Collections.singleton(coll.stream().collect(Collectors.toSet())); //// } //// return Result.success(wxMpUserService.listWxMpUserByOpenId(subNotifyUsers).stream().map(item -> new WxMpUserVO(item.getNickname(), item.getHeadImgUrl(), item.getOpenId())).collect(Collectors.toList())); // return Result.success(); // } // // // /** // * 公开接口 // * 表单填写时需要的设置 // */ // @GetMapping("/user/form/public/settings/{key}") // @PermitAll // public Result queryPublicFormSettingByKey(@PathVariable("key") String formKey) { //// FormSettingSchemaStruct formSettingSchema = userFormSettingService.getFormSettingSchema(formKey); // return Result.success(); // } // // /** // * 公开接口 // * 检查填写密码是否正确 // */ // @PostMapping("/user/form/public/checkWritePwd") // @PermitAll // public Result checkWritePwd(@RequestBody @Validated CheckWritePwdRequest request) { //// FormSettingSchemaStruct formSettingSchema = userFormSettingService.getFormSettingSchema(request.getFormKey()); //// if (formSettingSchema.getWritePassword().equals(request.getPassword())) { //// return Result.success(true); //// } //// return Result.failed("密码输入错误"); // return Result.success(true); // } // // //}