扩展实现

main
liuyiliang 3 months ago
parent a2942f7ddb
commit ad0de10c8d
  1. 4
      ccic-business/src/main/resources/bootstrap.yml
  2. 43
      ccic-entity/src/main/java/com/ccic/safeliab/entity/BaseEntity.java
  3. 11
      ccic-entity/src/main/java/com/ccic/safeliab/entity/ExDict.java
  4. 6
      ccic-exam/pom.xml
  5. 6
      ccic-exam/src/main/java/com/ccic/safeliab/service/DictService.java
  6. 6
      ccic-exam/src/main/java/com/ccic/safeliab/service/DictServiceImpl.java
  7. 33
      ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsService.java
  8. 67
      ccic-exam/src/main/java/com/ccic/safeliab/service/StatisticsServiceImpl.java
  9. 9
      ccic-exam/src/main/java/com/ccic/safeliab/support/BaseService.java
  10. 50
      ccic-exam/src/main/java/com/ccic/safeliab/support/BaseServiceImpl.java
  11. 14
      ccic-exam/src/main/java/com/ccic/safeliab/vo/CustomerVO.java
  12. 1
      ccic-exam/src/main/java/com/ccic/safeliab/web/DictController.java
  13. 23
      ccic-exam/src/main/java/com/ccic/safeliab/web/StatisticsController.java
  14. 2
      ccic-exam/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

@ -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() {
}
}

@ -33,14 +33,15 @@ import java.io.Serializable;
*/
@Data
@TableName("ex_dict")
public class ExDict implements Serializable {
public class ExDict extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "event_id", type = IdType.INPUT)
// @TableId(value = "id", type = IdType.INPUT)
@TableId(value = "id", type = IdType.ID_WORKER)
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
@ -75,11 +76,5 @@ public class ExDict implements Serializable {
*/
private String remark;
/**
* 是否已删除
*/
@TableLogic
private Integer isDeleted;
}

@ -175,6 +175,12 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>com.ccic.safeliab</groupId>
<artifactId>ccic-business</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>

@ -15,17 +15,17 @@
*/
package com.ccic.safeliab.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ccic.safeliab.entity.ExDict;
import com.ccic.safeliab.support.BaseService;
import java.util.List;
/**
* 服务类
*
* @author Chill
* @author edwong
*/
public interface DictService extends IService<ExDict> {
public interface DictService extends BaseService<ExDict> {
/**
* 获取字典表

@ -15,9 +15,11 @@
*/
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;
@ -25,10 +27,10 @@ import java.util.List;
/**
* 服务实现类
*
* @author Chill
* @author edwong
*/
@Service
public class DictServiceImpl extends ServiceImpl<DictMapper, ExDict> implements DictService {
public class DictServiceImpl extends BaseServiceImpl<DictMapper, ExDict> implements DictService {
@Override

@ -0,0 +1,33 @@
/**
* Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com).
* <p>
* 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
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* 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<Customer> findPage(CustomerVO customer);
}

@ -0,0 +1,67 @@
/**
* Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com).
* <p>
* 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
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* 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<Customer> findPage(CustomerVO customer) {
Page<Customer> page = new Page(customer.getPage(), customer.getNum());
QueryWrapper<Customer> 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;
}
}

@ -0,0 +1,9 @@
package com.ccic.safeliab.support;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
public interface BaseService<T> extends IService<T> {
boolean deleteLogic(List<Long> ids);
}

@ -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<M extends BaseMapper<T>, T extends BaseEntity> extends ServiceImpl<M, T> implements BaseService<T> {
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<Long> ids) {
return super.removeByIds(ids);
}
}

@ -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;
}

@ -18,7 +18,6 @@ package com.ccic.safeliab.web;
import com.ccic.safeliab.util.R;
import com.ccic.safeliab.entity.ExDict;
import com.ccic.safeliab.service.DictService;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;

@ -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));
}
}

@ -55,4 +55,4 @@ spring:
file-extension: yaml
#生产环境
namespace: safeliab-uat
workerID: 1
Loading…
Cancel
Save