diff --git a/ccic-business/src/main/resources/bootstrap.yml b/ccic-business/src/main/resources/bootstrap.yml index 95d2dd7..ab65b45 100644 --- a/ccic-business/src/main/resources/bootstrap.yml +++ b/ccic-business/src/main/resources/bootstrap.yml @@ -45,7 +45,7 @@ spring: discovery: group: ${spring.profiles.active} #生产环境 - namespace: safeliab + namespace: safeliab-uat # 配置 config: server-addr: 10.3.67.7:8848 @@ -54,5 +54,5 @@ spring: group: ${spring.profiles.active} file-extension: yaml #生产环境 - namespace: safeliab + namespace: safeliab-uat diff --git a/ccic-entity/src/main/java/com/ccic/safeliab/entity/BaseEntity.java b/ccic-entity/src/main/java/com/ccic/safeliab/entity/BaseEntity.java new file mode 100644 index 0000000..633eb4f --- /dev/null +++ b/ccic-entity/src/main/java/com/ccic/safeliab/entity/BaseEntity.java @@ -0,0 +1,43 @@ +package com.ccic.safeliab.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class BaseEntity { + @JsonSerialize( + using = ToStringSerializer.class + ) + private Long createdBy; + @DateTimeFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + @JsonFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + private Date createAt; + @JsonSerialize( + using = ToStringSerializer.class + ) + private Long updateBy; + @DateTimeFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + @JsonFormat( + pattern = "yyyy-MM-dd HH:mm:ss" + ) + private Date updateAt; + private Integer status; + @TableLogic + private Integer isDeleted; + + public BaseEntity() { + } + +} diff --git a/ccic-entity/src/main/java/com/ccic/safeliab/entity/ExDict.java b/ccic-entity/src/main/java/com/ccic/safeliab/entity/ExDict.java new file mode 100644 index 0000000..7e794b5 --- /dev/null +++ b/ccic-entity/src/main/java/com/ccic/safeliab/entity/ExDict.java @@ -0,0 +1,80 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.ccic.safeliab.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +/** + * 实体类 + * + * @author Chill + */ +@Data +@TableName("ex_dict") +public class ExDict extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ +// @TableId(value = "id", type = IdType.INPUT) + @TableId(value = "id", type = IdType.ID_WORKER) + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + + /** + * 父主键 + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long parentId; + + /** + * 字典码 + */ + private String code; + + /** + * 字典值 + */ + private Integer dictKey; + + /** + * 字典名称 + */ + private String dictValue; + + /** + * 排序 + */ + private Integer sort; + + /** + * 字典备注 + */ + private String remark; + + +} diff --git a/ccic-entity/src/main/java/com/ccic/safeliab/entity/InsDemo.java b/ccic-entity/src/main/java/com/ccic/safeliab/entity/InsDemo.java new file mode 100644 index 0000000..7db63a4 --- /dev/null +++ b/ccic-entity/src/main/java/com/ccic/safeliab/entity/InsDemo.java @@ -0,0 +1,77 @@ +package com.ccic.safeliab.entity; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 演示 + *

