U盾管理
							parent
							
								
									b73f9521ae
								
							
						
					
					
						commit
						dac572e817
					
				| @ -0,0 +1,140 @@ | ||||
| package com.glxp.api.controller.ud; | ||||
| 
 | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.github.pagehelper.Page; | ||||
| import com.github.pagehelper.PageHelper; | ||||
| import com.glxp.api.annotation.AuthRuleAnnotation; | ||||
| import com.glxp.api.annotation.Log; | ||||
| import com.glxp.api.common.enums.ResultEnum; | ||||
| import com.glxp.api.common.res.BaseResponse; | ||||
| import com.glxp.api.common.util.ResultVOUtils; | ||||
| import com.glxp.api.constant.BusinessType; | ||||
| import com.glxp.api.controller.BaseController; | ||||
| import com.glxp.api.entity.anno.AnncmntDevEntity; | ||||
| import com.glxp.api.entity.auth.AuthAdmin; | ||||
| import com.glxp.api.entity.ud.UdInfoEntity; | ||||
| import com.glxp.api.entity.ud.UdProducePlanEntity; | ||||
| import com.glxp.api.req.anno.AnncmntDevEntityRequest; | ||||
| import com.glxp.api.req.system.DeleteRequest; | ||||
| import com.glxp.api.req.ud.UdInfoEntityRequest; | ||||
| import com.glxp.api.res.PageSimpleResponse; | ||||
| import com.glxp.api.service.anno.AnncmntDevService; | ||||
| import com.glxp.api.service.ud.UdInfoService; | ||||
| import com.glxp.api.util.BeanCopyUtils; | ||||
| import com.glxp.api.util.StringUtils; | ||||
| import lombok.RequiredArgsConstructor; | ||||
| import org.springframework.validation.BindingResult; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
| import springfox.documentation.annotations.ApiIgnore; | ||||
| 
 | ||||
| import javax.validation.Valid; | ||||
| import java.util.Date; | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  * 用户信息 | ||||
|  * | ||||
|  */ | ||||
| @ApiIgnore | ||||
| @Validated | ||||
| @RequiredArgsConstructor | ||||
| @RestController | ||||
| @RequestMapping("/ud/info") | ||||
| public class UdInfoController extends BaseController { | ||||
| 
 | ||||
|     private final UdInfoService udInfoService; | ||||
| 
 | ||||
| 
 | ||||
|     @GetMapping("/list") | ||||
|     public BaseResponse list(UdInfoEntityRequest request, BindingResult bindingResult) { | ||||
|         if (bindingResult.hasErrors()) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); | ||||
|         } | ||||
|         int offset = (request.getPage() - 1) * request.getLimit(); | ||||
|         Page<UdInfoEntity> pages =  PageHelper.offsetPage(offset, request.getLimit()); | ||||
|         List<UdInfoEntity> list = udInfoService.list(getQueryWrapper(request)); | ||||
|         PageSimpleResponse<UdInfoEntity> pageSimpleResponse = new PageSimpleResponse<>(); | ||||
|         pageSimpleResponse.setTotal(pages.getTotal()); | ||||
|         pageSimpleResponse.setList(list); | ||||
| 
 | ||||
|         return ResultVOUtils.success(pageSimpleResponse); | ||||
|     } | ||||
| 
 | ||||
|     @AuthRuleAnnotation("") | ||||
|     @PostMapping("/save") | ||||
|     @Log(title = "U盾管理", businessType = BusinessType.INSERT) | ||||
|     public BaseResponse save(@RequestBody UdInfoEntity entity, | ||||
|                              BindingResult bindingResult) { | ||||
| 
 | ||||
|         if (bindingResult.hasErrors()) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); | ||||
|         } | ||||
|         AuthAdmin authAdmin = getUser(); | ||||
|         entity.setStatus("2"); | ||||
|         entity.setCheckStatus("2"); | ||||
|         entity.setCreateTime(new Date()); | ||||
|         entity.setCreateUser(authAdmin.getId()+""); | ||||
|         entity.setUpdateTime(new Date()); | ||||
|         entity.setUpdateUser( authAdmin.getId()+""); | ||||
|         boolean b = udInfoService.save(entity); | ||||
|         if (!b) { | ||||
|             return ResultVOUtils.error(ResultEnum.NOT_NETWORK); | ||||
|         } | ||||
|         return ResultVOUtils.success("添加成功!"); | ||||
|     } | ||||
| 
 | ||||
|     @AuthRuleAnnotation("") | ||||
|     @PostMapping("/edit") | ||||
|     @Log(title = "U盾管理", businessType = BusinessType.UPDATE) | ||||
|     public BaseResponse edit(@RequestBody @Valid UdInfoEntity entity, | ||||
|                              BindingResult bindingResult) { | ||||
| 
 | ||||
|         if (bindingResult.hasErrors()) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); | ||||
|         } | ||||
|         if (entity.getId() == null) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); | ||||
|         } | ||||
|         UdInfoEntity originEntity = udInfoService.getById(entity.getId()); | ||||
|         if (originEntity == null) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); | ||||
|         } | ||||
|         AuthAdmin authAdmin = getUser(); | ||||
|         entity.setUpdateTime(new Date()); | ||||
|         entity.setUpdateUser( authAdmin.getId()+""); | ||||
|         boolean b = udInfoService.updateById(entity); | ||||
|         if (!b) { | ||||
|             return ResultVOUtils.error(ResultEnum.NOT_NETWORK); | ||||
|         } | ||||
| 
 | ||||
|         return ResultVOUtils.success("修改成功!"); | ||||
| 
 | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     @AuthRuleAnnotation("") | ||||
|     @PostMapping("/delete") | ||||
|     @Log(title = "U盾管理", businessType = BusinessType.DELETE) | ||||
|     public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) { | ||||
| 
 | ||||
|         if (StringUtils.isEmpty(deleteRequest.getId())) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); | ||||
|         } | ||||
|         boolean b = udInfoService.removeById(deleteRequest.getId()); | ||||
| 
 | ||||
