Commit 75109fcd authored by 姬鋆屾's avatar 姬鋆屾
parents dad70983 7dd5af8b
...@@ -91,9 +91,16 @@ export default { ...@@ -91,9 +91,16 @@ export default {
// { label: "创建用户", prop: "createUserId", formatter: this.formatter }, // { label: "创建用户", prop: "createUserId", formatter: this.formatter },
{ {
label: "状态", prop: "processStatus", formatter: (row) => { label: "状态", prop: "processStatus", formatter: (row) => {
let str="未开始"
if(row.processStatus==1){
str="进行中"
}else if (row.processStatus==2){
str="已结束"
}
return ( return (
<el-tag type={row.processStatus ? row.processStatus = 1 ? 'success' : 'info' : 'danger'} size="small"> <el-tag type={row.processStatus ? row.processStatus == 2 ? 'success' : 'info' : 'danger'} size="small">
{row.processStatus ? row.processStatus = 1 ? '进行中' : '已结束' : '未开始'} {str}
</el-tag> </el-tag>
) )
} }
......
...@@ -71,6 +71,8 @@ ...@@ -71,6 +71,8 @@
<profiles.dingtalk.agentId>2652674890</profiles.dingtalk.agentId> <profiles.dingtalk.agentId>2652674890</profiles.dingtalk.agentId>
<profiles.dingtalk.appKey>dingpqzradgfr4efdi2j</profiles.dingtalk.appKey> <profiles.dingtalk.appKey>dingpqzradgfr4efdi2j</profiles.dingtalk.appKey>
<profiles.dingtalk.appSecret>bF2WALmo5_Wuj3hg5gXeWqezrYnZChUJ88HjzNWpkA9ivdOxfBDGOGYcfVRfB3vd</profiles.dingtalk.appSecret> <profiles.dingtalk.appSecret>bF2WALmo5_Wuj3hg5gXeWqezrYnZChUJ88HjzNWpkA9ivdOxfBDGOGYcfVRfB3vd</profiles.dingtalk.appSecret>
<profiles.dingtalk.aesKey>1QcPYuSpAc98OS3qQwwx5HPH85CZDidxF95yBGad2fJ</profiles.dingtalk.aesKey>
<profiles.dingtalk.token>m3WeuVx5kcTY76kh22uWZOTSu0XjvcwNhd</profiles.dingtalk.token>
<profiles.webUrl>http://8.136.255.30:11039/attendance</profiles.webUrl> <profiles.webUrl>http://8.136.255.30:11039/attendance</profiles.webUrl>
<package.environment>test</package.environment> <package.environment>test</package.environment>
<skipUi>false</skipUi> <skipUi>false</skipUi>
...@@ -99,6 +101,8 @@ ...@@ -99,6 +101,8 @@
<profiles.dingtalk.agentId>2652674890</profiles.dingtalk.agentId> <profiles.dingtalk.agentId>2652674890</profiles.dingtalk.agentId>
<profiles.dingtalk.appKey>dingpqzradgfr4efdi2j</profiles.dingtalk.appKey> <profiles.dingtalk.appKey>dingpqzradgfr4efdi2j</profiles.dingtalk.appKey>
<profiles.dingtalk.appSecret>bF2WALmo5_Wuj3hg5gXeWqezrYnZChUJ88HjzNWpkA9ivdOxfBDGOGYcfVRfB3vd</profiles.dingtalk.appSecret> <profiles.dingtalk.appSecret>bF2WALmo5_Wuj3hg5gXeWqezrYnZChUJ88HjzNWpkA9ivdOxfBDGOGYcfVRfB3vd</profiles.dingtalk.appSecret>
<profiles.dingtalk.aesKey>1QcPYuSpAc98OS3qQwwx5HPH85CZDidxF95yBGad2fJ</profiles.dingtalk.aesKey>
<profiles.dingtalk.token>m3WeuVx5kcTY76kh22uWZOTSu0XjvcwNhd</profiles.dingtalk.token>
<profiles.webUrl>https://ybswxxcx.zwfwhfgjjfzj.yibin.gov.cn/performance-h5</profiles.webUrl> <profiles.webUrl>https://ybswxxcx.zwfwhfgjjfzj.yibin.gov.cn/performance-h5</profiles.webUrl>
<package.environment>build</package.environment> <package.environment>build</package.environment>
<skipUi>false</skipUi> <skipUi>false</skipUi>
......
...@@ -17,6 +17,7 @@ import com.mortals.xhx.base.system.user.service.UserService; ...@@ -17,6 +17,7 @@ import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.module.hik.face.model.req.img.ImgReq; import com.mortals.xhx.module.hik.face.model.req.img.ImgReq;
import com.mortals.xhx.module.hik.face.service.IHikFaceService; import com.mortals.xhx.module.hik.face.service.IHikFaceService;
import com.mortals.xhx.module.perform.service.PerformPerposeStaffService;
import com.mortals.xhx.module.staff.model.StaffEntity; import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.model.StaffQuery; import com.mortals.xhx.module.staff.model.StaffQuery;
import com.mortals.xhx.module.staff.service.StaffService; import com.mortals.xhx.module.staff.service.StaffService;
...@@ -62,6 +63,9 @@ public class TestController { ...@@ -62,6 +63,9 @@ public class TestController {
@Autowired @Autowired
private UploadService uploadService; private UploadService uploadService;
@Autowired
private PerformPerposeStaffService performPerposeStaffService;
// @GetMapping("webservice")@GetMapping("idGens") // @GetMapping("webservice")@GetMapping("idGens")
// public String idGens() { // public String idGens() {
...@@ -207,11 +211,12 @@ public class TestController { ...@@ -207,11 +211,12 @@ public class TestController {
/** /**
* 生成模拟数据 * 生成模拟数据
* mortals_xhx_perform_perpose_staff_stat
* @return * @return
*/ */
@GetMapping("randomStatData") @GetMapping("randomStatPerposeStaffData")
@UnAuth @UnAuth
public Rest<Void> randomMockStatData() { public Rest<Void> randomStatPerposeStaffData() {
return Rest.ok(); return Rest.ok();
......
...@@ -10,7 +10,7 @@ import com.mortals.framework.model.PageInfo; ...@@ -10,7 +10,7 @@ import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result; import com.mortals.framework.model.Result;
import com.mortals.xhx.busiz.h5.req.FeedbackReq; import com.mortals.xhx.busiz.h5.req.FeedbackReq;
import com.mortals.xhx.busiz.h5.req.FeedbackSaveReq; import com.mortals.xhx.busiz.h5.req.FeedbackSaveReq;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.*;
import com.mortals.xhx.module.feedback.model.*; import com.mortals.xhx.module.feedback.model.*;
import com.mortals.xhx.module.feedback.service.FeedbackAnswerService; import com.mortals.xhx.module.feedback.service.FeedbackAnswerService;
import com.mortals.xhx.module.feedback.service.FeedbackService; import com.mortals.xhx.module.feedback.service.FeedbackService;
...@@ -48,6 +48,12 @@ public class FeedbackApiController extends AbstractBaseController<FeedbackReq> { ...@@ -48,6 +48,12 @@ public class FeedbackApiController extends AbstractBaseController<FeedbackReq> {
@Autowired @Autowired
private FeedbackAnswerService answerService; private FeedbackAnswerService answerService;
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "processStatus", FeedProcessStatusEnum.getEnumMap());
}
/** /**
* 反馈列表 * 反馈列表
*/ */
...@@ -137,6 +143,7 @@ public class FeedbackApiController extends AbstractBaseController<FeedbackReq> { ...@@ -137,6 +143,7 @@ public class FeedbackApiController extends AbstractBaseController<FeedbackReq> {
} }
} }
} }
this.init(model, context);
rest.setData(model); rest.setData(model);
recordSysLog(request, busiDesc + " 【成功】"); recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) { } catch (Exception e) {
......
...@@ -174,7 +174,7 @@ public class InspectApiController extends AbstractBaseController<PerformReq> { ...@@ -174,7 +174,7 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item)); BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item));
if (CheckStatusEnum.未处理.getValue() == item.getCheckStatus()) { if (CheckStatusEnum.未处理.getValue() == item.getCheckStatus()) {
performInfo.setResult(CheckStatusEnum.未处理.getDesc()); performInfo.setResult("待处理");
} else { } else {
performInfo.setResult(item.getCheckResult()); performInfo.setResult(item.getCheckResult());
} }
...@@ -194,7 +194,7 @@ public class InspectApiController extends AbstractBaseController<PerformReq> { ...@@ -194,7 +194,7 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item)); BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item));
if (CheckStatusEnum.未处理.getValue() == item.getCheckStatus()) { if (CheckStatusEnum.未处理.getValue() == item.getCheckStatus()) {
performInfo.setResult(CheckStatusEnum.未处理.getDesc()); performInfo.setResult("待处理");
} else { } else {
performInfo.setResult(item.getCheckResult()); performInfo.setResult(item.getCheckResult());
} }
...@@ -213,7 +213,7 @@ public class InspectApiController extends AbstractBaseController<PerformReq> { ...@@ -213,7 +213,7 @@ public class InspectApiController extends AbstractBaseController<PerformReq> {
BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item)); BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item));
if (CheckStatusEnum.未处理.getValue() == item.getCheckStatus()) { if (CheckStatusEnum.未处理.getValue() == item.getCheckStatus()) {
performInfo.setResult(CheckStatusEnum.未处理.getDesc()); performInfo.setResult("待处理");
} else { } else {
performInfo.setResult(item.getCheckResult()); performInfo.setResult(item.getCheckResult());
} }
......
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 处理状态(1.未处理,2.已处理)枚举类
*
* @author zxfei
*/
public enum FeedProcessStatusEnum {
未开始(0, "未开始"),
进行中(1, "进行中"),
已完成(2, "已完成");
private Integer value;
private String desc;
FeedProcessStatusEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static FeedProcessStatusEnum getByValue(Integer value) {
for (FeedProcessStatusEnum checkStatusEnum : FeedProcessStatusEnum.values()) {
if (checkStatusEnum.getValue() == value) {
return checkStatusEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (FeedProcessStatusEnum item : FeedProcessStatusEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.module.attendance.dingmsg.api;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiGettokenRequest;
import com.dingtalk.api.response.OapiGettokenResponse;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.exception.AppException;
import com.mortals.xhx.common.pdu.ApiRespPdu;
import com.mortals.xhx.module.attendance.dingmsg.DingCallbackCrypto;
import com.mortals.xhx.module.attendance.dingmsg.dingmsgreq.DingResponsMeassageReq;
import com.mortals.xhx.module.attendance.dingmsg.dingmsgreq.EncryptReq;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.logging.Log;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
*
* 接收钉钉的审批消息推送
*
* @author ZYW
* @date 2023-07-18 9:52
*/
@RestController
@Slf4j
public class DingMessageController {
/**
* appKey
*/
@Value("${dingtalk.AppKey:''}")
protected String appKey;
/**
* aesKey
*/
@Value("${dingtalk.AesKey:''}")
protected String aesKey;
/**
* 订阅消息token
*/
@Value("${dingtalk.token:''}")
protected String token;
/**
* 接收钉钉消息
*
* @return
*/
@PostMapping("/dingtalk/getOaMeassge")
@UnAuth
public Map<String, String> getOaMessage(@RequestParam(value = "msg_signature", required = false) String msg_signature,
@RequestParam(value = "timestamp", required = false) String timeStamp,
@RequestParam(value = "nonce", required = false) String nonce,
@RequestBody(required = false) JSONObject json) throws DingCallbackCrypto.DingTalkEncryptException {
try {
// 1. 从http请求中获取加解密参数
// 2. 使用加解密类型
// Constant.OWNER_KEY 说明:
// 1、开发者后台配置的订阅事件为应用级事件推送,此时OWNER_KEY为应用的APP_KEY。
// 2、调用订阅事件接口订阅的事件为企业级事件推送,
// 此时OWNER_KEY为:企业的appkey(企业内部应用)或SUITE_KEY(三方应用)
DingCallbackCrypto callbackCrypto = new DingCallbackCrypto(token, aesKey, appKey);
String encryptMsg = json.getString("encrypt");
String decryptMsg = callbackCrypto.getDecryptMsg(msg_signature, timeStamp, nonce, encryptMsg);
// 3. 反序列化回调事件json数据
JSONObject eventJson = JSON.parseObject(decryptMsg);
String eventType = eventJson.getString("EventType");
// 4. 根据EventType分类处理
if ("check_url".equals(eventType)) {
// 测试回调url的正确性
log.info("测试回调url的正确性");
} else if ("user_add_org".equals(eventType)) {
// 处理通讯录用户增加事件
log.info("发生了:" + eventType + "事件");
} else {
// 添加其他已注册的
log.info("发生了:" + eventType + "事件");
}
// 5. 返回success的加密数据
Map<String, String> successMap = callbackCrypto.getEncryptedMap("success");
return successMap;
} catch (DingCallbackCrypto.DingTalkEncryptException e) {
e.printStackTrace();
}
return null;
}
}
package com.mortals.xhx.module.attendance.dingmsg.dingmsgreq;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author ZYW
* @date 2023-07-18 10:20
*/
@NoArgsConstructor
@Data
public class DingResponsMeassageReq {
@JsonProperty("msg_signature")
private String msgSignature;
@JsonProperty("timeStamp")
private String timeStamp;
@JsonProperty("nonce")
private String nonce;
@JsonProperty("encrypt")
private String encrypt;
}
package com.mortals.xhx.module.attendance.dingmsg.dingmsgreq;
/**
* @author ZYW
* @date 2023-07-18 10:14
*/
public class EncryptReq {
String encrypt;
public String getEncrypt() {
return encrypt;
}
public void setEncrypt(String encrypt) {
this.encrypt = encrypt;
}
}
...@@ -40,8 +40,17 @@ public class FeedbackServiceImpl extends AbstractCRUDServiceImpl<FeedbackDao, Fe ...@@ -40,8 +40,17 @@ public class FeedbackServiceImpl extends AbstractCRUDServiceImpl<FeedbackDao, Fe
private FeedbackStaffService feedbackStaffService; private FeedbackStaffService feedbackStaffService;
@Override
protected void findAfter(FeedbackEntity params, PageInfo pageInfo, Context context, List<FeedbackEntity> list) throws AppException {
updateProcessStatus(list);
}
@Override @Override
protected void findAfter(FeedbackEntity entity, Context context, List<FeedbackEntity> list) throws AppException { protected void findAfter(FeedbackEntity entity, Context context, List<FeedbackEntity> list) throws AppException {
updateProcessStatus(list);
}
private static void updateProcessStatus(List<FeedbackEntity> list) {
list.stream().forEach(item->{ list.stream().forEach(item->{
Date feedbackTimeStart = item.getFeedbackTimeStart(); Date feedbackTimeStart = item.getFeedbackTimeStart();
Date feedbackTimeEnd = item.getFeedbackTimeEnd(); Date feedbackTimeEnd = item.getFeedbackTimeEnd();
......
...@@ -72,5 +72,7 @@ dingtalk: ...@@ -72,5 +72,7 @@ dingtalk:
agentId: @profiles.dingtalk.agentId@ agentId: @profiles.dingtalk.agentId@
AppKey: @profiles.dingtalk.appKey@ AppKey: @profiles.dingtalk.appKey@
AppSecret: @profiles.dingtalk.appSecret@ AppSecret: @profiles.dingtalk.appSecret@
webUrl: @profiles.webUrl@ webUrl: @profiles.webUrl@
AesKey: @profiles.dingtalk.aesKey@
token: @profiles.dingtalk.token@
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment