Browse Source

后端 8.2.2, 修复 License 的 bug

main
wangshaoping 2 months ago
parent
commit
dbc8fe7c04
  1. 4
      erm.frontend/package.json
  2. 6
      gradle.properties
  3. 4
      io.sc.engine.mv.frontend/package.json
  4. 4
      io.sc.engine.rule.frontend/package.json
  5. 4
      io.sc.engine.st.frontend/package.json
  6. 4
      io.sc.platform.core.frontend/template-project/package.json
  7. 10
      io.sc.platform.core/src/main/java/io/sc/platform/core/License.java
  8. 14
      io.sc.platform.core/src/main/java/io/sc/platform/core/service/impl/LicenseManagerServiceImpl.java
  9. 4
      io.sc.platform.developer.doc/package.json
  10. 4
      io.sc.platform.developer.frontend/package.json
  11. 6
      io.sc.platform.gradle/templates/pgp/setup/gradle.properties
  12. 4
      io.sc.platform.lcdp.frontend/package.json
  13. 4
      io.sc.platform.license.keygen.frontend/package.json
  14. 17
      io.sc.platform.license.keygen.frontend/src/views/license/KeyGenerator.vue
  15. 25
      io.sc.platform.license.keygen/src/main/java/io/sc/platform/license/keygen/controller/LicenseKeyGeneratorWebController.java
  16. 28
      io.sc.platform.license.keygen/src/main/java/io/sc/platform/license/keygen/jpa/entity/LicenseEntity.java
  17. 18
      io.sc.platform.license.keygen/src/main/java/io/sc/platform/license/keygen/jpa/vo/LicenseVo.java
  18. 2
      io.sc.platform.license.keygen/src/main/java/io/sc/platform/license/keygen/service/impl/LicenseKeyGeneratorServiceImpl.java
  19. 53
      io.sc.platform.license.keygen/src/main/java/io/sc/platform/license/keygen/service/impl/LicenseServiceImpl.java
  20. 4
      io.sc.platform.mvc.frontend/package.json
  21. 4
      io.sc.platform.scheduler.manager.frontend/package.json
  22. 4
      io.sc.platform.system.frontend/package.json
  23. 6
      io.sc.platform.system.frontend/src/views/license/License.vue
  24. 4
      io.sc.standard.frontend/package.json
  25. 2
      io.sc.standard.frontend/src/views/standard/FinancialReportingSubject.vue
  26. 4
      io.sc.website/package.json

4
erm.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "erm.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"pinia-undo": "0.2.4",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

6
gradle.properties

@ -36,9 +36,9 @@ application_version=1.0.0
# platform
######################################gra#####################
platform_group=io.sc
platform_version=8.2.1
platform_plugin_version=8.2.1
platform_core_frontend_version=8.2.7
platform_version=8.2.2
platform_plugin_version=8.2.2
platform_core_frontend_version=8.2.8
###########################################################
# dependencies version

4
io.sc.engine.mv.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.engine.mv.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"pinia-undo": "0.2.4",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

4
io.sc.engine.rule.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.engine.rule.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"pinia-undo": "0.2.4",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

4
io.sc.engine.st.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.engine.st.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"pinia-undo": "0.2.4",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

4
io.sc.platform.core.frontend/template-project/package.json