|         if (!b) { | ||||
|             return ResultVOUtils.error(ResultEnum.NOT_NETWORK); | ||||
|         } | ||||
|         return ResultVOUtils.success(); | ||||
|     } | ||||
| 
 | ||||
|     public static QueryWrapper<UdInfoEntity> getQueryWrapper(UdInfoEntityRequest request) { | ||||
|         UdInfoEntity entity = new UdInfoEntity(); | ||||
|         BeanCopyUtils.copy(request, entity); | ||||
|         QueryWrapper queryWrapper = new QueryWrapper(entity); | ||||
|         return queryWrapper; | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,201 @@ | ||||
| package com.glxp.api.controller.ud; | ||||
| 
 | ||||
| 
 | ||||
| import cn.hutool.core.util.StrUtil; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.github.pagehelper.Page; | ||||
| import com.github.pagehelper.PageHelper; | ||||
| import com.glxp.api.annotation.AuthRuleAnnotation; | ||||
| import com.glxp.api.annotation.Log; | ||||
| import com.glxp.api.common.enums.ResultEnum; | ||||
| import com.glxp.api.common.res.BaseResponse; | ||||
| import com.glxp.api.common.util.ResultVOUtils; | ||||
| import com.glxp.api.constant.BusinessType; | ||||
| import com.glxp.api.constant.Constant; | ||||
| import com.glxp.api.controller.BaseController; | ||||
| import com.glxp.api.entity.anno.AnncmntDevEntity; | ||||
| import com.glxp.api.entity.auth.AuthAdmin; | ||||
| import com.glxp.api.entity.ud.UdProducePlanEntity; | ||||
| import com.glxp.api.entity.ud.UdProducePlanEntity; | ||||
| import com.glxp.api.req.system.DeleteRequest; | ||||
| import com.glxp.api.req.ud.UdProducePlanEntityRequest; | ||||
| import com.glxp.api.res.PageSimpleResponse; | ||||
| import com.glxp.api.service.auth.AuthAdminService; | ||||
| import com.glxp.api.service.ud.UdProducePlanService; | ||||
| import com.glxp.api.util.BeanCopyUtils; | ||||
| import com.glxp.api.util.GennerOrderUtils; | ||||
| import com.glxp.api.util.OrderNoTypeBean; | ||||
| import com.glxp.api.util.StringUtils; | ||||
| import lombok.RequiredArgsConstructor; | ||||
| import org.springframework.validation.BindingResult; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
| import springfox.documentation.annotations.ApiIgnore; | ||||
| 
 | ||||
| import javax.annotation.Resource; | ||||
| import javax.validation.Valid; | ||||
| import java.util.Date; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| 
 | ||||
| /** | ||||
|  * 用户信息 | ||||
|  * | ||||
|  */ | ||||
| @ApiIgnore | ||||
| @Validated | ||||
| @RequiredArgsConstructor | ||||
| @RestController | ||||
| @RequestMapping("/ud/plan") | ||||
| public class UdProducePlanController extends BaseController { | ||||
| 
 | ||||
|     private final UdProducePlanService udProducePlanService; | ||||
| 
 | ||||
|     @Resource | ||||
|     private AuthAdminService authAdminService; | ||||
| 
 | ||||
|     @Resource | ||||
|     GennerOrderUtils gennerOrderUtils; | ||||
| 
 | ||||
| 
 | ||||
|     @GetMapping("/list") | ||||
|     public BaseResponse list(UdProducePlanEntityRequest request, BindingResult bindingResult) { | ||||
|         if (bindingResult.hasErrors()) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); | ||||
|         } | ||||
|         Map<Long,String> userMap = authAdminService.getEmployeeNameMap(); | ||||
| 
 | ||||
|         int offset = (request.getPage() - 1) * request.getLimit(); | ||||
|         Page<UdProducePlanEntity> pages =  PageHelper.offsetPage(offset, request.getLimit()); | ||||
|         List<UdProducePlanEntity> list = udProducePlanService.list(getQueryWrapper(request)); | ||||
|         for(UdProducePlanEntity entity:list){ | ||||
|             entity.setCreateUserName(StringUtils.isNotEmpty(entity.getCreateUser())?userMap.get(Long.parseLong(entity.getCreateUser())):""); | ||||
|             entity.setAuditUserName(StringUtils.isNotEmpty(entity.getAuditUser())?userMap.get(Long.parseLong(entity.getAuditUser())):""); | ||||
|         } | ||||
| 
 | ||||
|         PageSimpleResponse<UdProducePlanEntity> pageSimpleResponse = new PageSimpleResponse<>(); | ||||
|         pageSimpleResponse.setTotal(pages.getTotal()); | ||||
|         pageSimpleResponse.setList(list); | ||||
| 
 | ||||
|         return ResultVOUtils.success(pageSimpleResponse); | ||||
|     } | ||||
| 
 | ||||
|     @AuthRuleAnnotation("") | ||||
|     @PostMapping("/save") | ||||
|     @Log(title = "U盾制作计划管理", businessType = BusinessType.INSERT) | ||||
|     public BaseResponse save(@RequestBody UdProducePlanEntity entity, | ||||
|                              BindingResult bindingResult) { | ||||
| 
 | ||||
|         if (bindingResult.hasErrors()) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); | ||||
|         } | ||||
|         String orderNo = gennerOrderUtils.getUDNo(); | ||||
|         AuthAdmin authAdmin = getUser(); | ||||
|         entity.setRealityNumber(0); | ||||
|         entity.setStatus("2"); | ||||
|         entity.setProduceNo(orderNo); | ||||
|         entity.setCreateTime(new Date()); | ||||
|         entity.setCreateUser(authAdmin.getId()+""); | ||||
|         entity.setUpdateTime(new Date()); | ||||
|         entity.setUpdateUser( authAdmin.getId()+""); | ||||
|         boolean b = udProducePlanService.save(entity); | ||||
|         if (!b) { | ||||
|             return ResultVOUtils.error(ResultEnum.NOT_NETWORK); | ||||
|         } | ||||
|         return ResultVOUtils.success("添加成功!"); | ||||
|     } | ||||
| 
 | ||||
