Browse Source

小程序token校验

master
yanyan 2 years ago
parent
commit
a02d12deb4
  1. 16
      lib/EmergencyService/pom.xml
  2. 5
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application.yml
  3. 6
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/scene/manage.html
  4. 12
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/annotation/Applet.java
  5. 2
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/AnswerBankController.java
  6. 2
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/BannerManageController.java
  7. 4
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/CustomImageController.java
  8. 5
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/KnowledgeLibraryController.java
  9. 5
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionAnswerController.java
  10. 4
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionFreController.java
  11. 3
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneHomeController.java
  12. 6
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneManageController.java
  13. 7
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneMedalController.java
  14. 5
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneMessageController.java
  15. 10
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneQuestionController.java
  16. 2
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneRoleController.java
  17. 5
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneTabController.java
  18. 2
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneTextController.java
  19. 3
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/UserAddressController.java
  20. 3
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/UserFeedbackController.java
  21. 5
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/WechatLoginController.java
  22. 6
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/jwt/JwtClaimsConstant.java
  23. 20
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/jwt/JwtProperties.java
  24. 76
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/jwt/JwtTokenUserInterceptor.java
  25. 59
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/jwt/JwtUtil.java
  26. 39
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/jwt/WebMvcConfiguration.java
  27. 6
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/SceneTextServiceImpl.java
  28. 22
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/WechatServiceImpl.java

16
lib/EmergencyService/pom.xml

@ -118,6 +118,12 @@
<artifactId>mybatis-plus-extension</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
<!-- pagehelper 分页插件 -->
<dependency>
@ -460,11 +466,11 @@
<version>5.1.3</version>
</dependency>
<dependency>
<groupId>EmergencyXxlJob</groupId>
<artifactId>xxl-job-core</artifactId>
<version>1.0.0</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>EmergencyXxlJob</groupId>-->
<!-- <artifactId>xxl-job-core</artifactId>-->
<!-- <version>1.0.0</version>-->
<!-- </dependency>-->
</dependencies>

5
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application.yml

@ -46,6 +46,11 @@ wechat:
secret: e54f86b3b85e5e418c025392abe39807
grantType: authorization_code
requestUrl: https://api.weixin.qq.com/sns/jscode2session
jwt:
# 配置用户端令牌
userSecretKey: zdxtApp
userTtl: 7200000
userTokenName: Authentication
# 用户配置
user:

6
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/scene/manage.html

@ -153,7 +153,7 @@
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editFull(\'' + row.guid + '\')"><i class="fa fa-edit"></i> 编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.guid + '\')"><i class="fa fa-remove"></i> 删除</a>');
actions.push('<a class="btn btn-primary btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="detailFull(\'' + row.guid + '\')"><i class="fa fa-eye"></i>查看</a> ');
actions.push('<a class="btn btn-danger btn-xs" href="/small/project/role/view/'+row.guid+'"><i class="fa fa-eject"></i>角色</a>');
actions.push('<a class="btn btn-danger btn-xs" onclick="rolePage(\'' + row.guid + '\')"><i class="fa fa-eject"></i>角色</a>');
actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="sort(\'' + row.guid + '\')"><i class="fa fa-eject"></i>上移</a>');
return actions.join('');
}
@ -206,6 +206,10 @@
});
}
function rolePage(id) {
window.location.href=ctx + "small/project/role/view/" + id;
}
function generateQRCode() {
table.set();
var rows = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);

12
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/annotation/Applet.java

@ -0,0 +1,12 @@
package com.zdxt.knowledge.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Applet {
}

2
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/AnswerBankController.java

