Commit 8cf2e67a authored by 赵啸非's avatar 赵啸非

添加排号和评价汇总表

parent f5e03db7
...@@ -242,3 +242,99 @@ UPDATE mortals_sys_skin_base SET imageResolution="1280x1280" WHERE imageResoluti ...@@ -242,3 +242,99 @@ 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_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 '手输意见',
`siteid` int(11) NOT NULL DEFAULT '0' 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) NOT NULL DEFAULT '等待评价' COMMENT '评价状态(等待评价,完成,截图有误,用户截图签名超时,用户评价超时,收到图片等待签名',
`evaluatetype` char(8) DEFAULT '截图' COMMENT '截图还是评价 (截图.截图,评价.评价)',
`photobefor` varchar(256) NOT NULL COMMENT '截图地址',
`photoautograph` varchar(256) NOT NULL COMMENT '签字图片',
`picture` varchar(256) NOT NULL COMMENT '抓拍评价人照片',
`process` varchar(256) NOT NULL COMMENT '音频视频地址',
`eyevaluate` varchar(16) DEFAULT '0' COMMENT '(未标记,标记非恶意差评,标记恶意差评',
`pj_type` varchar(16) NOT NULL DEFAULT '窗口评价' COMMENT '评价指向 (窗口评价,部门评价,排号评价)',
`ext_num` varchar(128) NOT NULL COMMENT '扩展编号',
`pj_time` datetime 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 `window_name` (`window_name`) USING BTREE
,KEY `window_fromnum` (`window_fromnum`) USING BTREE
,KEY `pjxt` (`pjxt`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='评价汇总';
-- ----------------------------
-- 排号汇总表
-- ----------------------------
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 '0' 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(11) NOT NULL DEFAULT '0' COMMENT '等待时间,单位s',
`handle_time` int(11) 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 '事项名',
`siteid` int(11) DEFAULT '0' COMMENT '',
`queueid` varchar(128) NOT NULL DEFAULT '0' 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 '取号设备类型',
`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 `workman_number` (`workman_number`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='排号汇总';
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