Selaa lähdekoodia

update 医院时间类型改为Bigint

18339543638 3 vuotta sitten
vanhempi
commit
c4ce2fd3b1

+ 52 - 0
coffee-admin/src/main/test/java/com/coffee/admin/BusHospitalTest.java

@@ -0,0 +1,52 @@
+package com.coffee.admin;
+
+import cn.dev33.satoken.stp.StpUtil;
+import com.coffee.bus.controller.BusHospitalController;
+import com.coffee.bus.entity.BusHospitalEntity;
+import com.coffee.bus.service.LocalBusHospitalService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName BusHospitalTest.java
+ * @Description TODO
+ * @createTime 2022年03月19日 10:27:00
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AdminApplication.class)
+public class BusHospitalTest {
+    @Autowired
+    private LocalBusHospitalService busHospitalService;
+
+    @Autowired
+    private BusHospitalController busHospitalController;
+    @Test
+    public void save(){
+//        StpUtil.login();
+        BusHospitalEntity busHospitalEntity = new BusHospitalEntity();
+        busHospitalEntity.setAddress("河南长垣");
+        busHospitalEntity.setAreaCode("453400");
+
+        BusHospitalEntity.GeoPoint geoPoint = new BusHospitalEntity.GeoPoint();
+        geoPoint.setLat("101");
+        geoPoint.setLon("1010");
+        busHospitalEntity.setCoordinate(geoPoint);
+        busHospitalEntity.setName("人民医院");
+        busHospitalEntity.setTelephone("18339543637");
+        busHospitalEntity.setEmail("493216081@qq.com");
+        busHospitalController.add(busHospitalEntity);
+    }
+
+    @Test
+    public void query(){
+        List<BusHospitalEntity> list = busHospitalService.list();
+        System.out.println(list);
+    }
+}

+ 1 - 0
coffee-admin/src/main/test/java/com/coffee/admin/SpringBootApplicationTests.java

@@ -27,4 +27,5 @@ public class SpringBootApplicationTests {
         long count = testController.getService().count();
         Assert.assertEquals(count,1);
     }
+
 }

+ 45 - 0
coffee-common/src/main/java/com/coffee/common/config/mybatis/DateToBigIntHandler.java

@@ -0,0 +1,45 @@
+package com.coffee.common.config.mybatis;
+
+import org.apache.ibatis.type.*;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Date;
+
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName DateToBigIntHandler.java
+ * @Description TODO
+ * @createTime 2022年03月21日 09:58:00
+ */
+@MappedTypes(Date.class)
+@MappedJdbcTypes(JdbcType.BIGINT)
+public class DateToBigIntHandler implements TypeHandler<Date> {
+
+    @Override
+    public void setParameter(PreparedStatement ps, int i, Date parameter, JdbcType jdbcType) throws SQLException {
+        ps.setObject(i,parameter.getTime());
+    }
+
+    @Override
+    public Date getResult(ResultSet rs, String columnName) throws SQLException {
+        long result = rs.getLong(columnName);
+        return result==0?null:new Date(result);
+    }
+
+    @Override
+    public Date getResult(ResultSet rs, int columnIndex) throws SQLException {
+        long result = rs.getLong(columnIndex);
+        return result==0?null:new Date(result);
+    }
+
+    @Override
+    public Date getResult(CallableStatement cs, int columnIndex) throws SQLException {
+        long result = cs.getLong(columnIndex);
+        return result==0?null:new Date(result);
+    }
+}

+ 15 - 4
coffee-common/src/main/java/com/coffee/common/crud/BaseService.java

@@ -16,9 +16,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
 import com.coffee.common.entity.QueryParamEntity;
 import com.coffee.common.entity.param.Term;
+import com.coffee.common.exception.CustomException;
 import org.apache.ibatis.binding.MapperMethod;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.jdbc.BadSqlGrammarException;
 
 import java.io.Serializable;
+import java.sql.SQLSyntaxErrorException;
 import java.util.Collection;
 import java.util.List;
 import java.util.Objects;
@@ -154,10 +158,17 @@ public abstract class BaseService<M extends BaseMapper<E>, E,PK extends Serializ
         if(ObjectUtil.isNotNull(param.getPage())){
             return this.page(param.getPage(),build(param));
         }else {
-            List<E> list = list(build(param));
-            Page<E> page = Page.of(0,1,CollectionUtil.isEmpty(list)?0:list.size());
-            page.setRecords(list);
-            return page;
+            try {
+                List<E> list = list(build(param));
+                Page<E> page = Page.of(0,1,CollectionUtil.isEmpty(list)?0:list.size());
+                page.setRecords(list);
+                return page;
+            }catch (Exception e){
+                if(e instanceof BadSqlGrammarException){
+                    throw new CustomException(e.getCause().getMessage());
+                }
+            }
+            return  new Page<>();
         }
     }
 