+ * + * @author testjava + * @since 2022-11-05 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("ins_demo") +public class InsDemo implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.NONE) + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long id; + + /** + * 编码 + */ + private String code; + + /** + * 名称 + */ + private String name; + + /** + * 創建人ID + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + @TableField(fill = FieldFill.INSERT) + private Long createUser; + + /** + * 修改人ID + */ + @JsonFormat(shape = JsonFormat.Shape.STRING) + @TableField(fill = FieldFill.INSERT) + private Long updateUser; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createTime; + + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateTime; + + /** + * 状态 + */ + private int status; + + /** + * 删除标识 + */ + private int isDeleted; +} diff --git a/ccic-exam/pom.xml b/ccic-exam/pom.xml index db9f844..2cce39f 100644 --- a/ccic-exam/pom.xml +++ b/ccic-exam/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - ccic-emam + ccic-exam 1.0-SNAPSHOT @@ -175,6 +175,12 @@ org.apache.commons commons-pool2 + + com.ccic.safeliab + ccic-business + 1.0-SNAPSHOT + compile + diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/dao/DictMapper.java b/ccic-exam/src/main/java/com/ccic/safeliab/dao/DictMapper.java new file mode 100644 index 0000000..cf9c082 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/dao/DictMapper.java @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.ccic.safeliab.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ccic.safeliab.entity.ExDict; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * Mapper 接口 + * + * @author Chill + */ +@Mapper +public interface DictMapper extends BaseMapper { + + + /** + * 获取字典表 + * + * @param code 字典编号 + * @return + */ + List getList(String code); + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/filter/TokenAuthenticationFilter.java b/ccic-exam/src/main/java/com/ccic/safeliab/filter/TokenAuthenticationFilter.java index 4d590cb..22efc9b 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/filter/TokenAuthenticationFilter.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/filter/TokenAuthenticationFilter.java @@ -26,7 +26,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { //System.out.println("经过了此过滤器"); String uri = httpServletRequest.getRequestURI(); if (uri.indexOf("login") > 0 || uri.indexOf("getWorkId") > 0 || uri.indexOf("userLogin") > 0 - || uri.indexOf("userWxLogin") > 0 || uri.indexOf("demo") > 0) { + || uri.indexOf("userWxLogin") > 0 || uri.indexOf("demo") > 0 || uri.indexOf("ex") > 0) { filterChain.doFilter(httpServletRequest, httpServletResponse); return; } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/DictService.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/DictService.java new file mode 100644 index 0000000..c767792 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/DictService.java @@ -0,0 +1,37 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.ccic.safeliab.service; + +import com.ccic.safeliab.entity.ExDict; +import com.ccic.safeliab.support.BaseService; + +import java.util.List; + +/** + * 服务类 + * + * @author edwong + */ +public interface DictService extends BaseService { + + /** + * 获取字典表 + * + * @param code 字典编号 + * @return + */ + List getList(String code); +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/DictServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/DictServiceImpl.java new file mode 100644 index 0000000..e355619 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/DictServiceImpl.java @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.ccic.safeliab.service; + +import cn.hutool.crypto.SecureUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ccic.safeliab.dao.DictMapper; +import com.ccic.safeliab.entity.ExDict; +import com.ccic.safeliab.support.BaseServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 服务实现类 + * + * @author edwong + */ +@Service +public class DictServiceImpl extends BaseServiceImpl implements DictService { + + + @Override + public List getList(String code) { + return baseMapper.getList(code); + } + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsService.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsService.java new file mode 100644 index 0000000..1fc65e8 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsService.java @@ -0,0 +1,33 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.ccic.safeliab.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ccic.safeliab.entity.Customer; +import com.ccic.safeliab.vo.CustomerVO; + +import java.util.Map; + + +/** + * 服务类 + * + * @author edwong + */ +public interface StatisticsService { + + Page findPage(CustomerVO customer); +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsServiceImpl.java new file mode 100644 index 0000000..90e45a7 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsServiceImpl.java @@ -0,0 +1,67 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.ccic.safeliab.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ccic.safeliab.entity.Customer; +import com.ccic.safeliab.entity.Device; +import com.ccic.safeliab.entity.User; +import com.ccic.safeliab.support.Condition; +import com.ccic.safeliab.util.CcicUtill; +import com.ccic.safeliab.vo.CustomerVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.Map; + + +/** + * 服务实现类 + * + * @author edwong + */ +@Service +public class StatisticsServiceImpl implements StatisticsService { + + @Autowired + private ICustomerService customerService; + + @Override + public Page findPage(CustomerVO customer) { + Page page = new Page(customer.getPage(), customer.getNum()); + QueryWrapper wrapper = Condition.getQueryWrapper(customer); + if (!StringUtils.isEmpty(customer.getKeyword())) { + // 客户名称与编号过滤 + wrapper.lambda().like(Customer::getCustomerName, customer.getKeyword()) + .or() + .like(Customer::getCustomerNo, customer.getKeyword()); + } + if (!StringUtils.isEmpty(customer.getTypePid())) { + // 归属机构 + wrapper.lambda().eq(Customer::getTypePid, customer.getTypePid()); + } + if (!StringUtils.isEmpty(customer.getTypePid())) { + // 管理分类 + wrapper.lambda().eq(Customer::getTypePid, customer.getTypePid()); + } + wrapper.orderByDesc("changed_at"); + customerService.page(page,wrapper); + + return page; + } +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseService.java b/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseService.java new file mode 100644 index 0000000..2631f29 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseService.java @@ -0,0 +1,9 @@ +package com.ccic.safeliab.support; + +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +public interface BaseService extends IService { + boolean deleteLogic(List ids); +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseServiceImpl.java new file mode 100644 index 0000000..ad021a5 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/support/BaseServiceImpl.java @@ -0,0 +1,50 @@ +package com.ccic.safeliab.support; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ccic.safeliab.entity.BaseEntity; +import com.ccic.safeliab.entity.Customer; +import org.springframework.validation.annotation.Validated; + +import java.util.Date; +import java.util.List; + +@Validated +public class BaseServiceImpl, T extends BaseEntity> extends ServiceImpl implements BaseService { + public BaseServiceImpl() { + } + + public boolean save(T entity) { + Customer user = new Customer(); + user.setCustomerId(Long.parseLong("3009473735814009")); + if (user != null) { + entity.setCreatedBy(user.getCustomerId()); + entity.setUpdateBy(user.getCustomerId()); + } + + Date now = new Date(); + entity.setCreateAt(now); + entity.setUpdateAt(now); + if (entity.getStatus() == null) { + entity.setStatus(1); + } + + entity.setIsDeleted(0); + return super.save(entity); + } + + public boolean updateById(T entity) { + Customer user = new Customer(); + if (user != null) { + entity.setUpdateBy(user.getCustomerId()); + } + + entity.setUpdateAt(new Date()); + return super.updateById(entity); + } + + public boolean deleteLogic(List ids) { + return super.removeByIds(ids); + } +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/vo/CustomerVO.java b/ccic-exam/src/main/java/com/ccic/safeliab/vo/CustomerVO.java new file mode 100644 index 0000000..c4998a6 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/vo/CustomerVO.java @@ -0,0 +1,14 @@ +package com.ccic.safeliab.vo; + +import com.ccic.safeliab.entity.Customer; +import lombok.Data; + +@Data +public class CustomerVO extends Customer { + + private String keyword; + + private Integer page; + + private Integer num; +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/web/DemoController.java b/ccic-exam/src/main/java/com/ccic/safeliab/web/DemoController.java index a1b68c6..18e2eb9 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/web/DemoController.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/web/DemoController.java @@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController -@RequestMapping("/demo") +@RequestMapping("/ex/demo") public class DemoController { @Autowired diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/web/DictController.java b/ccic-exam/src/main/java/com/ccic/safeliab/web/DictController.java new file mode 100644 index 0000000..99004d5 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/web/DictController.java @@ -0,0 +1,50 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.ccic.safeliab.web; + +import com.ccic.safeliab.util.R; +import com.ccic.safeliab.entity.ExDict; +import com.ccic.safeliab.service.DictService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import java.util.List; + + +/** + * 控制器 + * + * @author Chill + */ +@RestController +@RequestMapping("/ex/dict") +public class DictController { + + @Autowired + private DictService dictService; + + /** + * 获取字典 + * + * @return + */ + @GetMapping("/dictionary") + public R dictionary(String code) { + List tree = dictService.getList(code); + return R.ok().data(tree); + } + + +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/web/StatisticsController.java b/ccic-exam/src/main/java/com/ccic/safeliab/web/StatisticsController.java new file mode 100644 index 0000000..af5e8a2 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/web/StatisticsController.java @@ -0,0 +1,23 @@ +package com.ccic.safeliab.web; + +import com.ccic.safeliab.service.StatisticsService; +import com.ccic.safeliab.util.R; +import com.ccic.safeliab.vo.CustomerVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +@RestController +@RequestMapping("/ex/statistics") +public class StatisticsController { + + @Autowired + private StatisticsService statisticsService; + + @PostMapping("/page") + public R page(@RequestBody CustomerVO customer) { + return R.ok().dataPage(statisticsService.findPage(customer)); + } + + +} diff --git a/ccic-exam/src/main/resources/bootstrap.yml b/ccic-exam/src/main/resources/bootstrap.yml index 58af5e6..acfd355 100644 --- a/ccic-exam/src/main/resources/bootstrap.yml +++ b/ccic-exam/src/main/resources/bootstrap.yml @@ -55,4 +55,4 @@ spring: file-extension: yaml #生产环境 namespace: safeliab-uat - +workerID: 1 \ No newline at end of file diff --git a/ccic-exam/src/main/resources/mappers/DictMapper.xml b/ccic-exam/src/main/resources/mappers/DictMapper.xml new file mode 100644 index 0000000..3395eea --- /dev/null +++ b/ccic-exam/src/main/resources/mappers/DictMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + +