Commit b54b8c95 authored by 赵啸非's avatar 赵啸非

添加系统接入模块

parent 61ef23b8
...@@ -108,6 +108,7 @@ PRIMARY KEY (`id`) USING BTREE ...@@ -108,6 +108,7 @@ PRIMARY KEY (`id`) USING BTREE
-- ---------------------------- -- ----------------------------
-- 评价汇总统计表 -- 评价汇总统计表
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_pj_evaluate`;
CREATE TABLE mortals_xhx_pj_evaluate( CREATE TABLE mortals_xhx_pj_evaluate(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长', `id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`people_idcard` varchar(64) NOT NULL COMMENT '评价人身份证号', `people_idcard` varchar(64) NOT NULL COMMENT '评价人身份证号',
...@@ -154,3 +155,40 @@ PRIMARY KEY (`id`) ...@@ -154,3 +155,40 @@ PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='评价汇总'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='评价汇总';
DROP TABLE IF EXISTS `mortals_xhx_pj_evaluate_stat`; DROP TABLE IF EXISTS `mortals_xhx_pj_evaluate_stat`;
-- ----------------------------
-- 区域接入表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_access`;
CREATE TABLE mortals_xhx_access(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`area_name` varchar(64) NOT NULL COMMENT '区域名称',
`area_code` varchar(64) NOT NULL COMMENT '区域编码',
`big_path` varchar(128) NOT NULL COMMENT '背景图片地址',
`tag` varchar(255) NOT NULL COMMENT '标签',
`sort` int(4) DEFAULT '0' COMMENT '排序',
`remark` varchar(128) COMMENT '备注',
`create_user_id` bigint(20) COMMENT '创建用户',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区域接入';
-- ----------------------------
-- 区域接入系统表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_access_system`;
CREATE TABLE mortals_xhx_access_system(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`accessId` bigint(20) COMMENT '接入区域ID',
`system_name` varchar(64) NOT NULL COMMENT '接入系统名称',
`system_code` varchar(64) NOT NULL COMMENT '接入系统编码',
`enabled` tinyint(2) DEFAULT '0' COMMENT '启用状态 (0.停止,1.启用)',
`access_time` datetime COMMENT '接入开通时间',
`sort` int(4) DEFAULT '0' COMMENT '排序',
`remark` varchar(128) COMMENT '备注',
`create_user_id` bigint(20) COMMENT '创建用户',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区域接入系统';
\ No newline at end of file
package com.mortals.xhx.module.access.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.access.model.AccessEntity;
import java.util.List;
/**
* 区域接入Dao
* 区域接入 DAO接口
*
* @author zxfei
* @date 2024-06-28
*/
public interface AccessDao extends ICRUDDao<AccessEntity,Long>{
}
package com.mortals.xhx.module.access.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.access.model.AccessSystemEntity;
import java.util.List;
/**
* 区域接入系统Dao
* 区域接入系统 DAO接口
*
* @author zxfei
* @date 2024-06-28
*/
public interface AccessSystemDao extends ICRUDDao<AccessSystemEntity,Long>{
}
package com.mortals.xhx.module.access.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.access.dao.AccessDao;
import com.mortals.xhx.module.access.model.AccessEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 区域接入DaoImpl DAO接口
*
* @author zxfei
* @date 2024-06-28
*/
@Repository("accessDao")
public class AccessDaoImpl extends BaseCRUDDaoMybatis<AccessEntity,Long> implements AccessDao {
}
package com.mortals.xhx.module.access.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.access.dao.AccessSystemDao;
import com.mortals.xhx.module.access.model.AccessSystemEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 区域接入系统DaoImpl DAO接口
*
* @author zxfei
* @date 2024-06-28
*/
@Repository("accessSystemDao")
public class AccessSystemDaoImpl extends BaseCRUDDaoMybatis<AccessSystemEntity,Long> implements AccessSystemDao {
}
package com.mortals.xhx.module.access.model;
import java.util.List;
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.access.model.vo.AccessVo;
import com.mortals.xhx.module.access.model.AccessSystemEntity;
import lombok.Data;
/**
* 区域接入实体对象
*
* @author zxfei
* @date 2024-06-28
*/
@Data
public class AccessEntity extends AccessVo {
private static final long serialVersionUID = 1L;
/**
* 区域名称
*/
private String areaName;
/**
* 区域编码
*/
private String areaCode;
/**
* 背景图片地址
*/
private String bigPath;
/**
* 标签
*/
private String tag;
/**
* 排序
*/
private Integer sort;
/**
* 备注
*/
private String remark;
/**
* 区域接入系统信息
*/
private List<AccessSystemEntity> accessSystemList=new ArrayList<>();;
public List<AccessSystemEntity> getAccessSystemList(){
return accessSystemList;
}
public void setAccessSystemList(List<AccessSystemEntity> accessSystemList){
this.accessSystemList = accessSystemList;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof AccessEntity) {
AccessEntity tmp = (AccessEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.areaName = "";
this.areaCode = "";
this.bigPath = "";
this.tag = "";
this.sort = 0;
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.access.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.access.model.vo.AccessSystemVo;
import lombok.Data;
/**
* 区域接入系统实体对象
*
* @author zxfei
* @date 2024-06-28
*/
@Data
public class AccessSystemEntity extends AccessSystemVo {
private static final long serialVersionUID = 1L;
/**
* 接入区域ID
*/
private Long accessId;
/**
* 接入系统名称
*/
private String systemName;
/**
* 接入系统编码
*/
private String systemCode;
/**
* 启用状态 (0.停止,1.启用)
*/
private Integer enabled;
/**
* 接入开通时间
*/
private Date accessTime;
/**
* 排序
*/
private Integer sort;
/**
* 备注
*/
private String remark;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof AccessSystemEntity) {
AccessSystemEntity tmp = (AccessSystemEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.accessId = null;
this.systemName = "";
this.systemCode = "";
this.enabled = 0;
this.accessTime = null;
this.sort = 0;
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.access.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.access.model.AccessSystemEntity;
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-06-28
*/
@Data
public class AccessSystemVo extends BaseEntityLong {
/** 序号,主键,自增长列表 */
private List <Long> idList;
}
\ No newline at end of file
package com.mortals.xhx.module.access.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.access.model.AccessEntity;
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-06-28
*/
@Data
public class AccessVo extends BaseEntityLong {
/** 序号,主键,自增长列表 */
private List <Long> idList;
}
\ No newline at end of file
package com.mortals.xhx.module.access.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.access.model.AccessEntity;
import com.mortals.xhx.module.access.dao.AccessDao;
/**
* AccessService
*
* 区域接入 service接口
*
* @author zxfei
* @date 2024-06-28
*/
public interface AccessService extends ICRUDService<AccessEntity,Long>{
AccessDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.access.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.access.model.AccessSystemEntity;
import com.mortals.xhx.module.access.dao.AccessSystemDao;
/**
* AccessSystemService
*
* 区域接入系统 service接口
*
* @author zxfei
* @date 2024-06-28
*/
public interface AccessSystemService extends ICRUDService<AccessSystemEntity,Long>{
AccessSystemDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.access.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.access.dao.AccessDao;
import com.mortals.xhx.module.access.model.AccessEntity;
import com.mortals.xhx.module.access.service.AccessService;
import org.springframework.beans.factory.annotation.Autowired;
import com.mortals.xhx.module.access.model.AccessSystemEntity;
import com.mortals.xhx.module.access.model.AccessSystemQuery;
import com.mortals.xhx.module.access.service.AccessSystemService;
import org.springframework.util.ObjectUtils;
import java.util.Date;
import java.util.Arrays;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
/**
* AccessService
* 区域接入 service实现
*
* @author zxfei
* @date 2024-06-28
*/
@Service("accessService")
@Slf4j
public class AccessServiceImpl extends AbstractCRUDServiceImpl<AccessDao, AccessEntity, Long> implements AccessService {
@Autowired
private AccessSystemService accessSystemService;
@Override
protected void saveAfter(AccessEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getAccessSystemList())){
entity.getAccessSystemList().stream().peek(item->{
item.setAccessId(entity.getId());
item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date());
}).count();
accessSystemService.save(entity.getAccessSystemList());
}
super.saveAfter(entity, context);
}
@Override
protected void updateAfter(AccessEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getAccessSystemList())){
Long[] accessSystemIds = accessSystemService.find(new AccessSystemQuery().accessId(entity.getId())).stream().map(AccessSystemEntity::getId).toArray(Long[]::new);
accessSystemService.remove(accessSystemIds,context);
entity.getAccessSystemList().stream().peek(item ->{
item.setAccessId(entity.getId());
item.setCreateUserId(this.getContextUserId(context));
item.setCreateTime(new Date());
item.setUpdateUserId(this.getContextUserId(context));
item.setUpdateTime(new Date());
}).count();
accessSystemService.save(entity.getAccessSystemList());
}
super.updateAfter(entity, context);
}
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
List<AccessSystemEntity> accessSystemlist = accessSystemService.find(new AccessSystemQuery().accessIdList(Arrays.asList(ids)));
accessSystemService.removeList(accessSystemlist,context);
super.removeAfter(ids, context, result);
}
}
\ No newline at end of file
package com.mortals.xhx.module.access.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.access.dao.AccessSystemDao;
import com.mortals.xhx.module.access.model.AccessSystemEntity;
import com.mortals.xhx.module.access.service.AccessSystemService;
import lombok.extern.slf4j.Slf4j;
/**
* AccessSystemService
* 区域接入系统 service实现
*
* @author zxfei
* @date 2024-06-28
*/
@Service("accessSystemService")
@Slf4j
public class AccessSystemServiceImpl extends AbstractCRUDServiceImpl<AccessSystemDao, AccessSystemEntity, Long> implements AccessSystemService {
}
\ No newline at end of file
package com.mortals.xhx.module.access.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
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.access.model.AccessEntity;
import com.mortals.xhx.module.access.service.AccessService;
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-06-28
*/
@RestController
@RequestMapping("access")
public class AccessController extends BaseCRUDJsonBodyMappingController<AccessService,AccessEntity,Long> {
@Autowired
private ParamService paramService;
public AccessController(){
super.setModuleDesc( "区域接入");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.access.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
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.access.model.AccessSystemEntity;
import com.mortals.xhx.module.access.service.AccessSystemService;
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-06-28
*/
@RestController
@RequestMapping("access/system")
public class AccessSystemController extends BaseCRUDJsonBodyMappingController<AccessSystemService,AccessSystemEntity,Long> {
@Autowired
private ParamService paramService;
public AccessSystemController(){
super.setModuleDesc( "区域接入系统");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "enabled", EnabledEnum.getEnumMap());
super.init(model, context);
}
}
\ No newline at end of file
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###区域接入列表
POST {{baseUrl}}/access/list
Content-Type: application/json
{
"page":1,
"size":10
}
###区域接入更新与保存
POST {{baseUrl}}/access/save
Authorization: {{authToken}}
Content-Type: application/json
{
"areaName":"puTtsP",
"areaCode":"yI3Q50",
"bigPath":"5EdNCy",
"tag":"Nu6DiD",
"sort":0,
"remark":"IWuGf0",
}
> {%
client.global.set("Access_id", JSON.parse(response.body).data.id);
%}
###区域接入查看
GET {{baseUrl}}/access/info?id={{Access_id}}
Accept: application/json
###区域接入编辑
GET {{baseUrl}}/access/edit?id={{Access_id}}
Accept: application/json
###区域接入删除
GET {{baseUrl}}/access/delete?id={{Access_id}}
Authorization: {{authToken}}
Accept: application/json
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###区域接入系统列表
POST {{baseUrl}}/access/system/list
Content-Type: application/json
{
"page":1,
"size":10
}
###区域接入系统更新与保存
POST {{baseUrl}}/access/system/save
Authorization: {{authToken}}
Content-Type: application/json
{
"accessId":20,
"systemName":"7oX31m",
"systemCode":"aooVxK",
"enabled":0,
"accessTime":"1719504000000",
"sort":0,
"remark":"yIVksS",
}
> {%
client.global.set("AccessSystem_id", JSON.parse(response.body).data.id);
%}
###区域接入系统查看
GET {{baseUrl}}/access/system/info?id={{AccessSystem_id}}
Accept: application/json
###区域接入系统编辑
GET {{baseUrl}}/access/system/edit?id={{AccessSystem_id}}
Accept: application/json
###区域接入系统删除
GET {{baseUrl}}/access/system/delete?id={{AccessSystem_id}}
Authorization: {{authToken}}
Accept: application/json
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