Commit d39ee130 authored by 王晓旭's avatar 王晓旭
parents 06bc7e0e af27b65d
...@@ -242,3 +242,107 @@ UPDATE mortals_sys_skin_base SET imageResolution="1280x1280" WHERE imageResoluti ...@@ -242,3 +242,107 @@ UPDATE mortals_sys_skin_base SET imageResolution="1280x1280" WHERE imageResoluti
2024-03-08 2024-03-08
-- ---------------------------- -- ----------------------------
ALTER TABLE mortals_sys_site_matter ADD COLUMN `hallCheckIn` tinyint(2) DEFAULT '0' COMMENT '大厅事项入驻(0.否,1.是)' AFTER agentPost; ALTER TABLE mortals_sys_site_matter ADD COLUMN `hallCheckIn` tinyint(2) DEFAULT '0' COMMENT '大厅事项入驻(0.否,1.是)' AFTER agentPost;
-- ----------------------------
2024-04-08
-- ----------------------------
-- ----------------------------
-- 排号汇总表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_ph_queue`;
CREATE TABLE mortals_xhx_ph_queue(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`ordernumber` varchar(64) NOT NULL COMMENT '预约编号,为空现场取号',
`style` char(8) NOT NULL DEFAULT '未叫号' COMMENT '叫号状态 (未叫号,叫号中,完成)',
`business` varchar(128) NOT NULL COMMENT '业务名',
`window_name` varchar(128) NOT NULL COMMENT '窗口名',
`window_fromnum` varchar(128) NOT NULL COMMENT '窗口编号',
`flownum` varchar(64) NOT NULL COMMENT '流水编号,当天的第xxx号',
`formernum` varchar(32) NOT NULL COMMENT '呼叫转移号',
`people_idcard` varchar(64) NOT NULL COMMENT '身份证号',
`people_name` varchar(64) NOT NULL COMMENT '姓名',
`people_sex` char(6) NOT NULL COMMENT '性别',
`people_phone` varchar(20) NOT NULL COMMENT '手机号',
`workman_name` varchar(32) NOT NULL COMMENT '工作人员姓名',
`workman_number` varchar(20) NOT NULL COMMENT '工作人员工号',
`taketime` datetime COMMENT '取号时间',
`calltime` datetime COMMENT '叫号时间',
`endtime` datetime COMMENT '结束时间',
`wait_time` int(9) NOT NULL DEFAULT '0' COMMENT '等待时间,单位s',
`handle_time` int(9) NOT NULL DEFAULT '0' COMMENT '办理时间,单位s',
`device_name` varchar(128) NOT NULL COMMENT '取号设备名',
`call_name` varchar(128) NOT NULL COMMENT '呼叫设备',
`matter_name` varchar(256) NOT NULL COMMENT '事项名',
`queueid` varchar(128) NOT NULL COMMENT '排号队列ID,唯一',
`wy_signin` varchar(16) NOT NULL DEFAULT '现场取号' COMMENT '取号方式 (现场取号,微信取号)',
`section_name` varchar(128) NOT NULL COMMENT '部门名称',
`hall_name` varchar(128) NOT NULL COMMENT '大厅名称',
`device_type` varchar(32) NOT NULL DEFAULT '排号机' COMMENT '取号设备类型',
`site_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '站点Id',
`site_code` varchar(128) NOT NULL COMMENT '站点编码',
`site_name` varchar(128) COMMENT '站点名称',
`ext_num` varchar(128) NOT NULL COMMENT '扩展编号',
`create_user_id` bigint(20) COMMENT '创建用户',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
,KEY `style` (`style`) USING BTREE
,KEY `business` (`business`) USING BTREE
,KEY `window_fromnum` (`window_fromnum`) USING BTREE
,KEY `people_idcard` (`people_idcard`) USING BTREE
,KEY `people_phone` (`people_phone`) USING BTREE
,KEY `workman_number` (`workman_number`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='排号汇总';
-- ----------------------------
-- 评价汇总表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_pj_evaluate`;
CREATE TABLE mortals_xhx_pj_evaluate(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`people_idcard` varchar(64) NOT NULL COMMENT '评价人身份证号',
`people_name` varchar(64) NOT NULL COMMENT '评价人姓名',
`people_sex` char(6) NOT NULL COMMENT '评价人性别',
`people_phone` varchar(20) NOT NULL COMMENT '评价人手机号',
`pj_option` varchar(32) NOT NULL COMMENT '评价选项(非常满意,满意,基本满意,不满意,非常不满意)',
`content_tag` varchar(255) NOT NULL COMMENT '评价标签',
`pic_url` varchar(128) NOT NULL COMMENT '评价人图片地址',
`section_name` varchar(128) NOT NULL COMMENT '部门',
`hall_name` varchar(128) NOT NULL COMMENT '大厅',
`pj_source` varchar(20) NOT NULL COMMENT '评价来源 (安卓,导视机,微信)',
`opinion` varchar(512) COMMENT '手输意见',
`window_name` varchar(128) NOT NULL COMMENT '窗口名',
`window_fromnum` varchar(128) NOT NULL COMMENT '窗口编号',
`flounum` varchar(20) COMMENT '排号编号',
`pjxt` varchar(32) DEFAULT '窗口评价' COMMENT '窗口评价(自助服务终端,背靠背评价,微官网)',
`workman_name` varchar(32) NOT NULL COMMENT '工作人员姓名',
`workman_number` varchar(20) NOT NULL COMMENT '工作人员工号',
`devicenum` varchar(64) COMMENT '评价器mac',
`evaluatestatus` varchar(32) DEFAULT '等待评价' COMMENT '评价状态(等待评价,完成,截图有误,用户截图签名超时,用户评价超时,收到图片等待签名',
`evaluatetype` char(8) DEFAULT '截图' COMMENT '截图还是评价 (截图,评价)',
`photobefor` varchar(256) NOT NULL COMMENT '截图地址',
`photoautograph` varchar(256) COMMENT '签字图片',
`picture` varchar(256) NOT NULL COMMENT '抓拍评价人照片',
`process` varchar(256) NOT NULL COMMENT '音频视频地址',
`eyevaluate` varchar(16) DEFAULT '未标记' COMMENT '评价标记(未标记,标记非恶意差评,标记恶意差评)',
`pj_type` varchar(16) NOT NULL DEFAULT '窗口评价' COMMENT '评价指向 (窗口评价,部门评价,排号评价)',
`pj_time` datetime COMMENT '评价时间',
`site_id` bigint(20) DEFAULT '0' COMMENT '站点Id',
`site_code` varchar(128) COMMENT '站点编码',
`site_name` varchar(128) COMMENT '站点名称',
`ext_num` varchar(128) COMMENT '扩展编号',
`create_user_id` bigint(20) COMMENT '创建用户',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
,KEY `people_idcard` (`people_idcard`) USING BTREE
,KEY `people_phone` (`people_phone`) USING BTREE
,KEY `pj_option` (`pj_option`) USING BTREE
,KEY `pj_source` (`pj_source`) USING BTREE
,KEY `site_id` (`site_id`) USING BTREE
,KEY `site_code` (`site_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='评价汇总';
package com.mortals.xhx.base.framework;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import org.springframework.util.ObjectUtils;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author: zxfei
* @date: 2022/6/30 10:49
* @description:
**/
public class CustomJsonDateDeserializer extends JsonDeserializer<Date> {
@Override
public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = jp.getText();
if (!ObjectUtils.isEmpty(date)) {
try {
return format.parse(date);
} catch (ParseException e) {
return null;
}
} else {
return null;
}
}
}
package com.mortals.xhx.base.framework;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.text.ParseException;
import java.util.Date;
/**
* 自定义Jackson反序列化日期类型时应用的类型转换器,一般用于@RequestBody接受参数时使用
*/
public class DateJacksonConverter extends JsonDeserializer {
private static String[] pattern = new String[]{"yyyy-MM-dd", "yyyy-MM-dd HH:mm", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm:ss.S", "yyyy.MM.dd", "yyyy.MM.dd HH:mm", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm:ss.S", "yyyy/MM/dd", "yyyy/MM/dd HH:mm", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm:ss.S"};
@Override
public Date deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
Date targetDate = null;
String originDate = p.getText();
if (StringUtils.isNotEmpty(originDate)) {
try {
long longDate = Long.valueOf(originDate.trim());
targetDate = new Date(longDate);
} catch (NumberFormatException e) {
try {
targetDate = DateUtils.parseDate(originDate, DateJacksonConverter.pattern);
} catch (ParseException pe) {
throw new IOException(String.format("'%s' can not convert to type 'java.util.Date',just support timestamp(type of long) and following date format(%s)",
originDate,
StringUtils.join(pattern, ",")));
}
}
}
return targetDate;
}
@Override
public Class handledType() {
return Date.class;
}
}
package com.mortals.xhx.base.framework;
import org.springframework.http.MediaType;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import java.util.ArrayList;
import java.util.List;
/**
* @author: zxfei
* @date: 2022/6/28 15:57
* @description:
**/
// 创建一个新的转换器 解析微信的 [text/plain]
public class WxMessageConverter extends MappingJackson2HttpMessageConverter {
public WxMessageConverter() {
List<MediaType> mediaTypes = new ArrayList<>();
mediaTypes.add(MediaType.TEXT_PLAIN);
setSupportedMediaTypes(mediaTypes);
}
}
\ No newline at end of file
package com.mortals.xhx.base.framework.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.mortals.xhx.base.framework.DateJacksonConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
@Configuration
public class ConverterConfig {
@Bean
public DateJacksonConverter dateJacksonConverter() {
return new DateJacksonConverter();
}
@Bean
public Jackson2ObjectMapperFactoryBean jackson2ObjectMapperFactoryBean(DateJacksonConverter dateJacksonConverter) {
Jackson2ObjectMapperFactoryBean jackson2ObjectMapperFactoryBean = new Jackson2ObjectMapperFactoryBean();
jackson2ObjectMapperFactoryBean.setDeserializers(dateJacksonConverter);
return jackson2ObjectMapperFactoryBean;
}
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(ObjectMapper objectMapper) {
MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper);
return mappingJackson2HttpMessageConverter;
}
}
package com.mortals.xhx.base.login.web; package com.mortals.xhx.base.login.web;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.ap.CookieService; import com.mortals.framework.ap.CookieService;
import com.mortals.framework.ap.GlobalSysInfo; import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.ap.SysConstains; import com.mortals.framework.ap.SysConstains;
import com.mortals.framework.common.Rest;
import com.mortals.framework.service.IAuthTokenService; import com.mortals.framework.service.IAuthTokenService;
import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.ICacheService;
import com.mortals.framework.service.ITokenService; import com.mortals.framework.service.ITokenService;
...@@ -20,7 +24,10 @@ import com.mortals.xhx.base.system.resource.service.ResourceService; ...@@ -20,7 +24,10 @@ import com.mortals.xhx.base.system.resource.service.ResourceService;
import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.service.UserService; import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.base.system.valid.service.ValidCodeService; import com.mortals.xhx.base.system.valid.service.ValidCodeService;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.RedisKey; import com.mortals.xhx.common.key.RedisKey;
import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.feign.user.IUserFeign;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
...@@ -33,6 +40,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -33,6 +40,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set; import java.util.Set;
@RestController @RestController
...@@ -50,6 +58,8 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi ...@@ -50,6 +58,8 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
private ICacheService cacheService; private ICacheService cacheService;
@Autowired @Autowired
private IAuthTokenService authTokenService; private IAuthTokenService authTokenService;
@Autowired
private IUserFeign userFeign;
private static Log logger = LogFactory.getLog(LoginController.class); private static Log logger = LogFactory.getLog(LoginController.class);
...@@ -124,6 +134,27 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi ...@@ -124,6 +134,27 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
} }
} }
@RequestMapping("getToken")
@UnAuth
public Rest<String> getToken(@RequestBody LoginForm loginForm){
String loginName = loginForm.getLoginName();
String password = loginForm.getPassword();
UserPdu userPdu = new UserPdu();
userPdu.setLoginName(loginName);
userPdu.setPassword(password);
userPdu.setSecurityCode("admin");
String resp = userFeign.portalLogin(userPdu);
Rest<Map<String, String>> rest = JSON.parseObject(resp, new TypeReference<Rest<Map<String, String>>>() {
});
if (rest.getCode() == YesNoEnum.YES.getValue()) {
String token = rest.getData().getOrDefault("token", "");
return Rest.ok("获取TOKEN成功", token);
} else {
return Rest.fail(rest.getMsg());
}
}
@RequestMapping("logout") @RequestMapping("logout")
public void logout(HttpServletRequest request, HttpServletResponse response) throws Exception { public void logout(HttpServletRequest request, HttpServletResponse response) throws Exception {
recordSysLog(request, "退出登录"); recordSysLog(request, "退出登录");
...@@ -139,14 +170,14 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi ...@@ -139,14 +170,14 @@ public class LoginController extends BaseCRUDJsonBodyMappingController<UserServi
return ""; return "";
} }
Set<String> urls = resourceService.findUrlSetByUserId(user.getId()); Set<String> urls = resourceService.findUrlSetByUserId(user.getId());
// List<MenuEntity> outlookBarList = menuService.findTreeMenu(user, urls); // List<MenuEntity> outlookBarList = menuService.findTreeMenu(user, urls);
String currUserName = user.getRealName(); String currUserName = user.getRealName();
if (currUserName == null || currUserName.trim().length() == 0) { if (currUserName == null || currUserName.trim().length() == 0) {
currUserName = "管理员"; currUserName = "管理员";
} }
JSONObject data = new JSONObject(); JSONObject data = new JSONObject();
data.put("currUserName", currUserName); data.put("currUserName", currUserName);
// data.put("barList", outlookBarList); // data.put("barList", outlookBarList);
data.put("id", user.getId()); data.put("id", user.getId());
data.put("userType", user.getUserType()); data.put("userType", user.getUserType());
ret.put(KEY_RESULT_DATA, data); ret.put(KEY_RESULT_DATA, data);
......
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 截图还是评价 (截图.截图,评价.评价)枚举类
*
* @author zxfei
*/
public enum EvaluatetypeEnum {
截图("截图", "截图"),
评价("评价", "评价");
private String value;
private String desc;
EvaluatetypeEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static EvaluatetypeEnum getByValue(String value) {
for (EvaluatetypeEnum evaluatetypeEnum : EvaluatetypeEnum.values()) {
if (evaluatetypeEnum.getValue() == value) {
return evaluatetypeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (EvaluatetypeEnum item : EvaluatetypeEnum.values()) {
try {
boolean hasE = false;
for (String 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.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 评价选项(非常满意,满意,基本满意,不满意,非常不满意)枚举类
*
* @author zxfei
*/
public enum OptionEnum {
非常满意("非常满意", "非常满意"),
满意("满意", "满意"),
基本满意("基本满意", "基本满意"),
不满意("不满意", "不满意"),
非常不满意("非常不满意", "非常不满意");
private String value;
private String desc;
OptionEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static OptionEnum getByValue(String value) {
for (OptionEnum optionEnum : OptionEnum.values()) {
if (optionEnum.getValue() == value) {
return optionEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (OptionEnum item : OptionEnum.values()) {
try {
boolean hasE = false;
for (String 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.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 评价选项(非常满意,满意,基本满意,不满意,非常不满意)枚举类
*
* @author zxfei
*/
public enum Pj_optionEnum {
非常满意("非常满意", "非常满意"),
满意("满意", "满意"),
基本满意("基本满意", "基本满意"),
不满意("不满意", "不满意"),
非常不满意("非常不满意", "非常不满意");
private String value;
private String desc;
Pj_optionEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static Pj_optionEnum getByValue(String value) {
for (Pj_optionEnum pj_optionEnum : Pj_optionEnum.values()) {
if (pj_optionEnum.getValue() == value) {
return pj_optionEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (Pj_optionEnum item : Pj_optionEnum.values()) {
try {
boolean hasE = false;
for (String 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.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 评价来源 (安卓,导视机,微信)枚举类
*
* @author zxfei
*/
public enum Pj_sourceEnum {
安卓("安卓", "安卓"),
导视机("导视机", "导视机"),
微信("微信", "微信");
private String value;
private String desc;
Pj_sourceEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static Pj_sourceEnum getByValue(String value) {
for (Pj_sourceEnum pj_sourceEnum : Pj_sourceEnum.values()) {
if (pj_sourceEnum.getValue() == value) {
return pj_sourceEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (Pj_sourceEnum item : Pj_sourceEnum.values()) {
try {
boolean hasE = false;
for (String 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.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 评价指向 (窗口评价,部门评价,排号评价)枚举类
*
* @author zxfei
*/
public enum Pj_typeEnum {
窗口评价("窗口评价", "窗口评价"),
部门评价("部门评价", "部门评价"),
排号评价("排号评价", "排号评价");
private String value;
private String desc;
Pj_typeEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static Pj_typeEnum getByValue(String value) {
for (Pj_typeEnum pj_typeEnum : Pj_typeEnum.values()) {
if (pj_typeEnum.getValue() == value) {
return pj_typeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (Pj_typeEnum item : Pj_typeEnum.values()) {
try {
boolean hasE = false;
for (String 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.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 窗口评价(自助服务终端,背靠背评价,微官网)枚举类
*
* @author zxfei
*/
public enum PjxtEnum {
自助服务终端("自助服务终端", "自助服务终端"),
背靠背评价("背靠背评价", "背靠背评价"),
微官网("微官网", "微官网");
private String value;
private String desc;
PjxtEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static PjxtEnum getByValue(String value) {
for (PjxtEnum pjxtEnum : PjxtEnum.values()) {
if (pjxtEnum.getValue() == value) {
return pjxtEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (PjxtEnum item : PjxtEnum.values()) {
try {
boolean hasE = false;
for (String 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.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 叫号状态 (未叫号,叫号中,完成)枚举类
*
* @author zxfei
*/
public enum StyleEnum {
未叫号("未叫号", "未叫号"),
叫号中("叫号中", "叫号中"),
完成("完成", "完成");
private String value;
private String desc;
StyleEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static StyleEnum getByValue(String value) {
for (StyleEnum styleEnum : StyleEnum.values()) {
if (styleEnum.getValue() == value) {
return styleEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (StyleEnum item : StyleEnum.values()) {
try {
boolean hasE = false;
for (String 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.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 取号方式 (现场取号,微信取号)枚举类
*
* @author zxfei
*/
public enum Wy_signinEnum {
现场取号("现场取号", "现场取号"),
微信取号("微信取号", "微信取号");
private String value;
private String desc;
Wy_signinEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static Wy_signinEnum getByValue(String value) {
for (Wy_signinEnum wy_signinEnum : Wy_signinEnum.values()) {
if (wy_signinEnum.getValue() == value) {
return wy_signinEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (Wy_signinEnum item : Wy_signinEnum.values()) {
try {
boolean hasE = false;
for (String 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.ph.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.ph.model.PhQueueEntity;
import java.util.List;
/**
* 排号汇总Dao
* 排号汇总 DAO接口
*
* @author zxfei
* @date 2024-04-09
*/
public interface PhQueueDao extends ICRUDDao<PhQueueEntity,Long>{
}
package com.mortals.xhx.module.ph.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.ph.dao.PhQueueDao;
import com.mortals.xhx.module.ph.model.PhQueueEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 排号汇总DaoImpl DAO接口
*
* @author zxfei
* @date 2024-04-09
*/
@Repository("phQueueDao")
public class PhQueueDaoImpl extends BaseCRUDDaoMybatis<PhQueueEntity,Long> implements PhQueueDao {
}
package com.mortals.xhx.module.ph.model;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.ph.model.vo.PhQueueVo;
import lombok.Data;
/**
* 排号汇总实体对象
*
* @author zxfei
* @date 2024-04-09
*/
@Data
public class PhQueueEntity extends PhQueueVo {
private static final long serialVersionUID = 1L;
/**
* 预约编号,为空现场取号
*/
private String ordernumber;
/**
* 叫号状态 (未叫号,叫号中,完成)
*/
private String style;
/**
* 业务名
*/
private String business;
/**
* 窗口名
*/
private String windowName;
/**
* 窗口编号
*/
private String windowFromnum;
/**
* 流水编号,当天的第xxx号
*/
private String flownum;
/**
* 呼叫转移号
*/
private String formernum;
/**
* 身份证号
*/
private String peopleIdcard;
/**
* 姓名
*/
private String peopleName;
/**
* 性别
*/
private String peopleSex;
/**
* 手机号
*/
private String peoplePhone;
/**
* 工作人员姓名
*/
private String workmanName;
/**
* 工作人员工号
*/
private String workmanNumber;
/**
* 取号时间
*/
private Date taketime;
/**
* 叫号时间
*/
private Date calltime;
/**
* 结束时间
*/
private Date endtime;
/**
* 等待时间,单位s
*/
private Integer waitTime;
/**
* 办理时间,单位s
*/
private Integer handleTime;
/**
* 取号设备名
*/
private String deviceName;
/**
* 呼叫设备
*/
private String callName;
/**
* 事项名
*/
private String matterName;
/**
* 排号队列ID,唯一
*/
private String queueid;
/**
* 取号方式 (现场取号,微信取号)
*/
private String wySignin;
/**
* 部门名称
*/
private String sectionName;
/**
* 大厅名称
*/
private String hallName;
/**
* 取号设备类型
*/
private String deviceType;
/**
* 站点Id
*/
private Long siteId;
/**
* 站点编码
*/
private String siteCode;
/**
* 站点名称
*/
private String siteName;
/**
* 扩展编号
*/
private String extNum;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof PhQueueEntity) {
PhQueueEntity tmp = (PhQueueEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue() {
this.ordernumber = "";
this.style = "未叫号";
this.business = "";
this.windowName = "";
this.windowFromnum = "";
this.flownum = "";
this.formernum = "";
this.peopleIdcard = "";
this.peopleName = "";
this.peopleSex = "";
this.peoplePhone = "";
this.workmanName = "";
this.workmanNumber = "";
this.taketime = null;
this.calltime = null;
this.endtime = null;
this.waitTime = 0;
this.handleTime = 0;
this.deviceName = "";
this.callName = "";
this.matterName = "";
this.queueid = "";
this.wySignin = "现场取号";
this.sectionName = "";
this.hallName = "";
this.deviceType = "排号机";
this.siteId = 0L;
this.siteCode = "";
this.siteName = "";
this.extNum = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.ph.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.ph.model.PhQueueEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 排号汇总视图对象
*
* @author zxfei
* @date 2024-04-09
*/
@Data
public class PhQueueVo extends BaseEntityLong {
/** 序号,主键,自增长列表 */
private List <Long> idList;
}
\ No newline at end of file
package com.mortals.xhx.module.ph.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.ph.model.PhQueueEntity;
import com.mortals.xhx.module.ph.dao.PhQueueDao;
/**
* PhQueueService
*
* 排号汇总 service接口
*
* @author zxfei
* @date 2024-04-09
*/
public interface PhQueueService extends ICRUDService<PhQueueEntity,Long>{
PhQueueDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.ph.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.ph.dao.PhQueueDao;
import com.mortals.xhx.module.ph.model.PhQueueEntity;
import com.mortals.xhx.module.ph.service.PhQueueService;
import lombok.extern.slf4j.Slf4j;
/**
* PhQueueService
* 排号汇总 service实现
*
* @author zxfei
* @date 2024-04-09
*/
@Service("phQueueService")
@Slf4j
public class PhQueueServiceImpl extends AbstractCRUDServiceImpl<PhQueueDao, PhQueueEntity, Long> implements PhQueueService {
}
\ No newline at end of file
package com.mortals.xhx.module.ph.web;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.service.SiteService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.ph.model.PhQueueEntity;
import com.mortals.xhx.module.ph.service.PhQueueService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
import com.mortals.xhx.common.code.*;
/**
* 排号汇总
*
* @author zxfei
* @date 2024-04-09
*/
@RestController
@RequestMapping("ph/queue")
public class PhQueueController extends BaseCRUDJsonBodyMappingController<PhQueueService, PhQueueEntity, Long> {
@Autowired
private ParamService paramService;
@Autowired
private SiteService siteService;
public PhQueueController() {
super.setModuleDesc("排号汇总");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "style", StyleEnum.getEnumMap());
this.addDict(model, "wySignin", Wy_signinEnum.getEnumMap());
super.init(model, context);
}
/**
* @param entity
* @return
*/
@Override
//@UnAuth
public String save(@RequestBody PhQueueEntity entity) {
//获取站点信息
getSite(entity);
return super.save(entity);
}
/**
* @param list
* @return
*/
@Override
//@UnAuth
public String batchSave(@RequestBody List<PhQueueEntity> list) {
for (PhQueueEntity entity : list) {
getSite(entity);
}
return super.batchSave(list);
}
private void getSite(PhQueueEntity entity) {
if (!ObjectUtils.isEmpty(entity.getSiteId())) {
SiteEntity siteCache = siteService.getCache(entity.getSiteId().toString());
if (!ObjectUtils.isEmpty(siteCache)) {
entity.setSiteCode(siteCache.getSiteCode());
entity.setSiteName(siteCache.getSiteName());
} else {
//通过站点编码查询
if (!ObjectUtils.isEmpty(entity.getSiteCode())) {
siteCache = siteService.getExtCache(entity.getSiteCode());
if (!ObjectUtils.isEmpty(siteCache)) {
entity.setSiteCode(siteCache.getSiteCode());
entity.setSiteName(siteCache.getSiteName());
}
}
}
}
}
}
\ No newline at end of file
package com.mortals.xhx.module.pj.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.pj.model.PjEvaluateEntity;
import java.util.List;
/**
* 评价汇总Dao
* 评价汇总 DAO接口
*
* @author zxfei
* @date 2024-04-09
*/
public interface PjEvaluateDao extends ICRUDDao<PjEvaluateEntity,Long>{
}
package com.mortals.xhx.module.pj.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.pj.dao.PjEvaluateDao;
import com.mortals.xhx.module.pj.model.PjEvaluateEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 评价汇总DaoImpl DAO接口
*
* @author zxfei
* @date 2024-04-09
*/
@Repository("pjEvaluateDao")
public class PjEvaluateDaoImpl extends BaseCRUDDaoMybatis<PjEvaluateEntity,Long> implements PjEvaluateDao {
}
package com.mortals.xhx.module.pj.model;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.pj.model.vo.PjEvaluateVo;
import lombok.Data;
/**
* 评价汇总实体对象
*
* @author zxfei
* @date 2024-04-09
*/
@Data
public class PjEvaluateEntity extends PjEvaluateVo {
private static final long serialVersionUID = 1L;
/**
* 评价人身份证号
*/
private String peopleIdcard;
/**
* 评价人姓名
*/
private String peopleName;
/**
* 评价人性别
*/
private String peopleSex;
/**
* 评价人手机号
*/
private String peoplePhone;
/**
* 评价选项(非常满意,满意,基本满意,不满意,非常不满意)
*/
private String pjOption;
/**
* 评价标签
*/
private String contentTag;
/**
* 评价人图片地址
*/
private String picUrl;
/**
* 部门
*/
private String sectionName;
/**
* 大厅
*/
private String hallName;
/**
* 评价来源 (安卓,导视机,微信)
*/
private String pjSource;
/**
* 手输意见
*/
private String opinion;
/**
* 窗口名
*/
private String windowName;
/**
* 窗口编号
*/
private String windowFromnum;
/**
* 排号编号
*/
private String flounum;
/**
* 窗口评价(自助服务终端,背靠背评价,微官网)
*/
private String pjxt;
/**
* 工作人员姓名
*/
private String workmanName;
/**
* 工作人员工号
*/
private String workmanNumber;
/**
* 评价器mac
*/
private String devicenum;
/**
* 评价状态(等待评价,完成,截图有误,用户截图签名超时,用户评价超时,收到图片等待签名
*/
private String evaluatestatus;
/**
* 截图还是评价 (截图.截图,评价.评价)
*/
private String evaluatetype;
/**
* 截图地址
*/
private String photobefor;
/**
* 签字图片
*/
private String photoautograph;
/**
* 抓拍评价人照片
*/
private String picture;
/**
* 音频视频地址
*/
private String process;
/**
* (未标记,标记非恶意差评,标记恶意差评
*/
private String eyevaluate;
/**
* 评价指向 (窗口评价,部门评价,排号评价)
*/
private String pjType;
/**
* 评价时间
*/
private Date pjTime;
/**
* 站点Id
*/
private Long siteId;
/**
* 站点编码
*/
private String siteCode;
/**
* 站点名称
*/
private String siteName;
/**
* 扩展编号
*/
private String extNum;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof PjEvaluateEntity) {
PjEvaluateEntity tmp = (PjEvaluateEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.peopleIdcard = "";
this.peopleName = "";
this.peopleSex = "";
this.peoplePhone = "";
this.pjOption = "";
this.contentTag = "";
this.picUrl = "";
this.sectionName = "";
this.hallName = "";
this.pjSource = "";
this.opinion = "";
this.windowName = "";
this.windowFromnum = "";
this.flounum = "";
this.pjxt = "窗口评价";
this.workmanName = "";
this.workmanNumber = "";
this.devicenum = "";
this.evaluatestatus = "等待评价";
this.evaluatetype = "截图";
this.photobefor = "";
this.photoautograph = "";
this.picture = "";
this.process = "";
this.eyevaluate = "未标记";
this.pjType = "窗口评价";
this.pjTime = new Date();
this.siteId = null;
this.siteCode = "";
this.siteName = "";
this.extNum = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.pj.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.pj.model.PjEvaluateEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 评价汇总视图对象
*
* @author zxfei
* @date 2024-04-09
*/
@Data
public class PjEvaluateVo extends BaseEntityLong {
/** 序号,主键,自增长列表 */
private List <Long> idList;
}
\ No newline at end of file
package com.mortals.xhx.module.pj.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.pj.model.PjEvaluateEntity;
import com.mortals.xhx.module.pj.dao.PjEvaluateDao;
/**
* PjEvaluateService
*
* 评价汇总 service接口
*
* @author zxfei
* @date 2024-04-09
*/
public interface PjEvaluateService extends ICRUDService<PjEvaluateEntity,Long>{
PjEvaluateDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.pj.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.pj.dao.PjEvaluateDao;
import com.mortals.xhx.module.pj.model.PjEvaluateEntity;
import com.mortals.xhx.module.pj.service.PjEvaluateService;
import lombok.extern.slf4j.Slf4j;
/**
* PjEvaluateService
* 评价汇总 service实现
*
* @author zxfei
* @date 2024-04-09
*/
@Service("pjEvaluateService")
@Slf4j
public class PjEvaluateServiceImpl extends AbstractCRUDServiceImpl<PjEvaluateDao, PjEvaluateEntity, Long> implements PjEvaluateService {
}
\ No newline at end of file
package com.mortals.xhx.module.pj.web;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.ph.model.PhQueueEntity;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.service.SiteService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.pj.model.PjEvaluateEntity;
import com.mortals.xhx.module.pj.service.PjEvaluateService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
import com.mortals.xhx.common.code.*;
/**
* 评价汇总
*
* @author zxfei
* @date 2024-04-09
*/
@RestController
@RequestMapping("pj/evaluate")
public class PjEvaluateController extends BaseCRUDJsonBodyMappingController<PjEvaluateService, PjEvaluateEntity, Long> {
@Autowired
private ParamService paramService;
@Autowired
private SiteService siteService;
public PjEvaluateController() {
super.setModuleDesc("评价汇总");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "pjOption", Pj_optionEnum.getEnumMap());
this.addDict(model, "pjSource", Pj_sourceEnum.getEnumMap());
this.addDict(model, "pjxt", PjxtEnum.getEnumMap());
this.addDict(model, "evaluatetype", EvaluatetypeEnum.getEnumMap());
this.addDict(model, "pjType", Pj_typeEnum.getEnumMap());
super.init(model, context);
}
/**
* @param entity
* @return
*/
@Override
//@UnAuth
public String save(@RequestBody PjEvaluateEntity entity) {
//获取站点信息
getSite(entity);
return super.save(entity);
}
/**
* @param list
* @return
*/
@Override
//@UnAuth
public String batchSave(@RequestBody List<PjEvaluateEntity> list) {
for (PjEvaluateEntity entity : list) {
getSite(entity);
}
return super.batchSave(list);
}
private void getSite(PjEvaluateEntity entity) {
if (!ObjectUtils.isEmpty(entity.getSiteId())) {
SiteEntity siteCache = siteService.getCache(entity.getSiteId().toString());
if (!ObjectUtils.isEmpty(siteCache)) {
entity.setSiteCode(siteCache.getSiteCode());
entity.setSiteName(siteCache.getSiteName());
} else {
//通过站点编码查询
if (!ObjectUtils.isEmpty(entity.getSiteCode())) {
siteCache = siteService.getExtCache(entity.getSiteCode());
if (!ObjectUtils.isEmpty(siteCache)) {
entity.setSiteCode(siteCache.getSiteCode());
entity.setSiteName(siteCache.getSiteName());
}
}
}
}
}
}
\ No newline at end of file
...@@ -115,6 +115,10 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE ...@@ -115,6 +115,10 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
private volatile Boolean refresh = false; private volatile Boolean refresh = false;
@Override
protected String getExtKey(SiteEntity data) {
return data.getSiteCode();
}
@Override @Override
protected void updateBefore(SiteEntity entity, Context context) throws AppException { protected void updateBefore(SiteEntity entity, Context context) throws AppException {
......
...@@ -90,10 +90,6 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman ...@@ -90,10 +90,6 @@ public class WorkmanController extends BaseCRUDJsonBodyMappingController<Workman
log.info("doLogin==>{}", JSON.toJSONString(query)); log.info("doLogin==>{}", JSON.toJSONString(query));
JSONObject ret = new JSONObject(); JSONObject ret = new JSONObject();
try { try {
//检测用户密码是否为123
/* if ("123".equals(query.getLoginPwd())){
throw new AppException("当前密码123已过期!请使用新密码重新登录:a1b2c3d4");
}*/
String ip = super.getRequestIP(request); String ip = super.getRequestIP(request);
WorkmanEntity workmanEntity = this.service.doLogin(query.getLoginName(), query.getLoginPwd(), ip); WorkmanEntity workmanEntity = this.service.doLogin(query.getLoginName(), query.getLoginPwd(), ip);
workmanEntity.setLastLoginAddress(ip); workmanEntity.setLastLoginAddress(ip);
......
...@@ -375,7 +375,7 @@ setup_nginx() { ...@@ -375,7 +375,7 @@ setup_nginx() {
cd ${NGINX_EXECPATH} cd ${NGINX_EXECPATH}
#./configure --prefix=${NGINX_EXECPATH} --conf-path=${NGINX_CONF} --with-pcre=/home/pcre-8.45 #./configure --prefix=${NGINX_EXECPATH} --conf-path=${NGINX_CONF} --with-pcre=/home/pcre-8.45
./configure --prefix=${NGINX_EXECPATH} --conf-path=${NGINX_CONF} --with-http_stub_status_module --with-http_ssl_module ./configure --prefix=${NGINX_EXECPATH} --conf-path=${NGINX_CONF} --with-http_stub_status_module --with-http_ssl_module --with-stream
writelog "nginx make start" writelog "nginx make start"
make make
make install make install
......
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