| | |
| | | //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<Boolean> saveFormSetting(@RequestBody Map<String, Object> setting) { |
| | | // String formKey = setting.get("formKey").toString(); |
| | | //// FormAuthUtils.hasPermission(formKey); |
| | | // return Result.success(userFormSettingService.saveFormSetting(setting)); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 表单提交设置查询 |
| | | // */ |
| | | // @GetMapping("/user/form/setting/{key}") |
| | | // public Result<Map<String, Object>> queryFormSettingByKey(@PathVariable("key") String formKey) { |
| | | // UserFormSettingEntity setting = userFormSettingService.getFormSettingByKey(formKey); |
| | | // if (ObjectUtil.isNull(setting)) { |
| | | // return Result.success(); |
| | | 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<Boolean> saveFormSetting(@RequestBody Map<String, Object> setting) { |
| | | String formKey = setting.get("formKey").toString(); |
| | | // FormAuthUtils.hasPermission(formKey); |
| | | return Result.success(userFormSettingService.saveFormSetting(setting)); |
| | | } |
| | | |
| | | /** |
| | | * 表单提交设置查询 |
| | | */ |
| | | @GetMapping("/user/form/setting/{key}") |
| | | public Result<Map<String, Object>> queryFormSettingByKey(@PathVariable("key") String formKey) { |
| | | UserFormSettingEntity setting = userFormSettingService.getFormSettingByKey(formKey); |
| | | if (ObjectUtil.isNull(setting)) { |
| | | return Result.success(); |
| | | } |
| | | Map<String, Object> 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<Boolean> 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<String> 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<Boolean> 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<Object> 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())); |
| | | // } |
| | | // Map<String, Object> 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<Boolean> 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<String> 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<Boolean> 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<Object> 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<Boolean> 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); |
| | | // } |
| | | // |
| | | // |
| | | //} |
| | | // 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<Boolean> 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); |
| | | } |
| | | |
| | | |
| | | } |