Browse Source

勋章逻辑

master
yanyan 3 years ago
parent
commit
edaf0b7d06
  1. 10
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/medal/add.html
  2. 3
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/medal/edit.html
  3. 6
      lib/EmergencyService/zdxtEmergencyKnowledgeService/pom.xml
  4. 45
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/controller/SceneMedalController.java
  5. 10
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/SceneMedal.java
  6. 2
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/WechatService.java
  7. 12
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/impl/WechatServiceImpl.java
  8. 2
      lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/SceneMedalMapper.xml

10
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/medal/add.html

@ -40,12 +40,21 @@
</div>
</div>
</div>
<div class="row" hidden>
<div class="form-group">
<label class="col-sm-2 control-label is-required">类型:</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="type" id="type" required>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group" hidden>
<label class="col-sm-4 control-label is-required">场景:</label>
<div class="col-sm-8">
<select id="scene" class="form-control select2-multiple">
<option value="">下拉选择</option>
<option th:each="scene:${sceneList}" th:value="${scene.guid}" th:text="${scene.name}"
th:disabled="${scene.status == '1'}"></option>
</select>
@ -71,6 +80,7 @@
<script type="text/javascript" th:inline="javascript">
var prefix = ctx + "small/project/medal"
var type = [[${type}]];
$("#type").val(type);
if (type === "1") {
$("#scene").parent().parent().show();
$("#level").parent().parent().hide();

3
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/medal/edit.html

@ -19,6 +19,7 @@
<label class="col-sm-3 control-label">场景:</label>
<div class="col-sm-8">
<select id="scene" class="form-control select2-multiple">
<option value="">下拉选择</option>
<option th:each="scene:${sceneList}" th:value="${scene.guid}" th:text="${scene.name}" th:selected="${scene.guid == sceneMedal.sceneId}" th:disabled="${scene.status == '1'}"></option>
</select>
</div>
@ -32,7 +33,7 @@
<div class="form-group">
<label class="col-sm-3 control-label">是否启用:</label>
<div class="col-sm-8">
<select name="hide" class="form-control">
<select name="hide" class="form-control" th:field="*{hide}">
<option value="1"></option>
<option value="0"></option>
</select>

6
lib/EmergencyService/zdxtEmergencyKnowledgeService/pom.xml

@ -47,6 +47,12 @@
<artifactId>javase</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>EmergencyService</groupId>
<artifactId>zdxtEmergencyAuthService</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

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

@ -1,12 +1,16 @@
package com.zdxt.knowledge.controller;
import com.zdxt.auth.project.system.dict.service.IDictDataService;
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.domain.SceneManage;
import com.zdxt.knowledge.domain.SceneMedal;
import com.zdxt.knowledge.service.ISceneManageService;
import com.zdxt.knowledge.service.ISceneMedalService;
import com.zdxt.knowledge.service.WechatService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@ -16,6 +20,9 @@ import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -34,6 +41,12 @@ public class SceneMedalController extends BaseController {
@Autowired
private ISceneManageService sceneManageService;
@Autowired
private IDictDataService dictDataService;
@Autowired
private WechatService wechatService;
@RequiresPermissions("project:medal:view")
@GetMapping("/view")
public String manage() {
@ -85,12 +98,40 @@ public class SceneMedalController extends BaseController {
@PostMapping("/listAll")
@ResponseBody
public ZDResponse listAll(@RequestBody SceneMedal sceneMedal) {
// WechatUser wu = wechatService.selectUserById(sceneMedal.getCreator());
// List<SceneMedal> list = sceneMedalService.selectSceneMedalByIds(wu.getMedal());
List<SceneMedal> list = sceneMedalService.selectSceneMedalList(sceneMedal);
return ZDResponse.success("成功", list);
}
/**
* 勋章详情页
*/
@PostMapping("/medalInfo")
@ResponseBody
public ZDResponse medalInfo(@RequestBody String guid) {
SceneMedal sceneMedal = new SceneMedal();
sceneMedal.setHide(1);
List<SceneMedal> medalList = sceneMedalService.selectSceneMedalList(sceneMedal);
List<DictData> dictList = dictDataService.selectDictDataByType("medal_type");
Map<String, String> myMedalMap = wechatService.MyMedal(guid);
if (CollectionUtils.isNotEmpty(medalList) && CollectionUtils.isNotEmpty(dictList)) {
Map<String, String> dictMap = dictList.stream()
.collect(Collectors.toMap(DictData::getDictValue, DictData::getDictLabel));
Map<String, List<SceneMedal>> collect = medalList.stream()
.filter(item -> Objects.nonNull(item.getType()))
.peek(item -> {
item.setType(dictMap.get(item.getType()));
item.setGain(myMedalMap.get(item.getGuid()) != null);
})
.collect(Collectors.groupingBy(SceneMedal::getType));
return ZDResponse.success("成功", collect);
}
return ZDResponse.success("成功", null);
}
/**
* 查看详情
*/

10
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/domain/SceneMedal.java

@ -73,6 +73,8 @@ public class SceneMedal implements Serializable {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
private boolean gain;
/**
* 请求参数
*/
@ -173,4 +175,12 @@ public class SceneMedal implements Serializable {
public void setAchieveIconPath(String achieveIconPath) {
this.achieveIconPath = achieveIconPath;
}
public boolean isGain() {
return gain;
}
public void setGain(boolean gain) {
this.gain = gain;
}
}

2
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/java/com/zdxt/knowledge/service/WechatService.java

@ -30,4 +30,6 @@ public interface WechatService {
Map<String, Object> getUserInfoMap(WechatLoginRequest loginRequest) throws Exception;
ZDResponse showMyMedal(WechatUser wechatUser);
Map<String, String> MyMedal(String guid);
}

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

@ -26,6 +26,7 @@ import javax.crypto.spec.SecretKeySpec;
import java.security.AlgorithmParameters;
import java.security.Security;
import java.util.*;
import java.util.stream.Collectors;
/**
* Service业务层处理
@ -122,6 +123,17 @@ public class WechatServiceImpl implements WechatService {
return ZDResponse.success("成功", new ArrayList<>());
}
@Override
public Map<String, String> MyMedal(String guid) {
Map<String, String> myMedalMap = new HashMap<>();
WechatUser user = wechatLoginMapper.selectUserById(guid);
if (Objects.nonNull(user) && Objects.nonNull(user.getMedal())) {
List<SceneMedal> sceneMedals = sceneMedalMapper.selectSceneMedalByIds(Convert.toStrArray(user.getMedal()));
myMedalMap = sceneMedals.stream().collect(Collectors.toMap(SceneMedal::getGuid, SceneMedal::getName));
}
return myMedalMap;
}
private JSONObject getSessionKeyOrOpenId(String code) throws Exception {
Map<String, String> requestUrlParam = new HashMap<>();

2
lib/EmergencyService/zdxtEmergencyKnowledgeService/src/main/resources/mapper/SceneMedalMapper.xml

@ -37,9 +37,9 @@
<select id="selectSceneMedalList" parameterType="SceneMedal" resultMap="SceneMedalResult">
<include refid="selectSceneMedalVo"/>
<where>
and hide = 1
<if test="name != null and name != ''">and name like concat('%', #{name}, '%')</if>
<if test="type != null and type != ''">and type = #{type}</if>
<if test="hide != null and hide != ''">and hide = #{hide}</if>
<if test="creator != null and creator != ''">and creator = #{creator}</if>
<if test="sceneId != null and sceneId != ''">and scene_id = #{sceneId}</if>
</where>

Loading…
Cancel
Save