@ -1,6 +1,6 @@
{
"name": "platform-core",
"version": "8.2.7",
"version": "8.2.8",
"description": "前端核心包,用于快速构建前端的脚手架",
"private": false,
"keywords": [],
@ -110,7 +110,7 @@
"mockjs": "1.1.0",
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

10
io.sc.platform.core/src/main/java/io/sc/platform/core/License.java

@ -12,7 +12,6 @@ public class License {
private String consumerName; //用户名称
private String description; //描述信息
private LicenseType type; //类型
private Date issuedDate; //发行日期
private Date startDate; //开始日期
private Date expiredDate; //结束日期
private Integer term; //期限(天数)
@ -30,7 +29,6 @@ public class License {
license.setConsumerName(consumerName);
license.setDescription("Free Trial License");
license.setType(LicenseType.TRIAL);
license.setIssuedDate(new Date());
license.setStartDate(new Date());
license.setTerm(7);
return license;
@ -76,14 +74,6 @@ public class License {
this.type = type;
}
public Date getIssuedDate() {
return issuedDate;
}
public void setIssuedDate(Date issuedDate) {
this.issuedDate = issuedDate;
}
public Date getStartDate() {
return startDate;
}

14
io.sc.platform.core/src/main/java/io/sc/platform/core/service/impl/LicenseManagerServiceImpl.java

@ -77,11 +77,11 @@ public class LicenseManagerServiceImpl implements LicenseManagerService {
private void verify(License license){
switch (license.getType()) {
case TRIAL:
verifyTerm(license);
verifyExpired(license);
verifyMacAddress(license);
break;
case TERM:
verifyTerm(license);
verifyExpired(license);
verifyMacAddress(license);
break;
case EXPIRED:
@ -94,16 +94,6 @@ public class LicenseManagerServiceImpl implements LicenseManagerService {
}
}
private void verifyTerm(License license) {
Calendar expiredCalendar = Calendar.getInstance();
expiredCalendar.setTime(license.getIssuedDate());
expiredCalendar.add(Calendar.DATE, license.getTerm());
if (new Date().getTime() > expiredCalendar.getTime().getTime()) {
license.setStatus(LicenseStatus.EXPIRED);
}
}
private void verifyExpired(License license) {
Calendar expiredCalendar = Calendar.getInstance();
expiredCalendar.setTime(license.getExpiredDate());

4
io.sc.platform.developer.doc/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.platform.developer.doc",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"main": "index.js",
"scripts": {
@ -28,7 +28,7 @@
"vuepress": "2.0.0-rc.15"
},
"dependencies": {
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"vue": "3.5.13",
"vue-i18n": "10.0.4"

4
io.sc.platform.developer.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.platform.developer.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"pinia-undo": "0.2.4",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

6
io.sc.platform.gradle/templates/pgp/setup/gradle.properties

@ -36,9 +36,9 @@ application_version=1.0.0
# platform
######################################gra#####################
platform_group=io.sc
platform_version=8.2.1
platform_plugin_version=8.2.1
platform_core_frontend_version=8.2.7
platform_version=8.2.2
platform_plugin_version=8.2.2
platform_core_frontend_version=8.2.8
###########################################################
# dependencies version

4
io.sc.platform.lcdp.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.platform.lcdp.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"pinia-undo": "0.2.4",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

4
io.sc.platform.license.keygen.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.platform.license.keygen.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"pinia-undo": "0.2.4",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

17
io.sc.platform.license.keygen.frontend/src/views/license/KeyGenerator.vue

@ -5,8 +5,9 @@
:config-button="true"
selection="multiple"
:checkbox-selection="true"
db-click-operation="edit"
:data-url="Environment.apiContextPath('/api/license/keygen')"
:sort-by="['-lastModifyDate']"
:sort-by="['consumerName']"
:query-form-cols-num="2"
:query-form-fields="[{ name: 'consumerName', label: $t('license.keygen.grid.entity.consumerName'), type: 'w-text' }]"
:toolbar-configure="{ noIcon: false }"
@ -36,10 +37,9 @@
'export',
]"
:columns="[
{ width: 150, name: 'productName', label: $t('license.keygen.grid.entity.productName') },
{ width: '*', name: 'consumerName', label: $t('license.keygen.grid.entity.consumerName') },
{
width: 140,
width: 200,
name: 'macAddresses',
label: $t('license.keygen.grid.entity.macAddressesOnly'),
format: (value, row) => {
@ -59,15 +59,13 @@
},
},
{
width: 100,
width: 150,
name: 'type',
label: $t('license.keygen.grid.entity.type'),
format: Formater.enum(LicenseTypeEnum),
},
{ width: 80, name: 'term', label: $t('license.keygen.grid.entity.term'), align: 'right' },
{ width: 140, name: 'issuedDate', label: $t('license.keygen.grid.entity.issuedDate') },
{ width: 140, name: 'startDate', label: $t('license.keygen.grid.entity.startDate') },
{ width: 140, name: 'expiredDate', label: $t('license.keygen.grid.entity.expiredDate') },
{ width: 100, name: 'term', label: $t('license.keygen.grid.entity.term'), align: 'right' },
{ width: 200, name: 'expiredDate', label: $t('license.keygen.grid.entity.expiredDate') },
]"
:editor="{
dialog: {
@ -108,12 +106,9 @@
columnNum: 1,
fields: [
{ name: 'id', label: $t('id') },
{ name: 'productName', label: $t('license.keygen.grid.entity.productName') },
{ name: 'consumerName', label: $t('license.keygen.grid.entity.consumerName') },
{ name: 'description', label: $t('license.keygen.grid.entity.description') },
{ name: 'type', label: $t('license.keygen.grid.entity.type') },
{ name: 'issuedDate', label: $t('license.keygen.grid.entity.issuedDate') },
{ name: 'startDate', label: $t('license.keygen.grid.entity.startDate') },
{ name: 'expiredDate', label: $t('license.keygen.grid.entity.expiredDate') },
{ name: 'macAddresses', label: $t('license.keygen.grid.entity.macAddresses') },
{ name: 'creator', label: $t('creator') },

25
io.sc.platform.license.keygen/src/main/java/io/sc/platform/license/keygen/controller/LicenseKeyGeneratorWebController.java

@ -120,29 +120,4 @@ public class LicenseKeyGeneratorWebController {
public void generateLicenseFile(@PathVariable(name="id",required=true)String id, HttpServletRequest request, HttpServletResponse response) throws Exception{
licenseKeyGeneratorService.generate(request, response,id);
}
private void format(LicenseEntity entity) {
if(!StringUtils.hasText(entity.getProductName())) {
entity.setProductName(License.PRODUCT_NAME);
}
entity.setIssuedDate(new Date());
switch(entity.getType()){
case TRIAL:
entity.setTerm(7);
entity.setExpiredDate(null);
break;
case TERM:
entity.setExpiredDate(null);
break;
case EXPIRED:
entity.setStartDate(new Date());
entity.setTerm(null);
break;
case PERMANENCE:
entity.setTerm(null);
entity.setStartDate(new Date());
entity.setExpiredDate(null);
break;
}
}
}

28
io.sc.platform.license.keygen/src/main/java/io/sc/platform/license/keygen/jpa/entity/LicenseEntity.java

@ -40,16 +40,6 @@ public class LicenseEntity extends AuditorEntity<LicenseVo> {
@Enumerated(EnumType.STRING)
private LicenseType type;
//发行日期
@Column(name="ISSUED_DATE_", nullable=false)
@Temporal(TemporalType.TIMESTAMP)
protected Date issuedDate;
//有效期开始日期
@Column(name="START_DATE_", nullable=false)
@Temporal(TemporalType.TIMESTAMP)
private Date startDate;
//有效期结束日期
@Column(name="EXPIRED_DATE_")
@Temporal(TemporalType.TIMESTAMP)
@ -75,8 +65,6 @@ public class LicenseEntity extends AuditorEntity<LicenseVo> {
vo.setDescription(this.getDescription());
vo.setType(this.getType());
vo.setTerm(this.getTerm());
vo.setIssuedDate(this.getIssuedDate());
vo.setStartDate(this.getStartDate());
vo.setExpiredDate(this.getExpiredDate());
vo.setMacAddresses(this.getMacAddresses());
return vo;
@ -122,22 +110,6 @@ public class LicenseEntity extends AuditorEntity<LicenseVo> {
this.type = type;
}
public Date getIssuedDate() {
return issuedDate;
}
public void setIssuedDate(Date issuedDate) {
this.issuedDate = issuedDate;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Date getExpiredDate() {
return expiredDate;
}

18
io.sc.platform.license.keygen/src/main/java/io/sc/platform/license/keygen/jpa/vo/LicenseVo.java

@ -11,8 +11,6 @@ public class LicenseVo extends AuditorVo {
private String consumerName;
private String description;
private LicenseType type;
protected Date issuedDate;
private Date startDate;
private Date expiredDate;
private Integer term;
private String macAddresses;
@ -57,22 +55,6 @@ public class LicenseVo extends AuditorVo {
this.type = type;
}
public Date getIssuedDate() {
return issuedDate;
}
public void setIssuedDate(Date issuedDate) {
this.issuedDate = issuedDate;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Date getExpiredDate() {
return expiredDate;
}

2
io.sc.platform.license.keygen/src/main/java/io/sc/platform/license/keygen/service/impl/LicenseKeyGeneratorServiceImpl.java

@ -32,8 +32,6 @@ public class LicenseKeyGeneratorServiceImpl implements LicenseKeyGeneratorServic
license.setConsumerName(entity.getConsumerName());
license.setDescription(entity.getDescription());
license.setType(entity.getType());
license.setIssuedDate(entity.getIssuedDate());
license.setStartDate(entity.getStartDate());
license.setExpiredDate(entity.getExpiredDate());
license.setTerm(entity.getTerm());
license.setMacAddresses(entity.getMacAddresses().replace("-",":"));

53
io.sc.platform.license.keygen/src/main/java/io/sc/platform/license/keygen/service/impl/LicenseServiceImpl.java

@ -6,6 +6,57 @@ import io.sc.platform.license.keygen.service.LicenseService;
import io.sc.platform.orm.service.impl.DaoServiceImpl;
import org.springframework.stereotype.Service;
@Service("io.sc.platform.license.keygen.service.impl.LicenseInformationServiceImpl")
import javax.transaction.Transactional;
import java.util.Calendar;
import java.util.Date;
@Service("io.sc.platform.license.keygen.service.impl.LicenseServiceImpl")
public class LicenseServiceImpl extends DaoServiceImpl<LicenseEntity, String, LicenseRepository> implements LicenseService {
@Override
@Transactional
public LicenseEntity add(LicenseEntity entity) throws Exception {
standardEntity(entity);
return super.add(entity);
}
@Override
@Transactional
public LicenseEntity update(String s, LicenseEntity entity) throws Exception {
standardEntity(entity);
return super.update(s, entity);
}
private void standardEntity(LicenseEntity entity){
Calendar startCalendar = Calendar.getInstance();
startCalendar.set(Calendar.HOUR_OF_DAY,0);
startCalendar.set(Calendar.MINUTE,0);
startCalendar.set(Calendar.SECOND,0);
startCalendar.set(Calendar.MILLISECOND,0);
Calendar expiredCalendar = Calendar.getInstance();
switch (entity.getType()) {
case TRIAL:
expiredCalendar.setTime(startCalendar.getTime());
expiredCalendar.add(Calendar.DATE, 7);
entity.setTerm(7);
entity.setExpiredDate(expiredCalendar.getTime());
break;
case TERM:
expiredCalendar.setTime(startCalendar.getTime());
expiredCalendar.add(Calendar.DATE, entity.getTerm());
entity.setTerm(entity.getTerm());
entity.setExpiredDate(expiredCalendar.getTime());
break;
case EXPIRED:
expiredCalendar.setTime(entity.getExpiredDate());
expiredCalendar.add(Calendar.DATE, 1);
entity.setTerm(null);
entity.setExpiredDate(expiredCalendar.getTime());
break;
case PERMANENCE:
entity.setTerm(null);
entity.setExpiredDate(null);
break;
}
}
}

4
io.sc.platform.mvc.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.platform.mvc.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"pinia-undo": "0.2.4",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

4
io.sc.platform.scheduler.manager.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.platform.scheduler.manager.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"pinia-undo": "0.2.4",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

4
io.sc.platform.system.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.platform.system.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -110,7 +110,7 @@
"mockjs": "1.1.0",
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

6
io.sc.platform.system.frontend/src/views/license/License.vue

@ -19,12 +19,10 @@
<div class="pl-8 py-1 text-xs text-gray-600">
{{ $t('system.license.entity.type') }} : {{ Formater.enum(LicenseTypeEnum.LicenseType)(licenseRef?.type) }}
</div>
<div class="pl-8 py-1 text-xs text-gray-600">{{ $t('system.license.entity.issuedDate') }} : {{ licenseRef?.issuedDate }}</div>
<div class="pl-8 py-1 text-xs text-gray-600">{{ $t('system.license.entity.startDate') }} : {{ licenseRef?.startDate }}</div>
<div class="pl-8 py-1 text-xs text-gray-600">{{ $t('system.license.entity.expiredDate') }} : {{ licenseRef?.expiredDate }}</div>
<div class="pl-8 py-1 text-xs text-gray-600">{{ $t('system.license.entity.term') }} : {{ licenseRef?.term }}</div>
<div class="pl-8 py-1 text-xs text-gray-600">{{ $t('system.license.entity.macAddresses') }} : {{ licenseRef?.macAddresses }}</div>
<div class="pl-8 py-1 text-xs text-gray-600">{{ $t('system.license.entity.serverMacAddresses') }} : {{ licenseRef?.serverMacAddresses }}</div>
<hr />
<div class="py-3 text-xs text-gray-600">{{ $t('system.license.entity.serverMacAddresses') }} : {{ licenseRef?.serverMacAddresses }}</div>
</q-card-section>
</q-card>
</div>

4
io.sc.standard.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.standard.frontend",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"private": false,
"keywords": [],
@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4",
"pinia": "2.2.6",
"pinia-undo": "0.2.4",
"platform-core": "8.2.7",
"platform-core": "8.2.8",
"quasar": "2.17.4",
"sort-array": "5.0.0",
"svg-path-commander": "2.1.5",

2
io.sc.standard.frontend/src/views/standard/FinancialReportingSubject.vue

@ -196,7 +196,7 @@
<script setup lang="ts">
import 'tailwindcss/utilities.css';
import { ref, reactive } from 'vue';
import { $t, Environment, Formater, EnumTools, Options } from 'platform-core';
import { $t, Environment, Tools, Formater, EnumTools, Options } from 'platform-core';
const modelValue = reactive({
standard: 'NEW',

4
io.sc.website/package.json

@ -1,6 +1,6 @@
{
"name": "io.sc.website",
"version": "8.2.1",
"version": "8.2.2",
"description": "",
"main": "index.js",
"scripts": {
@ -28,6 +28,6 @@
},
"dependencies": {
"vue": "3.5.13",
"platform-core": "8.2.7"
"platform-core": "8.2.8"
}
}
Loading…
Cancel
Save