38f9af19 by 肖初晴

【DAOP-1.0】企业认证

【功能点】测试问题处理
1 parent 2dc7b4e3
1 package com.csbr.qingcloud.portal.domain.vo;
2
3 import lombok.Data;
4
5 /**
6 * @program: ms-user-scm-service
7 * @description: 行政区
8 * @author: yio
9 * @create: 2021-01-14 15:39
10 **/
11 @Data
12 public class BoroughPOJO {
13 private String code;
14 private String name;
15 private String parentId;
16 private String isPCapital;
17 private String isDeleted;
18 /** 城市等级 (0 一线城市,1 新一线城市,2 二线城市,3 三线城市,4 四线城市,5 五线城市,6 六线城市)*/
19 private String areaLevel;
20 }
...@@ -4,6 +4,7 @@ import com.csbr.cloud.common.config.FastCallFeignConfiguration; ...@@ -4,6 +4,7 @@ import com.csbr.cloud.common.config.FastCallFeignConfiguration;
4 import com.csbr.cloud.common.entity.DictModel; 4 import com.csbr.cloud.common.entity.DictModel;
5 import com.csbr.cloud.common.entity.DictionaryVO; 5 import com.csbr.cloud.common.entity.DictionaryVO;
6 import com.csbr.cloud.common.response.CommonRes; 6 import com.csbr.cloud.common.response.CommonRes;
7 import com.csbr.qingcloud.portal.domain.vo.BoroughPOJO;
7 import com.csbr.qingcloud.portal.domain.vo.RuleDTO; 8 import com.csbr.qingcloud.portal.domain.vo.RuleDTO;
8 import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; 9 import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
9 import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty; 10 import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
...@@ -43,5 +44,8 @@ public interface ConfigureFeign { ...@@ -43,5 +44,8 @@ public interface ConfigureFeign {
43 @PostMapping(value = "/rule/new-code",produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) 44 @PostMapping(value = "/rule/new-code",produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
44 CommonRes<String> newCode(@RequestBody RuleDTO dto); 45 CommonRes<String> newCode(@RequestBody RuleDTO dto);
45 46
47 @GetMapping(value = "/borough/get-borough",produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
48 CommonRes<List<BoroughPOJO>> getBoroughCodeName();
49
46 50
47 } 51 }
......
...@@ -19,6 +19,7 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveServic ...@@ -19,6 +19,7 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveServic
19 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; 19 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
20 import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; 20 import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService;
21 import com.csbr.qingcloud.portal.service.EnterpriseService; 21 import com.csbr.qingcloud.portal.service.EnterpriseService;
22 import com.csbr.qingcloud.portal.util.DateUtil;
22 import csbr.cloud.entity.enums.ApprovalStateEnum; 23 import csbr.cloud.entity.enums.ApprovalStateEnum;
23 import jakarta.annotation.Resource; 24 import jakarta.annotation.Resource;
24 import lombok.extern.slf4j.Slf4j; 25 import lombok.extern.slf4j.Slf4j;
...@@ -141,6 +142,14 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -141,6 +142,14 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
141 TenantRQVO tenantVO = csbrBeanUtil.convert(vo,TenantRQVO.class); 142 TenantRQVO tenantVO = csbrBeanUtil.convert(vo,TenantRQVO.class);
142 tenantVO.setGuid(getTenantGuid(vo.getTenantName())); 143 tenantVO.setGuid(getTenantGuid(vo.getTenantName()));
143 tenantVO.setPersonIncharge(vo.getJuridicalPerson()); 144 tenantVO.setPersonIncharge(vo.getJuridicalPerson());
145 tenantVO.setTenantName(vo.getTenantName());
146 tenantVO.setRegisteredCapital(vo.getRegisteredCapital());
147 tenantVO.setRegistrationDate(DateUtil.getDateToLocal(vo.getRegistrationDate()));
148 tenantVO.setBankTaxNo(vo.getBankTaxNo());
149 tenantVO.setBusinessLicenseScope(vo.getBusinessLicenseScope());
150 tenantVO.setPersonIncharge(vo.getJuridicalPerson());
151 tenantVO.setContacts(vo.getContacts());
152 tenantVO.setContactTel(vo.getContactTel());
144 personelFeign.updateTenant(tenantVO); 153 personelFeign.updateTenant(tenantVO);
145 } 154 }
146 155
......
...@@ -11,12 +11,9 @@ import com.csbr.cloud.common.exception.CsbrUserException; ...@@ -11,12 +11,9 @@ import com.csbr.cloud.common.exception.CsbrUserException;
11 import com.csbr.cloud.common.util.CommonUtil; 11 import com.csbr.cloud.common.util.CommonUtil;
12 import com.csbr.cloud.common.util.CsbrBeanUtil; 12 import com.csbr.cloud.common.util.CsbrBeanUtil;
13 import com.csbr.cloud.common.util.MessageSourceUtil; 13 import com.csbr.cloud.common.util.MessageSourceUtil;
14 import com.csbr.cloud.mq.service.KafkaStdService;
15 import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO; 14 import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO;
16 import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO;
17 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; 15 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
18 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; 16 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
19 import com.csbr.qingcloud.portal.feign.WorkflowFeign;
20 import com.csbr.cloud.workflow.util.ApprovalFlowUtil; 17 import com.csbr.cloud.workflow.util.ApprovalFlowUtil;
21 import com.csbr.cloud.workflow.util.FlowAbstractImpl; 18 import com.csbr.cloud.workflow.util.FlowAbstractImpl;
22 import com.csbr.qingcloud.portal.domain.vo.*; 19 import com.csbr.qingcloud.portal.domain.vo.*;
...@@ -29,31 +26,20 @@ import com.csbr.qingcloud.portal.mybatis.service.MfDemandService; ...@@ -29,31 +26,20 @@ import com.csbr.qingcloud.portal.mybatis.service.MfDemandService;
29 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService; 26 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
30 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; 27 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
31 import com.csbr.qingcloud.portal.service.EnterpriseService; 28 import com.csbr.qingcloud.portal.service.EnterpriseService;
32 import com.csbr.qingcloud.portal.util.ObjectUtil; 29 import com.csbr.qingcloud.portal.util.ChangeInfoUtil;
33 import csbr.cloud.entity.domain.base.vo.PageListVO; 30 import csbr.cloud.entity.domain.base.vo.PageListVO;
34 import csbr.cloud.entity.domain.user.UserInfo; 31 import csbr.cloud.entity.domain.user.UserInfo;
35 import csbr.cloud.entity.enums.ApprovalStateEnum; 32 import csbr.cloud.entity.enums.ApprovalStateEnum;
36 import csbr.cloud.entity.utils.UserContextHolder; 33 import csbr.cloud.entity.utils.UserContextHolder;
37 import io.seata.common.util.DateUtil;
38 import io.seata.spring.annotation.GlobalTransactional; 34 import io.seata.spring.annotation.GlobalTransactional;
39 import jakarta.annotation.Resource; 35 import jakarta.annotation.Resource;
40 import lombok.extern.slf4j.Slf4j; 36 import lombok.extern.slf4j.Slf4j;
41 import org.apache.commons.collections.CollectionUtils; 37 import org.apache.commons.collections.CollectionUtils;
42 import org.apache.commons.lang3.StringUtils; 38 import org.apache.commons.lang3.StringUtils;
43 import org.apache.kafka.clients.consumer.ConsumerRecord;
44 import org.springframework.beans.factory.annotation.Autowired;
45 import org.springframework.kafka.annotation.KafkaListener;
46 import org.springframework.kafka.support.Acknowledgment;
47 import org.springframework.stereotype.Service; 39 import org.springframework.stereotype.Service;
48 import org.springframework.transaction.annotation.Transactional; 40 import org.springframework.transaction.annotation.Transactional;
49 import org.springframework.util.LinkedMultiValueMap;
50 import org.springframework.util.MultiValueMap;
51 import org.springframework.web.context.request.RequestContextHolder;
52 import org.springframework.web.context.request.ServletRequestAttributes;
53
54 import java.util.ArrayList; 41 import java.util.ArrayList;
55 import java.util.Date; 42 import java.util.Date;
56 import java.util.Enumeration;
57 import java.util.List; 43 import java.util.List;
58 44
59 /** 45 /**
...@@ -95,12 +81,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -95,12 +81,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
95 @Resource 81 @Resource
96 private UserFeign userFeign; 82 private UserFeign userFeign;
97 83
98 @Resource
99 private WorkflowFeign workflowFeign;
100
101 @Autowired(required = false)
102 private KafkaStdService kafkaStdService;
103
104 /** 84 /**
105 * 企业信息分页查询 85 * 企业信息分页查询
106 * @author xcq 86 * @author xcq
...@@ -160,7 +140,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -160,7 +140,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
160 } 140 }
161 List<ChangeApproveBean> beanList = getChangeBeanList(approveList); 141 List<ChangeApproveBean> beanList = getChangeBeanList(approveList);
162 try { 142 try {
163 return getChangeList(beanList); 143 return ChangeInfoUtil.getChangeList(beanList);
164 } catch (IllegalAccessException e) { 144 } catch (IllegalAccessException e) {
165 e.printStackTrace(); 145 e.printStackTrace();
166 } 146 }
...@@ -197,7 +177,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -197,7 +177,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
197 beanList.add(bean); 177 beanList.add(bean);
198 List<ChangeInfoVO> list = new ArrayList<>(); 178 List<ChangeInfoVO> list = new ArrayList<>();
199 try { 179 try {
200 list = getChangeList(beanList); 180 list = ChangeInfoUtil.getChangeList(beanList);
201 } catch (IllegalAccessException e) { 181 } catch (IllegalAccessException e) {
202 e.printStackTrace(); 182 e.printStackTrace();
203 } 183 }
...@@ -226,79 +206,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -226,79 +206,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
226 public MfEnterprise newBean; 206 public MfEnterprise newBean;
227 } 207 }
228 208
229 /** 计算变更信息 */
230 public static List<ChangeInfoVO> getChangeList(List<ChangeApproveBean> beanList) throws IllegalAccessException {
231 List<ChangeInfoVO> list = new ArrayList<>();
232 //循环对比每组记录生来变更内容
233 for(ChangeApproveBean item : beanList){
234 List<CompareResult> diffList = ObjectUtil.getBeanDiff(item.oldBean,item.newBean);
235 getVenueResult(item,diffList);
236 getStartEndResult(item,diffList);
237 for(CompareResult diffItem : diffList){
238 if(diffItem.getFieldComment().contains("审批状态") || diffItem.getFieldComment().contains("营业执照")
239 || diffItem.getFieldComment().contains("法人证件照") || diffItem.getFieldComment().contains("管理员证件照")
240 || diffItem.getFieldComment().contains("授权委托书") || diffItem.getFieldComment().contains("省")
241 || diffItem.getFieldComment().contains("市") || diffItem.getFieldComment().contains("区")
242 || diffItem.getFieldComment().contains("营业开始日期") || diffItem.getFieldComment().contains("营业结束日期")){
243 continue;
244 }
245 ChangeInfoVO vo = new ChangeInfoVO();
246 vo.setNameEn(diffItem.getFieldName());
247 vo.setName(diffItem.getFieldComment());
248 vo.setDate(DateUtil.formatDate(item.oldBean.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
249 vo.setBefore(diffItem.getOldValue().toString());
250 vo.setAfter(diffItem.getNewValue().toString());
251 vo.setGuid(CommonUtil.newGuid());
252 list.add(vo);
253 }
254 }
255 return list;
256 }
257
258 private static void getVenueResult(ChangeApproveBean item, List<CompareResult> diffList) {
259 String oldVenue = getVenue(item.oldBean.getProvince(),item.oldBean.getCity(),item.oldBean.getDistrict());
260 String newVenue = getVenue(item.newBean.getProvince(),item.newBean.getCity(),item.newBean.getDistrict());
261 if(!oldVenue.equals(newVenue)){
262 CompareResult result = new CompareResult();
263 result.setFieldComment("注册地");
264 result.setFieldName("venue");
265 result.setOldValue(oldVenue);
266 result.setNewValue(newVenue);
267 diffList.add(result);
268 }
269 }
270
271 private static void getStartEndResult(ChangeApproveBean item, List<CompareResult> diffList) {
272 String oldValue = getStartEnd(item.oldBean.getBusinessLicenseTerm(),item.oldBean.getBusinessLicenseStartDate(),item.oldBean.getBusinessLicenseEndDate());
273 String newValue = getStartEnd(item.newBean.getBusinessLicenseTerm(),item.newBean.getBusinessLicenseStartDate(),item.newBean.getBusinessLicenseEndDate());
274 if(!oldValue.equals(newValue)){
275 CompareResult result = new CompareResult();
276 result.setFieldComment("营业日期范围");
277 result.setFieldName("businessLicenseStartEnd");
278 result.setOldValue(oldValue);
279 result.setNewValue(newValue);
280 diffList.add(result);
281 }
282 }
283
284 private static String getVenue(String province, String city, String district) {
285 if(StringUtils.isBlank(district)){
286 return String.format("%s/%s",province,city);
287 }
288 else{
289 return String.format("%s/%s/%s",province,city,district);
290 }
291 }
292
293
294 private static String getStartEnd(String businessLicenseTerm,Date businessLicenseStartDate, Date businessLicenseEndDate) {
295 if("1".equals(businessLicenseTerm)){
296 return "长期有效";
297 }
298 return String.format("%s至%s",businessLicenseStartDate,businessLicenseEndDate);
299 }
300
301
302 /** 209 /**
303 * 企业信息数据新增 210 * 企业信息数据新增
304 * @author xcq 211 * @author xcq
...@@ -759,8 +666,8 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -759,8 +666,8 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
759 EnterpriseRSVO vo = csbrBeanUtil.convert(entity, EnterpriseRSVO.class); 666 EnterpriseRSVO vo = csbrBeanUtil.convert(entity, EnterpriseRSVO.class);
760 //流程数据处理 667 //流程数据处理
761 vo.setApproveVO(approvalFlowUtil.getApprovalCrossTenantInfo(entity.getGuid())); 668 vo.setApproveVO(approvalFlowUtil.getApprovalCrossTenantInfo(entity.getGuid()));
762 vo.setVenue(getVenue(vo.getProvince(),vo.getCity(),vo.getDistrict())); 669 vo.setVenue(ChangeInfoUtil.getVenue(vo.getProvince(),vo.getCity(),vo.getDistrict()));
763 vo.setBusinessLicenseStartEnd(getStartEnd(vo.getBusinessLicenseTerm(),vo.getBusinessLicenseStartDate(),vo.getBusinessLicenseEndDate())); 670 vo.setBusinessLicenseStartEnd(ChangeInfoUtil.getStartEnd(vo.getBusinessLicenseTerm(),vo.getBusinessLicenseStartDate(),vo.getBusinessLicenseEndDate()));
764 return vo; 671 return vo;
765 } 672 }
766 673
......
1 package com.csbr.qingcloud.portal.util;
2
3 import com.csbr.cloud.common.util.CommonUtil;
4 import com.csbr.cloud.common.util.CsbrBeanUtil;
5 import com.csbr.qingcloud.portal.domain.vo.BoroughPOJO;
6 import com.csbr.qingcloud.portal.domain.vo.ChangeInfoVO;
7 import com.csbr.qingcloud.portal.domain.vo.CompareResult;
8 import com.csbr.qingcloud.portal.feign.ConfigureFeign;
9 import com.csbr.qingcloud.portal.service.impl.EnterpriseServiceImpl;
10 import jakarta.annotation.Resource;
11 import org.apache.commons.collections.CollectionUtils;
12 import org.apache.commons.lang3.StringUtils;
13 import org.springframework.stereotype.Component;
14
15 import java.math.BigDecimal;
16 import java.math.RoundingMode;
17 import java.util.ArrayList;
18 import java.util.Date;
19 import java.util.List;
20 import java.util.stream.Collectors;
21
22 @Component
23 public class ChangeInfoUtil {
24
25 @Resource
26 private static ConfigureFeign configureFeign;
27
28 public static List<BoroughPOJO> areaList;
29
30 /** 计算变更信息 */
31 public static List<ChangeInfoVO> getChangeList(List<EnterpriseServiceImpl.ChangeApproveBean> beanList) throws IllegalAccessException {
32 List<ChangeInfoVO> list = new ArrayList<>();
33 //循环对比每组记录生来变更内容
34 for(EnterpriseServiceImpl.ChangeApproveBean item : beanList){
35 List<CompareResult> diffList = ObjectUtil.getBeanDiff(item.oldBean,item.newBean);
36 getVenueResult(item,diffList);
37 getStartEndResult(item,diffList);
38 getRegistrationDateResult(item,diffList);
39 getRegisteredCapitalResult(item,diffList);
40 for(CompareResult diffItem : diffList){
41 if(diffItem.getFieldComment().contains("审批状态") || diffItem.getFieldComment().contains("营业执照")
42 || diffItem.getFieldComment().contains("法人证件照") || diffItem.getFieldComment().contains("管理员证件照")
43 || diffItem.getFieldComment().contains("授权委托书") || diffItem.getFieldComment().contains("省")
44 || diffItem.getFieldComment().contains("市") || diffItem.getFieldComment().contains("区")
45 || diffItem.getFieldComment().contains("营业开始日期") || diffItem.getFieldComment().contains("营业结束日期")
46 || diffItem.getFieldComment().contains("注册日期") || diffItem.getFieldComment().contains("注册资本")){
47 continue;
48 }
49 ChangeInfoVO vo = new ChangeInfoVO();
50 vo.setNameEn(diffItem.getFieldName());
51 vo.setName(diffItem.getFieldComment());
52 vo.setDate(DateUtil.getDateToString(item.oldBean.getCreateTime()));
53 vo.setBefore(diffItem.getOldValue().toString());
54 vo.setAfter(diffItem.getNewValue().toString());
55 vo.setGuid(CommonUtil.newGuid());
56 list.add(vo);
57 }
58 }
59 return list;
60 }
61
62 private static void getRegisteredCapitalResult(EnterpriseServiceImpl.ChangeApproveBean item, List<CompareResult> diffList) {
63 String oldValue = getRegisteredCapital(item.oldBean.getRegisteredCapital());
64 String newValue = getRegisteredCapital(item.newBean.getRegisteredCapital());
65 if(!oldValue.equals(newValue)){
66 diffList.add(getCompareResult("注册资本","registeredCapital",oldValue,newValue));
67 }
68 }
69
70 private static String getRegisteredCapital(BigDecimal v) {
71 if(v == null){
72 return "";
73 }
74 return v.setScale(2, RoundingMode.HALF_DOWN).toString();
75 }
76
77 public static void getVenueResult(EnterpriseServiceImpl.ChangeApproveBean item, List<CompareResult> diffList) {
78 String oldValue = getVenue(item.oldBean.getProvince(),item.oldBean.getCity(),item.oldBean.getDistrict());
79 String newValue = getVenue(item.newBean.getProvince(),item.newBean.getCity(),item.newBean.getDistrict());
80 if(!oldValue.equals(newValue)){
81 diffList.add(getCompareResult("注册地","venue",oldValue,newValue));
82 }
83 }
84
85 public static void getRegistrationDateResult(EnterpriseServiceImpl.ChangeApproveBean item, List<CompareResult> diffList) {
86 String oldValue = getRegistrationDate(item.oldBean.getRegistrationDate());
87 String newValue = getRegistrationDate(item.newBean.getRegistrationDate());
88 if(!oldValue.equals(newValue)){
89 diffList.add(getCompareResult("注册日期","registrationDate",oldValue,newValue));
90 }
91 }
92
93 private static String getRegistrationDate(Date date) {
94 return DateUtil.getDateToString(date);
95 }
96
97 private static CompareResult getCompareResult(String comment,String name,String oldVenue,String newVenue){
98 CompareResult result = new CompareResult();
99 result.setFieldComment(comment);
100 result.setFieldName(name);
101 result.setOldValue(oldVenue);
102 result.setNewValue(newVenue);
103 return result;
104 }
105
106 public static void getStartEndResult(EnterpriseServiceImpl.ChangeApproveBean item, List<CompareResult> diffList) {
107 String oldValue = getStartEnd(item.oldBean.getBusinessLicenseTerm(),item.oldBean.getBusinessLicenseStartDate(),item.oldBean.getBusinessLicenseEndDate());
108 String newValue = getStartEnd(item.newBean.getBusinessLicenseTerm(),item.newBean.getBusinessLicenseStartDate(),item.newBean.getBusinessLicenseEndDate());
109 if(!oldValue.equals(newValue)){
110 diffList.add(getCompareResult("营业期限","businessLicenseStartEnd",oldValue,newValue));
111 }
112 }
113
114 public static String getVenue(String province, String city, String district) {
115 if(StringUtils.isBlank(district)){
116 return String.format("%s/%s",getName(province),getName(city));
117 }
118 else{
119 return String.format("%s/%s/%s",getName(province),getName(city),getName(district));
120 }
121 }
122
123 private static String getName(String code){
124 if(CollectionUtils.isEmpty(areaList)){
125 areaList = configureFeign.getBoroughCodeName().getData();
126 }
127 List<String> names = areaList.stream().filter(x->x.getCode().equals(code)).map(BoroughPOJO::getName).collect(Collectors.toList());
128 if(CollectionUtils.isEmpty(names)){
129 return "";
130 }
131 return names.get(0);
132 }
133
134
135 public static String getStartEnd(String businessLicenseTerm, Date businessLicenseStartDate, Date businessLicenseEndDate) {
136 if("1".equals(businessLicenseTerm)){
137 return "长期有效";
138 }
139 return String.format("%s至%s",businessLicenseStartDate,businessLicenseEndDate);
140 }
141
142 }
1 package com.csbr.qingcloud.portal.util; 1 package com.csbr.qingcloud.portal.util;
2 2
3 import java.text.SimpleDateFormat; 3 import java.text.SimpleDateFormat;
4 import java.time.LocalDateTime;
5 import java.time.ZoneId;
4 import java.util.Date; 6 import java.util.Date;
5 7
6 public class DateUtil { 8 public class DateUtil {
...@@ -26,6 +28,14 @@ public class DateUtil { ...@@ -26,6 +28,14 @@ public class DateUtil {
26 } 28 }
27 29
28 /** 时间转字符串 */ 30 /** 时间转字符串 */
31 public static String getDateToString(Date time){
32 if(time == null) {
33 return "";
34 }
35 return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time);
36 }
37
38 /** 时间转字符串 */
29 public static String getShortDateToString(Date time){ 39 public static String getShortDateToString(Date time){
30 if(time == null) { 40 if(time == null) {
31 return ""; 41 return "";
...@@ -33,6 +43,14 @@ public class DateUtil { ...@@ -33,6 +43,14 @@ public class DateUtil {
33 return new SimpleDateFormat("yyyy-MM-dd").format(time); 43 return new SimpleDateFormat("yyyy-MM-dd").format(time);
34 } 44 }
35 45
46 /** 时间转本地时间 */
47 public static LocalDateTime getDateToLocal(Date time){
48 if(time == null) {
49 return null;
50 }
51 return time.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
52 }
53
36 /** 字符串时间转日期 */ 54 /** 字符串时间转日期 */
37 public static Date getShortDate(Date time){ 55 public static Date getShortDate(Date time){
38 if(time == null) { 56 if(time == null) {
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!