+ 0 - 39
coffee-common/src/main/java/com/coffee/common/crud/controller/BaseSaveController.java

@@ -27,47 +27,10 @@ public interface BaseSaveController<E,K extends Serializable> extends
     BaseService<? extends Mapper<E>,E,K> getService();
 
 
-
-    default E applyCreationEntity(E entity) {
-        RecordCreationEntity creationEntity = ((RecordCreationEntity) entity);
-        creationEntity.setCreateTimeNow();
-        try {
-            creationEntity.setCreateBy(StpUtil.getLoginIdAsString());
-        }catch (Exception e){
-            creationEntity.setCreateBy("-1");
-        }
-        return entity;
-    }
-
-    default E applyModifierEntity( E entity) {
-        RecordModifierEntity modifierEntity = ((RecordModifierEntity) entity);
-        modifierEntity.setModifyTimeNow();
-        try {
-            modifierEntity.setUpdateBy(StpUtil.getLoginIdAsString());
-        }catch (Exception e){
-            modifierEntity.setUpdateBy("-1");
-        }
-
-        return entity;
-    }
-
-    default E applyAuthentication(E entity) {
-        if (entity instanceof RecordCreationEntity) {
-            entity = applyCreationEntity(entity);
-        }
-        if (entity instanceof RecordModifierEntity) {
-            entity = applyModifierEntity(entity);
-        }
-        return entity;
-    }
-
     @PostMapping("/_batch")
     @Operation(summary = "批量新增数据")
     default R add(@RequestBody List<E> payload) {
         saveAuth();
-        payload.forEach(s->{
-            applyCreationEntity(s);
-        });
         return getService().saveBatch(payload)?R.success():R.fail("数据新增失败");
     }
 
@@ -75,7 +38,6 @@ public interface BaseSaveController<E,K extends Serializable> extends
     @Operation(summary = "新增单个数据,并返回新增后的数据.")
     default R add(@RequestBody E payload) {
         saveAuth();
-        applyCreationEntity(payload);
         return getService().save(payload)?R.success(payload):R.fail("数据新增失败");
     }
 
@@ -84,7 +46,6 @@ public interface BaseSaveController<E,K extends Serializable> extends
     @Operation(summary = "根据ID修改数据")
     default R update(@RequestBody E payload) {
         editAuth();
-        applyModifierEntity(payload);
         return getService().updateById(payload)?R.success():R.fail("更新失败");
     }
 }

+ 2 - 1
coffee-framework/src/main/java/com/coffee/framework/config/mybatisplus/handler/CreateAndUpdateMetaObjectHandler.java

@@ -37,7 +37,8 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
                 this.strictUpdateFill(metaObject, UPDATE_TIME, Date.class, new Date());
             }
             if (metaObject.hasGetter(UPDATE_BY) && metaObject.getValue(UPDATE_BY) == null) {
-                this.strictUpdateFill(metaObject, UPDATE_BY, String.class, SecurityUtil.getLoginUser().getSysUser().getId().toString());
+                LoginUser loginUser = SecurityUtil.getLoginUser();
+                this.strictUpdateFill(metaObject, UPDATE_BY, String.class, Objects.isNull(loginUser) ? null : loginUser.getSysUser().getId().toString());
             }
         } catch (Exception e) {
             throw new CustomException(ResultCode.INTERNAL_SERVER_ERROR.getMessage());

+ 7 - 0
coffee-system/src/main/java/com/coffee/bus/entity/BusHospitalEntity.java

@@ -1,8 +1,10 @@
 package com.coffee.bus.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.coffee.common.config.mybatis.DateToBigIntHandler;
 import com.coffee.common.entity.GenericEntity;
 import com.coffee.common.entity.RecordCreationEntity;
 import com.coffee.common.entity.RecordModifierEntity;
@@ -56,8 +58,13 @@ public class BusHospitalEntity extends GenericEntity<Long> implements RecordModi
     private GeoPoint coordinate;
 
     private String createBy;
+
     private String updateBy;
+
+    @TableField(typeHandler = DateToBigIntHandler.class,fill = FieldFill.INSERT)
     private Date createTime;
+
+    @TableField(typeHandler = DateToBigIntHandler.class,fill = FieldFill.UPDATE)
     private Date updateTime;
 
     @Data