|     @AuthRuleAnnotation("") | ||||
|     @PostMapping("/edit") | ||||
|     @Log(title = "U盾制作计划管理", businessType = BusinessType.UPDATE) | ||||
|     public BaseResponse edit(@RequestBody @Valid UdProducePlanEntity entity, | ||||
|                              BindingResult bindingResult) { | ||||
| 
 | ||||
|         if (bindingResult.hasErrors()) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); | ||||
|         } | ||||
|         if (entity.getId() == null) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); | ||||
|         } | ||||
|         UdProducePlanEntity originEntity = udProducePlanService.getById(entity.getId()); | ||||
|         if (originEntity == null) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); | ||||
|         } | ||||
|         AuthAdmin authAdmin = getUser(); | ||||
|         entity.setUpdateTime(new Date()); | ||||
|         entity.setUpdateUser( authAdmin.getId()+""); | ||||
|         boolean b = udProducePlanService.updateById(entity); | ||||
|         if (!b) { | ||||
|             return ResultVOUtils.error(ResultEnum.NOT_NETWORK); | ||||
|         } | ||||
| 
 | ||||
|         return ResultVOUtils.success("修改成功!"); | ||||
| 
 | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     @AuthRuleAnnotation("") | ||||
|     @PostMapping("/updateStatus") | ||||
|     @Log(title = "U盾制作计划管理", businessType = BusinessType.DELETE) | ||||
|     public BaseResponse updateStatus(@RequestBody UdProducePlanEntity entity, | ||||
|                                      BindingResult bindingResult) { | ||||
| 
 | ||||
|         if (bindingResult.hasErrors()) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); | ||||
|         } | ||||
|         if (entity.getId() == null) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); | ||||
|         } | ||||
|         UdProducePlanEntity originEntity = udProducePlanService.getById(entity.getId()); | ||||
|         if (originEntity == null) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); | ||||
|         } | ||||
|         AuthAdmin authAdmin = getUser(); | ||||
|         originEntity.setUpdateTime(new Date()); | ||||
|         originEntity.setUpdateUser( authAdmin.getId()+""); | ||||
|         originEntity.setStatus("1"); | ||||
|         boolean b = udProducePlanService.updateById(originEntity); | ||||
|         if (!b) { | ||||
|             return ResultVOUtils.error(ResultEnum.NOT_NETWORK); | ||||
|         } | ||||
| 
 | ||||
|         return ResultVOUtils.success("修改成功!"); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     @AuthRuleAnnotation("") | ||||
|     @PostMapping("/delete") | ||||
|     @Log(title = "U盾制作计划管理", businessType = BusinessType.DELETE) | ||||
|     public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) { | ||||
| 
 | ||||
|         if (StringUtils.isEmpty(deleteRequest.getId())) { | ||||
|             return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); | ||||
|         } | ||||
|         boolean b = udProducePlanService.removeById(deleteRequest.getId()); | ||||
| 
 | ||||
|         if (!b) { | ||||
|             return ResultVOUtils.error(ResultEnum.NOT_NETWORK); | ||||
|         } | ||||
|         return ResultVOUtils.success(); | ||||
|     } | ||||
| 
 | ||||