@ -57,6 +57,7 @@ public class AnswerBankController extends BaseController
* 新增答案库
*/
@GetMapping("/add")
@RequiresPermissions("small:answer:add")
public String add()
{
return prefix + "/add";
@ -77,6 +78,7 @@ public class AnswerBankController extends BaseController
/**
* 修改答案库
*/
@RequiresPermissions("small:answer:edit")
@GetMapping("/edit/{guid}")
public String edit(@PathVariable("guid") String guid, ModelMap mmap)
{

2
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/BannerManageController.java

@ -56,6 +56,7 @@ public class BannerManageController extends BaseController
/**
* 新增横幅管理
*/
@RequiresPermissions("banner:manage:add")
@GetMapping("/add")
public String add()
{
@ -77,6 +78,7 @@ public class BannerManageController extends BaseController
/**
* 修改横幅管理
*/
@RequiresPermissions("banner:manage:edit")
@GetMapping("/edit/{guid}")
public String edit(@PathVariable("guid") String guid, ModelMap mmap)
{

4
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/CustomImageController.java

@ -3,6 +3,7 @@ package com.zdxt.knowledge.controller;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.CustomImage;
import com.zdxt.knowledge.service.ICustomImageService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -60,6 +61,7 @@ public class CustomImageController extends BaseController {
*/
@PostMapping("/listAll")
@ResponseBody
@Applet
public ZDResponse listAll(@RequestBody CustomImage customImage) {
List<CustomImage> list = customImageService.selectCustomImageListAll(customImage);
return ZDResponse.success("成功", list);
@ -68,6 +70,7 @@ public class CustomImageController extends BaseController {
/**
* 新增自定义图片管理
*/
@RequiresPermissions("custom:image:add")
@GetMapping("/add")
public String add() {
return prefix + "/add";
@ -112,6 +115,7 @@ public class CustomImageController extends BaseController {
/**
* 修改自定义图片管理
*/
@RequiresPermissions("custom:image:edit")
@GetMapping("/edit/{guid}")
public String edit(@PathVariable("guid") String guid, ModelMap mmap) {
CustomImage customImage = customImageService.selectCustomImageById(guid);

5
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/KnowledgeLibraryController.java

@ -7,6 +7,7 @@ import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.StringUtils;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.KnowledgeLibrary;
import com.zdxt.knowledge.service.IKnowledgeLibraryService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -60,6 +61,7 @@ public class KnowledgeLibraryController extends BaseController {
*/
@PostMapping("/listApp")
@ResponseBody
@Applet
public TableDataInfo listApp(@RequestBody KnowledgeLibrary knowledgeLibrary) {
if (StringUtils.isNotNull(knowledgeLibrary.getPageNum()) && StringUtils.isNotNull(knowledgeLibrary.getPageSize())) {
PageHelper.startPage(knowledgeLibrary.getPageNum(), knowledgeLibrary.getPageSize());
@ -74,6 +76,7 @@ public class KnowledgeLibraryController extends BaseController {
*/
@PostMapping("/getById")
@ResponseBody
@Applet
public ZDResponse getById(@RequestBody KnowledgeLibrary knowledgeLibrary) {
KnowledgeLibrary library = knowledgeLibraryService.selectKnowledgeLibraryById(knowledgeLibrary.getGuid());
return ZDResponse.success("成功", library);
@ -82,6 +85,7 @@ public class KnowledgeLibraryController extends BaseController {
/**
* 新增知识库
*/
@RequiresPermissions("small:library:add")
@GetMapping("/add")
public String add(ModelMap mmap) {
DictDataBean dictBean = new DictDataBean();
@ -104,6 +108,7 @@ public class KnowledgeLibraryController extends BaseController {
/**
* 修改知识库
*/
@RequiresPermissions("small:library:edit")
@GetMapping("/edit/{guid}")
public String edit(@PathVariable("guid") String guid, ModelMap mmap) {
KnowledgeLibrary knowledgeLibrary = knowledgeLibraryService.selectKnowledgeLibraryById(guid);

5
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionAnswerController.java

@ -4,6 +4,7 @@ import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.StringUtils;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.QuestionAnswer;
import com.zdxt.knowledge.domain.QuestionCount;
import com.zdxt.knowledge.domain.SceneMedal;
@ -66,6 +67,7 @@ public class QuestionAnswerController extends BaseController {
*/
@PostMapping("/listAll")
@ResponseBody
@Applet
public ZDResponse listAll(@RequestBody QuestionAnswer questionAnswer) {
List<QuestionAnswer> list = questionAnswerService.selectQuestionAnswerList(questionAnswer);
return ZDResponse.success("成功", list);
@ -76,6 +78,7 @@ public class QuestionAnswerController extends BaseController {
*/
@PostMapping("/updateUserScore")
@ResponseBody
@Applet
public ZDResponse updateUserScore(@RequestBody QuestionCount questionCount) {
QuestionAnswer questionAnswer = new QuestionAnswer();
questionAnswer.setQuestionFreId(questionCount.getQuestionFreId());
@ -126,6 +129,7 @@ public class QuestionAnswerController extends BaseController {
*/
@PostMapping("/add")
@ResponseBody
@Applet
public ZDResponse addSave(@RequestBody QuestionAnswer questionAnswer) {
int resNum = questionAnswerService.insertQuestionAnswer(questionAnswer);
return resNum > 0 ? ZDResponse.success("操作成功", resNum) : ZDResponse.error("操作失败", resNum);
@ -167,6 +171,7 @@ public class QuestionAnswerController extends BaseController {
*/
@GetMapping("/queryQAByFreId/{guid}")
@ResponseBody
@Applet
public ZDResponse queryQAByFreId(@PathVariable("guid") String guid) {
List<QuestionAnswer> list = questionAnswerService.queryQAByFreId(guid);
return ZDResponse.success("操作成功", list);

4
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/QuestionFreController.java

@ -4,6 +4,7 @@ import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.StringUtils;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.QuestionFre;
import com.zdxt.knowledge.service.IQuestionFreService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -52,6 +53,7 @@ public class QuestionFreController extends BaseController {
*/
@PostMapping("/listAll")
@ResponseBody
@Applet
public ZDResponse listAll(@RequestBody QuestionFre questionFre) {
List<QuestionFre> list = questionFreService.selectQuestionFreList(questionFre);
return ZDResponse.success("成功", list);
@ -59,6 +61,7 @@ public class QuestionFreController extends BaseController {
@PostMapping("/getRelationInfo")
@ResponseBody
@Applet
public ZDResponse getRelationInfo(@RequestBody String guid) {
Map<String, Object> map = questionFreService.getRelationInfo(guid);
return ZDResponse.success("成功", map);
@ -77,6 +80,7 @@ public class QuestionFreController extends BaseController {
*/
@PostMapping("/add")
@ResponseBody
@Applet
public ZDResponse addSave(@RequestBody QuestionFre questionFre) {
String guid = questionFreService.insertQuestionFre(questionFre);
return StringUtils.isNotEmpty(guid) ? ZDResponse.success("操作成功", guid) : ZDResponse.error("操作失败", guid);

3
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneHomeController.java

@ -3,6 +3,7 @@ package com.zdxt.knowledge.controller;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.SceneHome;
import com.zdxt.knowledge.service.ISceneHomeService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -52,6 +53,7 @@ public class SceneHomeController extends BaseController {
*/
@PostMapping("/listAll")
@ResponseBody
@Applet
public ZDResponse listAll(@RequestBody SceneHome sceneHome) {
List<SceneHome> list = sceneHomeService.selectSceneHomeListAll(sceneHome);
return ZDResponse.success("成功", list);
@ -119,6 +121,7 @@ public class SceneHomeController extends BaseController {
/**
* 排序上移
*/
@RequiresPermissions("project:home:edit")
@GetMapping("/sort/{guid}")
@ResponseBody
public ZDResponse sort(@PathVariable("guid") String guid) {

6
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneManageController.java

@ -5,6 +5,7 @@ import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.StringUtils;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.QuestionFre;
import com.zdxt.knowledge.domain.SceneImportDataModel;
import com.zdxt.knowledge.domain.SceneManage;
@ -76,6 +77,7 @@ public class SceneManageController extends BaseController {
*/
@PostMapping("/listApp")
@ResponseBody
@Applet
public TableDataInfo listApp(@RequestBody SceneManage sceneManage) {
if (StringUtils.isNotNull(sceneManage.getPageNum()) && StringUtils.isNotNull(sceneManage.getPageSize())) {
PageHelper.startPage(sceneManage.getPageNum(), sceneManage.getPageSize());
@ -113,6 +115,7 @@ public class SceneManageController extends BaseController {
*/
@PostMapping("/getQRCode")
@ResponseBody
@Applet
public ZDResponse getQRCode() throws Exception {
return sceneManageService.getQRCode();
}
@ -140,6 +143,7 @@ public class SceneManageController extends BaseController {
/**
* 新增场景
*/
@RequiresPermissions("project:manage:add")
@GetMapping("/add")
public String add() {
return prefix + "/add";
@ -159,6 +163,7 @@ public class SceneManageController extends BaseController {
/**
* 修改
*/
@RequiresPermissions("project:manage:edit")
@GetMapping("/edit/{guid}")
public String edit(@PathVariable("guid") String guid, ModelMap mmap) {
SceneManage sceneManage = sceneManageService.selectSceneManageById(guid);
@ -191,6 +196,7 @@ public class SceneManageController extends BaseController {
/**
* 排序上移
*/
@RequiresPermissions("project:manage:sort")
@GetMapping("/sort/{guid}")
@ResponseBody
public ZDResponse sort(@PathVariable("guid") String guid) {

7
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneMedalController.java

@ -5,6 +5,7 @@ import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.domain.auth.DictData;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.SceneManage;
import com.zdxt.knowledge.domain.SceneMedal;
import com.zdxt.knowledge.service.ISceneManageService;
@ -63,6 +64,7 @@ public class SceneMedalController extends BaseController {
/**
* 成就勋章图标
*/
@RequiresPermissions("project:medal:edit")
@GetMapping("/selected/{guid}")
public String selected(@PathVariable("guid") String guid, ModelMap mmap) {
SceneMedal sceneMedal = sceneMedalService.selectSceneMedalById(guid);
@ -97,6 +99,7 @@ public class SceneMedalController extends BaseController {
*/
@PostMapping("/listAll")
@ResponseBody
@Applet
public ZDResponse listAll(@RequestBody SceneMedal sceneMedal) {
List<SceneMedal> list = sceneMedalService.selectSceneMedalList(sceneMedal);
return ZDResponse.success("成功", list);
@ -107,6 +110,7 @@ public class SceneMedalController extends BaseController {
*/
@PostMapping("/medalInfo")
@ResponseBody
@Applet
public ZDResponse medalInfo(@RequestBody String guid) {
SceneMedal sceneMedal = new SceneMedal();
@ -148,6 +152,7 @@ public class SceneMedalController extends BaseController {
/**
* 新增
*/
@RequiresPermissions("project:medal:add")
@GetMapping("/add/{type}")
public String add(@PathVariable("type") String type, ModelMap mmap) {
List<SceneManage> sceneList = sceneManageService.selectSceneManageListAll(new SceneManage());
@ -170,6 +175,7 @@ public class SceneMedalController extends BaseController {
/**
* 修改
*/
@RequiresPermissions("project:medal:edit")
@GetMapping("/edit/{guid}")
public String edit(@PathVariable("guid") String guid, ModelMap mmap) {
SceneMedal sceneMedal = sceneMedalService.selectSceneMedalById(guid);
@ -203,6 +209,7 @@ public class SceneMedalController extends BaseController {
/**
* 排序上移
*/
@RequiresPermissions("project:medal:sort")
@GetMapping("/sort/{guid}/{type}")
@ResponseBody
public ZDResponse sort(@PathVariable("guid") String guid, @PathVariable("type") String type) {

5
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneMessageController.java

@ -6,6 +6,7 @@ import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.SqlUtil;
import com.zdxt.common.util.StringUtils;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.SceneMessage;
import com.zdxt.knowledge.service.ISceneMessageService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -55,6 +56,7 @@ public class SceneMessageController extends BaseController {
*/
@PostMapping("/listByApp")
@ResponseBody
@Applet
public TableDataInfo listByApp(@RequestBody SceneMessage sceneMessage) {
if (StringUtils.isNotNull(sceneMessage.getPageNum()) && StringUtils.isNotNull(sceneMessage.getPageSize())) {
PageHelper.startPage(sceneMessage.getPageNum(), sceneMessage.getPageSize());
@ -68,6 +70,7 @@ public class SceneMessageController extends BaseController {
*/
@PostMapping("/getById")
@ResponseBody
@Applet
public ZDResponse getById(@RequestBody SceneMessage sceneMessage) {
SceneMessage message = sceneMessageService.selectSceneMessageById(sceneMessage.getGuid());
return ZDResponse.success("成功", message);
@ -87,6 +90,7 @@ public class SceneMessageController extends BaseController {
/**
* 新增
*/
@RequiresPermissions("project:message:add")
@GetMapping("/add")
public String add() {
return prefix + "/add";
@ -106,6 +110,7 @@ public class SceneMessageController extends BaseController {
/**
* 修改
*/
@RequiresPermissions("project:message:edit")
@GetMapping("/edit/{guid}")
public String edit(@PathVariable("guid") String guid, ModelMap mmap) {
SceneMessage sceneMessage = sceneMessageService.selectSceneMessageById(guid);

10
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneQuestionController.java

@ -1,14 +1,12 @@
package com.zdxt.knowledge.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.zdxt.auth.feign.RoleApi;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.SceneManage;
import com.zdxt.knowledge.domain.SceneQuestion;
import com.zdxt.knowledge.domain.SceneRole;
import com.zdxt.knowledge.mapper.SceneManageMapper;
import com.zdxt.knowledge.mapper.SceneRoleMapper;
import com.zdxt.knowledge.service.ISceneQuestionService;
@ -40,8 +38,6 @@ public class SceneQuestionController extends BaseController {
@Autowired
private SceneManageMapper sceneManageMapper;
@Autowired
private SceneRoleMapper sceneRoleMapper;
@Autowired
private RoleApi roleApi;
@ -76,6 +72,7 @@ public class SceneQuestionController extends BaseController {
/**
* 新增场景题目
*/
@RequiresPermissions("project:question:add")
@GetMapping("/add")
public String add(@RequestParam("parentId") String parentId, ModelMap mmap) {
mmap.put("parentId", parentId);
@ -96,6 +93,7 @@ public class SceneQuestionController extends BaseController {
/**
* 修改场景题目
*/
@RequiresPermissions("project:question:edit")
@GetMapping("/edit/{guid}")
public String edit(@PathVariable("guid") String guid, ModelMap mmap) {
SceneQuestion sceneQuestion = sceneQuestionService.selectSceneQuestionById(guid);
@ -175,6 +173,7 @@ public class SceneQuestionController extends BaseController {
/**
* 新增场景题目
*/
@RequiresPermissions("project:question:add")
@GetMapping("/addNew")
public String addNew(@RequestParam("guid") String guid, @RequestParam("parentId") String parentId, ModelMap mmap) {
SceneQuestion sceneQuestion = sceneQuestionService.selectSceneQuestionById(guid);
@ -209,6 +208,7 @@ public class SceneQuestionController extends BaseController {
@PostMapping("/getBindJsonApp")
@ResponseBody
@Applet
public ZDResponse getBindJsonApp(@RequestBody String guid) {
List<Map<String, Object>> list = sceneQuestionService.selectQuestionTree(guid);
return ZDResponse.success("成功", list);

2
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneRoleController.java

@ -3,6 +3,7 @@ package com.zdxt.knowledge.controller;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.SceneRole;
import com.zdxt.knowledge.service.ISceneRoleService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -51,6 +52,7 @@ public class SceneRoleController extends BaseController {
*/
@PostMapping("/listAll")
@ResponseBody
@Applet
public ZDResponse listAll(@RequestBody SceneRole sceneRole) {
List<SceneRole> list = sceneRoleService.selectSceneRoleList(sceneRole);
return ZDResponse.success("成功", list);

5
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneTabController.java

@ -3,6 +3,7 @@ package com.zdxt.knowledge.controller;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.SceneTab;
import com.zdxt.knowledge.service.ISceneTabService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -54,6 +55,7 @@ public class SceneTabController extends BaseController {
*/
@PostMapping("/listByApp")
@ResponseBody
@Applet
public ZDResponse listByApp(@RequestBody SceneTab sceneTab) {
List<SceneTab> list = sceneTabService.selectSceneTabList(sceneTab);
return ZDResponse.success("成功", list);
@ -64,6 +66,7 @@ public class SceneTabController extends BaseController {
*/
@PostMapping("/listAll")
@ResponseBody
@Applet
public ZDResponse listAll(@RequestBody SceneTab sceneTab) {
List<SceneTab> list = sceneTabService.selectSceneTabListAll(sceneTab);
return ZDResponse.success("成功", list);
@ -111,6 +114,7 @@ public class SceneTabController extends BaseController {
/**
* 选中
*/
@RequiresPermissions("project:tab:edit")
@GetMapping("/selected/{guid}")
public String selected(@PathVariable("guid") String guid, ModelMap mmap) {
SceneTab sceneTab = sceneTabService.selectSceneTabById(guid);
@ -153,6 +157,7 @@ public class SceneTabController extends BaseController {
/**
* 排序上移
*/
@RequiresPermissions("project:tab:edit")
@GetMapping("/sort/{guid}")
@ResponseBody
public ZDResponse sort(@PathVariable("guid") String guid) {

2
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneTextController.java

@ -3,6 +3,7 @@ package com.zdxt.knowledge.controller;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.SceneText;
import com.zdxt.knowledge.service.ISceneTextService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -52,6 +53,7 @@ public class SceneTextController extends BaseController {
*/
@PostMapping("/listAll")
@ResponseBody
@Applet
public ZDResponse listAll(@RequestBody SceneText sceneText) {
List<SceneText> list = sceneTextService.selectSceneTextList(sceneText);
return ZDResponse.success("成功", list);

3
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/UserAddressController.java

@ -3,6 +3,7 @@ package com.zdxt.knowledge.controller;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.UserAddress;
import com.zdxt.knowledge.service.IUserAddressService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -53,6 +54,7 @@ public class UserAddressController extends BaseController {
*/
@PostMapping("/listAll")
@ResponseBody
@Applet
public ZDResponse listAll(@RequestBody UserAddress userAddress) {
List<UserAddress> list = userAddressService.selectUserAddressList(userAddress);
return ZDResponse.success("成功", list);
@ -83,6 +85,7 @@ public class UserAddressController extends BaseController {
//@RequiresPermissions("project:address:add")
@PostMapping("/add")
@ResponseBody
@Applet
public ZDResponse addSave(@RequestBody UserAddress userAddress) {
return userAddressService.insertUserAddress(userAddress) > 0
? ZDResponse.success() : ZDResponse.error("新增失败");

3
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/UserFeedbackController.java

@ -3,6 +3,7 @@ package com.zdxt.knowledge.controller;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.UserFeedback;
import com.zdxt.knowledge.service.IUserFeedbackService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -52,6 +53,7 @@ public class UserFeedbackController extends BaseController {
*/
@PostMapping("/listAll")
@ResponseBody
@Applet
public ZDResponse listAll(@RequestBody UserFeedback userFeedback) {
List<UserFeedback> list = userFeedbackService.selectUserFeedbackList(userFeedback);
return ZDResponse.success("成功", list);
@ -73,6 +75,7 @@ public class UserFeedbackController extends BaseController {
*/
@PostMapping("/add")
@ResponseBody
@Applet
public ZDResponse addSave(@RequestBody UserFeedback userFeedback) {
return userFeedbackService.insertUserFeedback(userFeedback) > 0
? ZDResponse.success() : ZDResponse.error("新增失败");

5
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/WechatLoginController.java

@ -4,6 +4,7 @@ import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.common.util.StringUtils;
import com.zdxt.common.util.TableDataInfo;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.SceneMedal;
import com.zdxt.knowledge.domain.WechatLoginRequest;
import com.zdxt.knowledge.domain.WechatUser;
@ -79,6 +80,7 @@ public class WechatLoginController extends BaseController {
@PostMapping("/getActiveStatus")
@ResponseBody
@Applet
public ZDResponse getActiveStatus(@RequestBody WechatUser wechatUser) {
WechatUser user = wechatService.selectUserById(wechatUser.getGuid());
return ZDResponse.success("成功", user);
@ -86,6 +88,7 @@ public class WechatLoginController extends BaseController {
@PostMapping("/editActiveStatus")
@ResponseBody
@Applet
public ZDResponse editActiveStatus(@RequestBody WechatUser wechatUser) {
return wechatService.update(wechatUser) > 0
? ZDResponse.success() : ZDResponse.error("编辑失败");
@ -119,6 +122,7 @@ public class WechatLoginController extends BaseController {
*/
@PostMapping("/editUserMedal")
@ResponseBody
@Applet
public ZDResponse editUserMedal(@RequestBody WechatUser wechatUser) {
// 先通过场景id获取到相关联的勋章id
String medalId = wechatUser.getMedal();
@ -162,6 +166,7 @@ public class WechatLoginController extends BaseController {
*/
@PostMapping("/showMyMedal")
@ResponseBody
@Applet
public ZDResponse showMyMedal(@RequestBody WechatUser wechatUser) {
return wechatService.showMyMedal(wechatUser);
}

6
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/jwt/JwtClaimsConstant.java

@ -0,0 +1,6 @@
package com.zdxt.knowledge.jwt;
public class JwtClaimsConstant {
public static final String USER_ID = "JWT_CLAIMS_USER_IDENTITY";
}

20
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/jwt/JwtProperties.java

@ -0,0 +1,20 @@
package com.zdxt.knowledge.jwt;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "wechat.jwt")
@Data
public class JwtProperties {
/**
* 用户端微信用户生成jwt令牌相关配置
*/
private String userSecretKey;
private long userTtl;
private String userTokenName;
}

76
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/jwt/JwtTokenUserInterceptor.java

@ -0,0 +1,76 @@
package com.zdxt.knowledge.jwt;
import com.zdxt.knowledge.annotation.Applet;
import com.zdxt.knowledge.domain.WechatUser;
import com.zdxt.knowledge.mapper.WechatLoginMapper;
import io.jsonwebtoken.Claims;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Objects;
/**
* jwt令牌校验的拦截器
*/
@Component
@Slf4j
public class JwtTokenUserInterceptor implements HandlerInterceptor {
@Autowired
private JwtProperties jwtProperties;
@Autowired
private WechatLoginMapper wechatLoginMapper;
/**
* 校验jwt
*
* @param request
* @param response
* @param handler
* @return
* @throws Exception
*/
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//判断当前拦截到的是Controller的方法还是其他资源
if (!(handler instanceof HandlerMethod)) {
//当前拦截到的不是动态方法,直接放行
return true;
}
//只校验小程序的接口,如果不是小程序调用的接口放行
Applet annotation = ((HandlerMethod) handler)
.getMethodAnnotation(Applet.class);
if (annotation == null) {
return true;
}
//1、从请求头中获取令牌
String token = request.getHeader(jwtProperties.getUserTokenName());
//2、校验令牌
try {
log.info("jwt校验:{}", token);
Claims claims = JwtUtil.parseJWT(jwtProperties.getUserSecretKey(), token);
String userId = claims.get(JwtClaimsConstant.USER_ID).toString();
log.info("当前用户id:", userId);
WechatUser wechatUser = wechatLoginMapper.selectUserById(userId);
if (Objects.nonNull(wechatUser)) {
return true;
}
return false;
} catch (Exception ex) {
//4、不通过,响应401状态码
response.setStatus(401);
throw new RuntimeException("非法调用");
}
}
}

59
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/jwt/JwtUtil.java

@ -0,0 +1,59 @@
package com.zdxt.knowledge.jwt;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.Map;
public class JwtUtil {
/**
* 生成jwt
* 使用Hs256算法, 私匙使用固定秘钥
*
* @param secretKey jwt秘钥
* @param ttlMillis jwt过期时间(毫秒)
* @param claims 设置的信息
* @return
*/
public static String createJWT(String secretKey, long ttlMillis, Map<String, Object> claims) {
// 指定签名的时候使用的签名算法,也就是header那部分
SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;
// 生成JWT的时间
long expMillis = System.currentTimeMillis() + ttlMillis;
Date exp = new Date(expMillis);
// 设置jwt的body
JwtBuilder builder = Jwts.builder()
// 如果有私有声明,一定要先设置这个自己创建的私有的声明,这个是给builder的claim赋值,一旦写在标准的声明赋值之后,就是覆盖了那些标准的声明的
.setClaims(claims)
// 设置签名使用的签名算法和签名使用的秘钥
.signWith(signatureAlgorithm, secretKey.getBytes(StandardCharsets.UTF_8))
// 设置过期时间
.setExpiration(exp);
return builder.compact();
}
/**
* Token解密
*
* @param secretKey jwt秘钥 此秘钥一定要保留好在服务端, 不能暴露出去, 否则sign就可以被伪造, 如果对接多个客户端建议改造成多个
* @param token 加密后的token
* @return
*/
public static Claims parseJWT(String secretKey, String token) {
// 得到DefaultJwtParser
Claims claims = Jwts.parser()
// 设置签名的秘钥
.setSigningKey(secretKey.getBytes(StandardCharsets.UTF_8))
// 设置需要解析的jwt
.parseClaimsJws(token).getBody();
return claims;
}
}

39
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/jwt/WebMvcConfiguration.java

@ -0,0 +1,39 @@
package com.zdxt.knowledge.jwt;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* 配置类注册web层相关组件
*/
@Configuration
@Slf4j
public class WebMvcConfiguration implements WebMvcConfigurer {
@Autowired
private JwtTokenUserInterceptor jwtTokenUserInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new JwtTokenUserInterceptor())
.addPathPatterns("/small/**")
.excludePathPatterns("/small/wechat/login");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/")
.addResourceLocations("classpath:/static/")
.addResourceLocations("classpath:/config/")
.addResourceLocations("classpath:/excel/")
.addResourceLocations("classpath:/font/")
.addResourceLocations("classpath:/template/")
.addResourceLocations("classpath:/templates/");
}
}

6
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/SceneTextServiceImpl.java

@ -63,6 +63,9 @@ public class SceneTextServiceImpl implements ISceneTextService {
sceneText.setCreator(userBean.getUserName());
sceneText.setCreateTime(DateUtils.getNowDate());
}
if (StringUtils.isNotEmpty(sceneText.getContent()) && sceneText.getContent().length()>10000) {
return -1;
}
sceneText.setGuid(StringUtils.getUUID());
return sceneTextMapper.insertSceneText(sceneText);
}
@ -75,6 +78,9 @@ public class SceneTextServiceImpl implements ISceneTextService {
*/
@Override
public int updateSceneText(SceneText sceneText) {
if (StringUtils.isNotEmpty(sceneText.getContent()) && sceneText.getContent().length()>10000) {
return -1;
}
return sceneTextMapper.updateSceneText(sceneText);
}

22
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/WechatServiceImpl.java

@ -7,6 +7,9 @@ import com.zdxt.common.ZDResponse;
import com.zdxt.common.util.Convert;
import com.zdxt.common.util.StringUtils;
import com.zdxt.knowledge.domain.*;
import com.zdxt.knowledge.jwt.JwtClaimsConstant;
import com.zdxt.knowledge.jwt.JwtProperties;
import com.zdxt.knowledge.jwt.JwtUtil;
import com.zdxt.knowledge.mapper.SceneMedalMapper;
import com.zdxt.knowledge.mapper.WechatLoginMapper;
import com.zdxt.knowledge.service.WechatService;
@ -44,6 +47,9 @@ public class WechatServiceImpl implements WechatService {
@Autowired
private WechatProperties wechatProperties;
@Autowired
private JwtProperties jwtProperties;
@Override
public List<WechatUser> selectList(WechatUser wechatUser) {
@ -91,24 +97,24 @@ public class WechatServiceImpl implements WechatService {
if (user == null) {
// 用户不存在,insert用户,这里加了个分布式锁,防止insert重复用户
// if (setLock(WechatRedisPrefixConstant.INSERT_USER_DISTRIBUTED_LOCK_PREFIX + openId, "1", 10)) {
// // 用户入库
// insertOrUpdateDO.setToken(getToken());
// wechatLoginMapper.insertUser(insertOrUpdateDO);
// userInfoMap.put("token", insertOrUpdateDO.getToken());
// }
insertOrUpdateDO.setGuid(StringUtils.getUUID());
insertOrUpdateDO.setCreator("SYSTEM");
insertOrUpdateDO.setToken(getToken(insertOrUpdateDO.getGuid(), insertOrUpdateDO.getNickname()));
wechatLoginMapper.insertUser(insertOrUpdateDO);
userInfoMap.put("token", openId);
userInfoMap.put("openId", openId);
userInfoMap.put("userId", insertOrUpdateDO.getGuid());
} else {
userInfoMap.put("token", openId);
userInfoMap.put("openId", openId);
userInfoMap.put("userId", user.getGuid());
// 已存在,做已存在的处理,如更新用户的头像,昵称等,根据openID更新
//wechatLoginMapper.updateByOpenId(insertOrUpdateDO);
}
// 为微信用户生成jwt令牌
Map<String, Object> claims = new HashMap<>();
claims.put(JwtClaimsConstant.USER_ID, userInfoMap.get("userId"));
// JwtProperties与application中的配置相关联,然后通过注入的方式间接的拿到配置文件中添加的属性值
String token = JwtUtil.createJWT(jwtProperties.getUserSecretKey(), jwtProperties.getUserTtl(), claims);
userInfoMap.put("token", token);
return userInfoMap;
}

Loading…
Cancel
Save