|     public static QueryWrapper<UdProducePlanEntity> getQueryWrapper(UdProducePlanEntityRequest request) { | ||||
|         UdProducePlanEntity entity = new UdProducePlanEntity(); | ||||
|         BeanCopyUtils.copy(request, entity); | ||||
|         QueryWrapper queryWrapper = new QueryWrapper(entity); | ||||
|         if(StringUtils.isNotBlank(request.getEndTime())){ | ||||
|             queryWrapper.le("produceTime",request.getEndTime()); | ||||
|         } | ||||
|         if(StringUtils.isNotBlank(request.getStartTime())){ | ||||
|             queryWrapper.ge("produceTime",request.getStartTime()); | ||||
|         } | ||||
|         if(StringUtils.isNotBlank(request.getEndAduditTime())){ | ||||
|             queryWrapper.le("auditTime",request.getEndAduditTime()); | ||||
|         } | ||||
|         if(StringUtils.isNotBlank(request.getStartAduditTime())){ | ||||
|             queryWrapper.ge("auditTime",request.getStartAduditTime()); | ||||
|         } | ||||
|         return queryWrapper; | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,10 @@ | ||||
| package com.glxp.api.dao.ud; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||
| import com.glxp.api.entity.ud.UdInfoEntity; | ||||
| import com.glxp.api.entity.ud.UdProducePlanEntity; | ||||
| import org.apache.ibatis.annotations.Mapper; | ||||
| 
 | ||||
| @Mapper | ||||
| public interface UdInfoMapper extends BaseMapper<UdInfoEntity> { | ||||
| } | ||||
| @ -0,0 +1,10 @@ | ||||
| package com.glxp.api.dao.ud; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||
| import com.glxp.api.entity.anno.AnncmntDevEntity; | ||||
| import com.glxp.api.entity.ud.UdProducePlanEntity; | ||||
| import org.apache.ibatis.annotations.Mapper; | ||||
| 
 | ||||
| @Mapper | ||||
| public interface UdProducePlanMapper extends BaseMapper<UdProducePlanEntity> { | ||||
| } | ||||
| @ -0,0 +1,115 @@ | ||||
| package com.glxp.api.entity.ud; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.annotation.IdType; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.baomidou.mybatisplus.annotation.TableId; | ||||
| import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| 
 | ||||
| import java.io.Serializable; | ||||
| import java.util.Date; | ||||
| 
 | ||||
| @Data | ||||
| @Builder | ||||
| @AllArgsConstructor | ||||
| @NoArgsConstructor | ||||
| @TableName(value = "ud_info") | ||||
| public class UdInfoEntity implements Serializable { | ||||
|     @TableId(value = "id") | ||||
|     private Integer id; | ||||
| 
 | ||||
|     /** | ||||
|      * 企业id | ||||
|      */ | ||||
|     @TableField(value = "companyId") | ||||
|     private Integer companyId; | ||||
| 
 | ||||
|     /** | ||||
|      * 生产计划id | ||||
|      */ | ||||
|     @TableField(value = "producePlanId") | ||||
|     private String producePlanId; | ||||
| 
 | ||||
|     /** | ||||
|      * U盾唯一ID | ||||
|      */ | ||||
|     @TableField(value = "uniqueId") | ||||
|     private String uniqueId; | ||||
| 
 | ||||
|     /** | ||||
|      * U盾序列号 | ||||
|      */ | ||||
|     @TableField(value = "serialNumber") | ||||
|     private String serialNumber; | ||||
| 
 | ||||
|     /** | ||||
|      * 密文字符串 | ||||
|      */ | ||||
|     @TableField(value = "ciphertext") | ||||
|     private String ciphertext; | ||||
| 
 | ||||
|     /** | ||||
|      * 分配时间 | ||||
|      */ | ||||
|     @TableField(value = "allocateTime") | ||||
|     private Date allocateTime; | ||||
| 
 | ||||
|     /** | ||||
|      * 分配状态 | ||||
|      */ | ||||
|     @TableField(value = "allocateStatus") | ||||
|     private String allocateStatus; | ||||
| 
 | ||||
|     /** | ||||
|      * 校验时间 | ||||
|      */ | ||||
|     @TableField(value = "checkTime") | ||||
|     private Date checkTime; | ||||
| 
 | ||||
|     /** | ||||
|      * 校验时间 | ||||
|      */ | ||||
|     @TableField(value = "checkStatus") | ||||
|     private String checkStatus; | ||||
| 
 | ||||
|     /** | ||||
|      * 状态 | ||||
|      */ | ||||
|     @TableField(value = "status") | ||||
|     private String status; | ||||
| 
 | ||||
|     /** | ||||
|      * 创建人 | ||||
|      */ | ||||
|     @TableField(value = "`createUser`") | ||||
|     private String createUser; | ||||
| 
 | ||||
|     /** | ||||
|      * 创建时间 | ||||
|      */ | ||||
|     @TableField(value = "createTime") | ||||
|     private Date createTime; | ||||
| 
 | ||||
|     /** | ||||
|      * 更新人 | ||||
|      */ | ||||
|     @TableField(value = "updateUser") | ||||
|     private String updateUser; | ||||
| 
 | ||||
|     /** | ||||
|      * 更新时间 | ||||
|      */ | ||||
|     @TableField(value = "updateTime") | ||||
|     private Date updateTime; | ||||
| 
 | ||||
|     /** | ||||
|      * 备注 | ||||
|      */ | ||||
|     @TableField(value = "remark") | ||||
|     private String remark; | ||||
| 
 | ||||
|     private static final long serialVersionUID = 1L; | ||||
| } | ||||
| @ -0,0 +1,121 @@ | ||||
| package com.glxp.api.entity.ud; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.baomidou.mybatisplus.annotation.TableId; | ||||
| import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import com.fasterxml.jackson.annotation.JsonFormat; | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| 
 | ||||
| import java.io.Serializable; | ||||
| import java.util.Date; | ||||
| 
 | ||||
| @Data | ||||
| @Builder | ||||
| @AllArgsConstructor | ||||
| @NoArgsConstructor | ||||
| @TableName(value = "ud_produce_plan") | ||||
| public class UdProducePlanEntity implements Serializable { | ||||
|     @TableId(value = "id") | ||||
|     private Integer id; | ||||
| 
 | ||||
|     /** | ||||
|      * 制作单号 | ||||
|      */ | ||||
|     @TableField(value = "produceNo") | ||||
|     private String produceNo; | ||||
| 
 | ||||
|     /** | ||||
|      * 制作日期 | ||||
|      */ | ||||
|     @TableField(value = "produceTime") | ||||
|     @JsonFormat( pattern = "yyyy-MM-dd") | ||||
|     private Date produceTime; | ||||
| 
 | ||||
|     /** | ||||
|      * 计划数量 | ||||
|      */ | ||||
|     @TableField(value = "planNumber") | ||||
|     private Integer planNumber; | ||||
| 
 | ||||
|     /** | ||||
|      * 实际数量 | ||||
|      */ | ||||
|     @TableField(value = "realityNumber") | ||||
|     private Integer realityNumber; | ||||
| 
 | ||||
|     /** | ||||
|      * 审核时间 | ||||
|      */ | ||||
|     @TableField(value = "auditTime") | ||||
|     private Date auditTime; | ||||
| 
 | ||||
|     /** | ||||
|      * 审核人 | ||||
|      */ | ||||
|     @TableField(value = "auditUser") | ||||
|     private String auditUser; | ||||
| 
 | ||||
|     /** | ||||
|      * 审核人 | ||||
|      */ | ||||
|     @TableField(exist = false) | ||||
|     private String auditUserName; | ||||
| 
 | ||||
|     /** | ||||
|      * 审核状态 | ||||
|      */ | ||||
|     @TableField(value = "auditStatus") | ||||
|     private String auditStatus; | ||||
|     /** | ||||
|      * U盾生产厂家 | ||||
|      */ | ||||
|     @TableField(value = "manufacturer") | ||||
|     private String manufacturer; | ||||
| 
 | ||||
|     /** | ||||
|      * 状态 | ||||
|      */ | ||||
|     @TableField(value = "status") | ||||
|     private String status; | ||||
| 
 | ||||
|     /** | ||||
|      * 创建人 | ||||
|      */ | ||||
|     @TableField(value = "createUser") | ||||
|     private String createUser; | ||||
| 
 | ||||
|     /** | ||||
|      * 创建人 | ||||
|      */ | ||||
|     @TableField(exist = false) | ||||
|     private String createUserName; | ||||
| 
 | ||||
|     /** | ||||
|      * 创建时间 | ||||
|      */ | ||||
|     @TableField(value = "createTime") | ||||
|     private Date createTime; | ||||
| 
 | ||||
|     /** | ||||
|      * 更新人 | ||||
|      */ | ||||
|     @TableField(value = "updateUser") | ||||
|     private String updateUser; | ||||
| 
 | ||||
|     /** | ||||
|      * 更新时间 | ||||
|      */ | ||||
|     @TableField(value = "updateTime") | ||||
|     private Date updateTime; | ||||
| 
 | ||||
|     /** | ||||
|      * 备注 | ||||
|      */ | ||||
|     @TableField(value = "remark") | ||||
|     private String remark; | ||||
| 
 | ||||
|     private static final long serialVersionUID = 1L; | ||||
| } | ||||
| @ -0,0 +1,28 @@ | ||||
| package com.glxp.api.req.ud; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.glxp.api.util.page.ListPageRequest; | ||||
| import lombok.Data; | ||||
| 
 | ||||
| @Data | ||||
| public class UdInfoEntityRequest extends ListPageRequest { | ||||
| 
 | ||||
|     /** | ||||
|      * 生产计划id | ||||
|      */ | ||||
|     @TableField(value = "producePlanId") | ||||
|     private String producePlanId; | ||||
| 
 | ||||
|     /** | ||||
|      * U盾唯一ID | ||||
|      */ | ||||
|     @TableField(value = "uniqueId") | ||||
|     private String uniqueId; | ||||
| 
 | ||||
|     /** | ||||
|      * U盾序列号 | ||||
|      */ | ||||
|     @TableField(value = "serialNumber") | ||||
|     private String serialNumber; | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,34 @@ | ||||
| package com.glxp.api.req.ud; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.glxp.api.util.page.ListPageRequest; | ||||
| import lombok.Data; | ||||
| 
 | ||||
| @Data | ||||
| public class UdProducePlanEntityRequest extends ListPageRequest { | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * 状态 | ||||
|      */ | ||||
|     private String status; | ||||
|     /** | ||||
|      * startTime | ||||
|      */ | ||||
|     private String startTime; | ||||
| 
 | ||||
|     /** | ||||
|      * endTime | ||||
|      */ | ||||
|     private String endTime; | ||||
|     /** | ||||
|      * startAduditTime | ||||
|      */ | ||||
|     private String startAduditTime; | ||||
| 
 | ||||
|     /** | ||||
|      * endAduditTime | ||||
|      */ | ||||
|     private String endAduditTime; | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,13 @@ | ||||
| package com.glxp.api.service.ud; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||
| import com.glxp.api.dao.anno.AnncmntDevMapper; | ||||
| import com.glxp.api.dao.ud.UdInfoMapper; | ||||
| import com.glxp.api.entity.anno.AnncmntDevEntity; | ||||
| import com.glxp.api.entity.ud.UdInfoEntity; | ||||
| import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
| public class UdInfoService extends ServiceImpl<UdInfoMapper, UdInfoEntity> { | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,13 @@ | ||||
| package com.glxp.api.service.ud; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||
| import com.glxp.api.dao.ud.UdInfoMapper; | ||||
| import com.glxp.api.dao.ud.UdProducePlanMapper; | ||||
| import com.glxp.api.entity.ud.UdInfoEntity; | ||||
| import com.glxp.api.entity.ud.UdProducePlanEntity; | ||||
| import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
| public class UdProducePlanService extends ServiceImpl<UdProducePlanMapper, UdProducePlanEntity> { | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,312 @@ | ||||
| package com.glxp.api.util; | ||||
| 
 | ||||
| import cn.hutool.core.util.IdUtil; | ||||
| 
 | ||||
| public class SoftKey { | ||||
| 
 | ||||
|     private String myhex(byte indata) | ||||
|     { | ||||
|         String outstring; | ||||
|         outstring=String.format("%X",indata); | ||||
|         if(outstring.length()<2)outstring="0"+outstring; | ||||
|         return outstring; | ||||
|     } | ||||
| 
 | ||||
|     //若某字节为负数则需将其转成无符号正数
 | ||||
|     private  long conver(byte temp){ | ||||
|         long tempInt = (int)temp; | ||||
|         if(tempInt < 0){ | ||||
|             tempInt += 256; | ||||
|         } | ||||
|         return tempInt; | ||||
|     } | ||||
| 
 | ||||
|     //以下用于将16进制字符串转化为无符号长整型
 | ||||
|     private int HexToInt(String s) | ||||
|     { | ||||
|         String [] hexch = { "0", "1", "2", "3", "4", "5", "6", "7", | ||||
|                 "8", "9", "A", "B", "C", "D", "E", "F"}; | ||||
|         int i, j; | ||||
|         int r, n, k; | ||||
|         String ch; | ||||
| 
 | ||||
|         k = 1; r = 0; | ||||
|         for (i = s.length(); i > 0; i--) | ||||
|         { | ||||
|             ch = s.substring(i - 1,  i-1+1); | ||||
|             n = 0; | ||||
|             for (j = 0; j < 16; j++) | ||||
|             { | ||||
|                 if (ch.compareToIgnoreCase(hexch[j]) ==0 ) | ||||
|                 { | ||||
|                     n = j; | ||||
|                 } | ||||
|             } | ||||
|             r += (n * k); | ||||
|             k *= 16; | ||||
|         } | ||||
|         return r; | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public String  StrEnc(String InString , String Key)//使用增强算法,加密字符串
 | ||||
|     { | ||||
| 
 | ||||
|         byte [] b,outb; | ||||
|         byte []temp_b=InString.getBytes(); | ||||
|         byte [] temp=new byte[8],outtemp=new byte[8]; | ||||
|         int n,i,nlen,outlen; | ||||
|         String outstring; | ||||
| 
 | ||||
|         nlen = temp_b.length; | ||||
|         nlen=nlen+1; | ||||
|         if( nlen < 8 ) | ||||
|             outlen = 8; | ||||
|         else | ||||
|             outlen = nlen; | ||||
|         b=new byte[outlen]; | ||||
|         outb=new byte[outlen]; | ||||
| 
 | ||||
|         for(n=0;n<nlen-1;n++) | ||||
|         { | ||||
|             b[n]=temp_b[n]; | ||||
|         } | ||||
| 
 | ||||
|         outb=b.clone(); | ||||
| 
 | ||||
|         for( n = 0; n<=outlen - 8 ;n=n+ 8) | ||||
|         { | ||||
|             for (i = 0; i < 8; i++) temp[i] = b[i + n]; | ||||
|             EnCode(temp, outtemp, Key); | ||||
|             for( i = 0 ;i<8;i++) outb[i + n] = outtemp[i]; | ||||
|         } | ||||
| 
 | ||||
|         outstring = ""; | ||||
|         for (n = 0 ;n<= outlen - 1;n++) | ||||
|         { | ||||
|             outstring = outstring +myhex(outb[n]) ; | ||||
|         } | ||||
|         return outstring; | ||||
|     } | ||||
| 
 | ||||
|     public String  StrDec(String InString , String Key)//使用增强算法,解密字符串
 | ||||
|     { | ||||
| 
 | ||||
|         byte [] b,outb; | ||||
|         byte [] temp=new byte[8],outtemp=new byte[8]; | ||||
|         int n,i,nlen,outlen; | ||||
|         String outstring,temp_string; | ||||
| 
 | ||||
| 
 | ||||
|         nlen = InString.length(); | ||||
|         if( nlen < 16 ) outlen = 16; | ||||
|         outlen = nlen / 2; | ||||
|         b=new byte[outlen]; | ||||
|         outb=new byte[outlen]; | ||||
| 
 | ||||
|         i = 0; | ||||
|         for (n = 1 ;n<= nlen ;n=n+2) | ||||
|         { | ||||
|             temp_string = InString.substring(n-1, n-1+2); | ||||
|             b[i] = (byte)HexToInt(temp_string); | ||||
|             i = i + 1; | ||||
|         } | ||||
| 
 | ||||
|         outb=b.clone(); | ||||
| 
 | ||||
|         for( n = 0; n<=outlen - 8 ;n=n+ 8) | ||||
|         { | ||||
|             for (i = 0; i < 8; i++) temp[i] = b[i + n]; | ||||
|             DeCode(temp, outtemp, Key); | ||||
|             for( i = 0 ;i<8;i++) outb[i + n] = outtemp[i]; | ||||
|         } | ||||
| 
 | ||||
|         outstring=new String(outb); | ||||
|         outstring=outstring.trim(); | ||||
|         return outstring; | ||||
|     } | ||||
| 
 | ||||
|     public void EnCode(byte[] inb, byte[] outb,  String Key ) | ||||
|     { | ||||
| 
 | ||||
|         long cnDelta,y,z,a,b,c,d,temp_2; | ||||
|         long [] buf=new long[16]; | ||||
|         int n,i,nlen; | ||||
|         long sum; | ||||
|         long temp,temp_1; | ||||
|         long mask=4294967295L; | ||||
| 
 | ||||
|         //UInt32 temp, temp_1;
 | ||||
|         String temp_String ; | ||||
| 
 | ||||
| 
 | ||||
|         cnDelta = 2654435769L; | ||||
|         sum = 0; | ||||
| 
 | ||||
|         nlen = Key.length(); | ||||
|         i = 0; | ||||
|         for( n = 1 ;n<= nlen ;n=n+2) | ||||
|         { | ||||
|             temp_String =Key.substring(n-1, n-1+2); | ||||
|             buf[i] =HexToInt(temp_String); | ||||
|             i = i + 1; | ||||
|         } | ||||
|         a = 0 ; b = 0 ; c = 0 ; d = 0; | ||||
|         for(n = 0;n<=3;n++) | ||||
|         { | ||||
|             a = (buf[n] << (n * 8)) | a; | ||||
|             b = (buf[n + 4] << (n * 8)) | b; | ||||
|             c = (buf[n + 4 + 4] << (n * 8)) | c; | ||||
|             d = (buf[n + 4 + 4 + 4] << (n * 8)) | d; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         y = 0; | ||||
|         z = 0; | ||||
|         for(n = 0;n<=3;n++) | ||||
|         { | ||||
|             temp_2 = conver(inb[n]); | ||||
|             y = (temp_2 << (n * 8)) | y; | ||||
|             temp_2 = conver(inb[n + 4]); | ||||
|             z = (temp_2 << (n * 8)) | z; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         n = 32; | ||||
| 
 | ||||
|         while (n > 0) | ||||
|         { | ||||
|             sum = (cnDelta + sum)& mask; | ||||
| 
 | ||||
|             temp = (z << 4) & mask; | ||||
|             temp = (temp + a) & mask; | ||||
|             temp_1 = (z + sum) & mask; | ||||
|             temp = (temp ^ temp_1) & mask; | ||||
|             temp_1 = (z >> 5) & mask; | ||||
|             temp_1 = (temp_1 + b) & mask; | ||||
|             temp = (temp ^ temp_1) & mask; | ||||
|             temp = (temp + y) & mask; | ||||
|             y = temp & mask; | ||||
|             /*y += ((z << 4) + a) ^ (z + sum) ^ ((z >> 5) + b); */ | ||||
| 
 | ||||
|             temp = (y << 4) & mask; | ||||
|             temp = (temp + c) & mask; | ||||
|             temp_1 = (y + sum) & mask; | ||||
|             temp = (temp ^ temp_1) & mask; | ||||
|             temp_1 = (y >> 5) & mask; | ||||
|             temp_1 = (temp_1 + d) & mask; | ||||
|             temp = (temp ^ temp_1) & mask; | ||||
|             temp = (z + temp) & mask; | ||||
|             z = temp & mask; | ||||
|             /* z += ((y << 4) + c) ^ (y + sum) ^ ((y >> 5) + d); */ | ||||
|             n = n - 1; | ||||
| 
 | ||||
|         } | ||||
|         for(n = 0;n<=3;n++) | ||||
|         { | ||||
|             outb[n] = (byte)((y >>> (n * 8)) & 255); | ||||
|             outb[n + 4] =(byte)((z >>> (n * 8)) & 255); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public void DeCode(byte[] inb, byte[] outb,  String Key ) | ||||
|     { | ||||
| 
 | ||||
|         long cnDelta,y,z,a,b,c,d,temp_2; | ||||
|         long [] buf=new long[16]; | ||||
|         int n,i,nlen; | ||||
|         long sum; | ||||
|         long temp,temp_1; | ||||
| 
 | ||||
|         long mask=4294967295L; | ||||
| 
 | ||||
|         //UInt32 temp, temp_1;
 | ||||
|         String temp_String ; | ||||
| 
 | ||||
| 
 | ||||
|         cnDelta = 2654435769L; | ||||
|         sum = 3337565984L; | ||||
| 
 | ||||
|         nlen = Key.length(); | ||||
|         i = 0; | ||||
|         for( n = 1 ;n<= nlen ;n=n+2) | ||||
|         { | ||||
|             temp_String =Key.substring(n-1, n-1+2); | ||||
|             buf[i] =HexToInt(temp_String); | ||||
|             i = i + 1; | ||||
|         } | ||||
|         a = 0 ; b = 0 ; c = 0 ; d = 0; | ||||
|         for(n = 0;n<=3;n++) | ||||
|         { | ||||
|             a = (buf[n] << (n * 8)) | a; | ||||
|             b = (buf[n + 4] << (n * 8)) | b; | ||||
|             c = (buf[n + 4 + 4] << (n * 8)) | c; | ||||
|             d = (buf[n + 4 + 4 + 4] << (n * 8)) | d; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         y = 0; | ||||
|         z = 0; | ||||
|         for(n = 0;n<=3;n++) | ||||
|         { | ||||
|             temp_2 = conver(inb[n]); | ||||
|             y = (temp_2 << (n * 8)) | y; | ||||
|             temp_2 = conver(inb[n + 4]); | ||||
|             z = (temp_2 << (n * 8)) | z; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         n = 32; | ||||
| 
 | ||||
|         while (n > 0) | ||||
|         { | ||||
| 
 | ||||
| 
 | ||||
|             temp = (y << 4) & mask; | ||||
|             temp = (temp + c) & mask; | ||||
|             temp_1 = (y + sum) & mask; | ||||
|             temp = (temp ^ temp_1) & mask; | ||||
|             temp_1 = (y >> 5) & mask; | ||||
|             temp_1 = (temp_1 + d) & mask; | ||||
|             temp = (temp ^ temp_1) & mask; | ||||
|             temp = (z - temp) & mask; | ||||
|             z = temp & mask; | ||||
|             /* z += ((y << 4) + c) ^ (y + sum) ^ ((y >> 5) + d); */ | ||||
| 
 | ||||
|             temp = (z << 4) & mask; | ||||
|             temp = (temp + a) & mask; | ||||
|             temp_1 = (z + sum) & mask; | ||||
|             temp = (temp ^ temp_1) & mask; | ||||
|             temp_1 = (z >> 5) & mask; | ||||
|             temp_1 = (temp_1 + b) & mask; | ||||
|             temp = (temp ^ temp_1) & mask; | ||||
|             temp = (y - temp ) & mask; | ||||
|             y = temp & mask; | ||||
|             /*y += ((z << 4) + a) ^ (z + sum) ^ ((z >> 5) + b); */ | ||||
| 
 | ||||
|             sum = (sum-cnDelta)& mask; | ||||
|             n = n - 1; | ||||
| 
 | ||||
|         } | ||||
|         for(n = 0;n<=3;n++) | ||||
|         { | ||||
|             outb[n] = (byte)((y >>> (n * 8)) & 255); | ||||
|             outb[n + 4] =(byte)((z >>> (n * 8)) & 255); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public static void main (String[] args) | ||||
|     { | ||||
|         System.out.println(IdUtil.simpleUUID()); | ||||
|         SoftKey mysoftkey = new SoftKey(); | ||||
|         String InString,Outstring,Outstring_2; | ||||
|         InString="1122222222"; | ||||
|         Outstring=mysoftkey.StrEnc(InString,"5cb4b5fcfe474657b5621f34d0ea6df9"); | ||||
|         Outstring_2=mysoftkey.StrDec(Outstring,"5cb4b5fcfe474657b5621f34d0ea6df9"); | ||||
|         System.out.println(Outstring); | ||||
|         System.out.println(Outstring_2); | ||||
| 
 | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,96 @@ | ||||
| package com.glxp.api.util.sm2; | ||||
| 
 | ||||
| import cn.hutool.core.util.HexUtil; | ||||
| import cn.hutool.core.util.StrUtil; | ||||
| import cn.hutool.crypto.BCUtil; | ||||
| import cn.hutool.crypto.SecureUtil; | ||||
| import cn.hutool.crypto.SmUtil; | ||||
| import cn.hutool.crypto.asymmetric.KeyType; | ||||
| import cn.hutool.crypto.asymmetric.SM2; | ||||
| import org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPublicKey; | ||||
| import org.bouncycastle.jce.ECNamedCurveTable; | ||||
| import org.bouncycastle.jce.provider.BouncyCastleProvider; | ||||
| import org.bouncycastle.jce.spec.ECNamedCurveParameterSpec; | ||||
| import org.bouncycastle.jce.spec.ECNamedCurveSpec; | ||||
| import org.bouncycastle.util.encoders.Hex; | ||||
| 
 | ||||
| import java.security.*; | ||||
| 
 | ||||
| import java.math.BigInteger; | ||||
| import java.security.KeyFactory; | ||||
| import java.security.NoSuchAlgorithmException; | ||||
| import java.security.interfaces.ECPublicKey; | ||||
| import java.security.spec.*; | ||||
| import java.util.Base64; | ||||
| 
 | ||||
| public class Test { | ||||
| 
 | ||||
|     public static void main(String[] args) { | ||||
| 
 | ||||
| 
 | ||||
|         String text = "wangjing"; | ||||
| 
 | ||||
|         //使用随机生成的密钥对加密或解密
 | ||||
|         System.out.println("使用随机生成的密钥对加密或解密====开始"); | ||||
|         SM2 sm2 = SmUtil.sm2(); | ||||
|         // 公钥加密
 | ||||
|         String encryptStr = sm2.encryptBcd(text, KeyType.PublicKey); | ||||
|         System.out.println("公钥加密:" + encryptStr); | ||||
|         //私钥解密
 | ||||
|         String decryptStr = StrUtil.utf8Str(sm2.decryptFromBcd(encryptStr, KeyType.PrivateKey)); | ||||
|         System.out.println("私钥解密:" + decryptStr); | ||||
|         System.out.println("使用随机生成的密钥对加密或解密====结束"); | ||||
| 
 | ||||
| 
 | ||||
|         //使用自定义密钥对加密或解密
 | ||||
|         System.out.println("使用自定义密钥对加密或解密====开始"); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|         String hutoolPrivateKeyHex = HexUtil.encodeHexStr(BCUtil.encodeECPrivateKey(sm2.getPrivateKey())); | ||||
|         String hutoolPublicKeyHex = HexUtil.encodeHexStr(((BCECPublicKey) sm2.getPublicKey()).getQ().getEncoded(false)); | ||||
|         String hutoolPublicKeyHexX = HexUtil.encodeHexStr(((BCECPublicKey) sm2.getPublicKey()).getQ().getXCoord().getEncoded()); | ||||
|         String hutoolPublicKeyHexY = HexUtil.encodeHexStr(((BCECPublicKey) sm2.getPublicKey()).getQ().getYCoord().getEncoded()); | ||||
| 
 | ||||
|         System.out.println(hutoolPrivateKeyHex); | ||||
|         System.out.println(hutoolPublicKeyHex); | ||||
|         System.out.println(hutoolPublicKeyHexX); | ||||
|         System.out.println(hutoolPublicKeyHexY); | ||||
| 
 | ||||
| 
 | ||||
|         ECPublicKey publicKey = hexToSM2PublicKey(hutoolPublicKeyHexX, hutoolPublicKeyHexY); | ||||
|         String hutoolPublicKeyHex1 = HexUtil.encodeHexStr(publicKey.getEncoded()); | ||||
|         System.out.println(hutoolPublicKeyHex1); | ||||
|         SM2 sm22 = SmUtil.sm2(hutoolPrivateKeyHex, hutoolPublicKeyHex1); | ||||
|         // 公钥加密
 | ||||
|         String encryptStr2 = sm22.encryptBcd(text, KeyType.PublicKey); | ||||
|         System.out.println("公钥加密:" + encryptStr2); | ||||
|         //私钥解密
 | ||||
|         String decryptStr2 = StrUtil.utf8Str(sm22.decryptFromBcd(encryptStr2, KeyType.PrivateKey)); | ||||
|         System.out.println("私钥解密:" + decryptStr2); | ||||
|         System.out.println("使用自定义密钥对加密或解密====结束"); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public static ECPublicKey hexToSM2PublicKey(String x, String y) { | ||||
|         ECPublicKey pubkey = null; | ||||
|         try { | ||||
|             KeyFactory keyFactory = KeyFactory.getInstance("EC"); | ||||
|             ECPoint ecPoint = new ECPoint( | ||||
|                     new BigInteger(x, 16), new BigInteger(y, 16)); | ||||
| 
 | ||||
|             ECNamedCurveParameterSpec parameterSpec = ECNamedCurveTable.getParameterSpec("sm2p256v1"); | ||||
|             ECNamedCurveSpec spec = new ECNamedCurveSpec("sm2p256v1", parameterSpec.getCurve(), parameterSpec.getG(), parameterSpec.getN(), parameterSpec.getH(), parameterSpec.getSeed()); | ||||
| 
 | ||||
|             ECPublicKeySpec keySpec = new ECPublicKeySpec(ecPoint, spec); | ||||
|             pubkey = new BCECPublicKey("BC", keySpec, BouncyCastleProvider.CONFIGURATION); | ||||
|         } catch (NoSuchAlgorithmException e) { | ||||
|             e.printStackTrace(); | ||||
|         } | ||||
| 
 | ||||
|         return pubkey; | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,5 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||||
| <mapper namespace="com.glxp.api.dao.ud.UdInfoMapper"> | ||||
| 
 | ||||
| </mapper> | ||||
| @ -0,0 +1,5 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||||
| <mapper namespace="com.glxp.api.dao.ud.UdProducePlanMapper"> | ||||
| 
 | ||||
| </mapper> | ||||
					Loading…
					
					
				
		Reference in New Issue