├── .gitignore ├── LICENSE ├── README.md ├── bcd-allocation ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baidu │ └── mapp │ └── bcd │ ├── ManageApplication.java │ └── controller │ ├── ActivityController.java │ ├── AdminController.java │ ├── AllocationController.java │ └── AssignController.java ├── bcd-common ├── dependency-reduced-pom.xml ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baidu │ └── mapp │ └── bcd │ └── common │ ├── gson │ ├── GsonDateDefaultAdapter.java │ ├── GsonFactory.java │ ├── GsonNumberDefaultAdapter.java │ └── GsonUtils.java │ └── utils │ ├── ActivityStatus.java │ ├── ChainConstants.java │ ├── DateTimeUtils.java │ ├── MaskUtils.java │ ├── MyCollections.java │ ├── RegexUtil.java │ ├── SignUtils.java │ └── digest │ ├── AESUtil.java │ ├── DesEncrypter.java │ ├── Digest.java │ └── UpdateMessageDigestInputStream.java ├── bcd-core ├── dependency-reduced-pom.xml ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── baidu │ │ └── mapp │ │ └── bcd │ │ ├── config │ │ ├── DigestConfig.java │ │ ├── GsonHttpMessageConverterMvcConfig.java │ │ └── RestTemplateConfig.java │ │ ├── dao │ │ ├── ActivityMapper.java │ │ ├── ActivityPlanConfigMapper.java │ │ ├── ActivityPlanMapper.java │ │ ├── AdminMapper.java │ │ ├── AllocationMapper.java │ │ ├── AssignMapper.java │ │ ├── CertificateHashMapper.java │ │ ├── CertificateMapper.java │ │ ├── DonateDetailMapper.java │ │ ├── DonateFlowMapper.java │ │ ├── DonatoryMapper.java │ │ ├── DonorMapper.java │ │ ├── DrawDonateDetailRelMapper.java │ │ ├── DrawRecordDetailMapper.java │ │ ├── DrawRecordFlowMapper.java │ │ ├── DrawRecordMapper.java │ │ ├── PlanAllocationRelMapper.java │ │ ├── base │ │ │ ├── BaseMapper.java │ │ │ ├── BaseSQL.java │ │ │ ├── CommonMapper.java │ │ │ ├── CommonProvider.java │ │ │ └── SQLParam.java │ │ └── provider │ │ │ ├── ActivityPlanConfigProvider.java │ │ │ ├── ActivityPlanProvider.java │ │ │ ├── ActivityProvider.java │ │ │ ├── AdminProvider.java │ │ │ ├── AllocationProvider.java │ │ │ ├── AssignProvider.java │ │ │ ├── CertificateHashProvider.java │ │ │ ├── CertificateProvider.java │ │ │ ├── DonateDetailProvider.java │ │ │ ├── DonateFlowProvider.java │ │ │ ├── DonatoryProvider.java │ │ │ ├── DonorProvider.java │ │ │ ├── DrawDonateDetailRelProvider.java │ │ │ ├── DrawRecordDetailProvider.java │ │ │ ├── DrawRecordFlowProvider.java │ │ │ ├── DrawRecordProvider.java │ │ │ └── PlanAllocationRelProvider.java │ │ ├── domain │ │ ├── Activity.java │ │ ├── ActivityExample.java │ │ ├── ActivityPlan.java │ │ ├── ActivityPlanConfig.java │ │ ├── ActivityPlanConfigExample.java │ │ ├── ActivityPlanExample.java │ │ ├── Admin.java │ │ ├── AdminExample.java │ │ ├── Allocation.java │ │ ├── AllocationExample.java │ │ ├── Assign.java │ │ ├── AssignExample.java │ │ ├── Certificate.java │ │ ├── CertificateExample.java │ │ ├── CertificateHash.java │ │ ├── CertificateHashExample.java │ │ ├── DonateDetail.java │ │ ├── DonateDetailExample.java │ │ ├── DonateFlow.java │ │ ├── DonateFlowExample.java │ │ ├── Donatory.java │ │ ├── DonatoryExample.java │ │ ├── Donor.java │ │ ├── DonorExample.java │ │ ├── DrawDonateDetailRel.java │ │ ├── DrawDonateDetailRelExample.java │ │ ├── DrawRecord.java │ │ ├── DrawRecordDetail.java │ │ ├── DrawRecordDetailExample.java │ │ ├── DrawRecordExample.java │ │ ├── DrawRecordFlow.java │ │ ├── DrawRecordFlowExample.java │ │ ├── PlanAllocationRel.java │ │ ├── PlanAllocationRelExample.java │ │ ├── base │ │ │ ├── BaseExample.java │ │ │ ├── BaseExampleBuilder.java │ │ │ ├── BaseQuery.java │ │ │ ├── Pagination.java │ │ │ └── R.java │ │ ├── dto │ │ │ ├── LoginUser.java │ │ │ ├── UserThreadLocal.java │ │ │ ├── UserType.java │ │ │ └── WasmContractDto.java │ │ ├── em │ │ │ ├── Deleted.java │ │ │ └── Enabled.java │ │ └── meta │ │ │ ├── MetaActivity.java │ │ │ ├── MetaActivityPlan.java │ │ │ ├── MetaActivityPlanConfig.java │ │ │ ├── MetaAdmin.java │ │ │ ├── MetaAllocation.java │ │ │ ├── MetaAssign.java │ │ │ ├── MetaCertificate.java │ │ │ ├── MetaCertificateHash.java │ │ │ ├── MetaDonateDetail.java │ │ │ ├── MetaDonateFlow.java │ │ │ ├── MetaDonatory.java │ │ │ ├── MetaDonor.java │ │ │ ├── MetaDrawDonateDetailRel.java │ │ │ ├── MetaDrawRecord.java │ │ │ ├── MetaDrawRecordDetail.java │ │ │ ├── MetaDrawRecordFlow.java │ │ │ └── MetaPlanAllocationRel.java │ │ ├── dto │ │ ├── ActivityDetailResp.java │ │ ├── ActivityPlanConfigReq.java │ │ ├── ActivityPlanConfigResp.java │ │ ├── ActivityPlanDetailResp.java │ │ ├── ActivityPlanReq.java │ │ ├── ActivityPlanResp.java │ │ ├── ActivityReq.java │ │ ├── ActivityResp.java │ │ ├── AllDonationFlowResp.java │ │ ├── AssignConfigReq.java │ │ ├── AssignConfigResp.java │ │ ├── AssignPlanReq.java │ │ ├── AssignReq.java │ │ ├── CustomizedPair.java │ │ ├── DCActivityBriefResp.java │ │ ├── DCDrawDetailResp.java │ │ ├── DCDrawRecordResp.java │ │ ├── DonateChainResp.java │ │ ├── DonateDetailReq.java │ │ ├── DonateDetailResp.java │ │ ├── DonateFlatDetail.java │ │ ├── DonateFlowResp.java │ │ ├── DonateReq.java │ │ ├── DonateResp.java │ │ ├── DonationFlowBriefResp.java │ │ ├── DonatoryActivityRes.java │ │ ├── DonatoryChainResp.java │ │ ├── DonatoryReq.java │ │ ├── DonorReq.java │ │ ├── DrawRecordFlatDetail.java │ │ ├── DrawReq.java │ │ ├── LoginParam.java │ │ ├── LoginResponse.java │ │ ├── Verification.java │ │ └── VerificationDetail.java │ │ ├── interceptor │ │ └── MyLogMybatisPlugin.java │ │ ├── service │ │ ├── ActivityPlanConfigService.java │ │ ├── ActivityPlanService.java │ │ ├── ActivityService.java │ │ ├── AdminService.java │ │ ├── AllocationService.java │ │ ├── AssignService.java │ │ ├── CertificateHashService.java │ │ ├── CertificateService.java │ │ ├── ChainService.java │ │ ├── DonateDetailService.java │ │ ├── DonateFlowService.java │ │ ├── DonatoryService.java │ │ ├── DonorService.java │ │ ├── DrawDonateDetailRelService.java │ │ ├── DrawRecordDetailService.java │ │ ├── DrawRecordFlowService.java │ │ ├── DrawRecordService.java │ │ ├── PlanAllocationRelService.java │ │ ├── base │ │ │ ├── CommonService.java │ │ │ ├── CommonServiceImpl.java │ │ │ ├── GenericService.java │ │ │ └── GenericServiceImpl.java │ │ └── impl │ │ │ ├── ActivityPlanConfigServiceImpl.java │ │ │ ├── ActivityPlanServiceImpl.java │ │ │ ├── ActivityServiceImpl.java │ │ │ ├── AdminServiceImpl.java │ │ │ ├── AllocationServiceImpl.java │ │ │ ├── AssignServiceImpl.java │ │ │ ├── CertificateHashServiceImpl.java │ │ │ ├── CertificateServiceImpl.java │ │ │ ├── DonateDetailServiceImpl.java │ │ │ ├── DonateFlowServiceImpl.java │ │ │ ├── DonatoryServiceImpl.java │ │ │ ├── DonorServiceImpl.java │ │ │ ├── DrawDonateDetailRelServiceImpl.java │ │ │ ├── DrawRecordDetailServiceImpl.java │ │ │ ├── DrawRecordFlowServiceImpl.java │ │ │ ├── DrawRecordServiceImpl.java │ │ │ ├── PlanAllocationRelServiceImpl.java │ │ │ └── XuperChainServiceImpl.java │ │ └── typehandler │ │ ├── JsonByteListTypeHandler.java │ │ ├── JsonIntegerListTypeHandler.java │ │ ├── JsonLongListTypeHandler.java │ │ └── JsonStringListTypeHandler.java │ └── resources │ └── mybatis │ └── bcd │ ├── ActivityMapper.xml │ ├── ActivityPlanConfigMapper.xml │ ├── ActivityPlanMapper.xml │ ├── AdminMapper.xml │ ├── AllocationMapper.xml │ ├── AssignMapper.xml │ ├── CertificateHashMapper.xml │ ├── CertificateMapper.xml │ ├── DonateDetailMapper.xml │ ├── DonateFlowMapper.xml │ ├── DonatoryMapper.xml │ ├── DonorMapper.xml │ ├── DrawDonateDetailRelMapper.xml │ ├── DrawRecordDetailMapper.xml │ ├── DrawRecordFlowMapper.xml │ ├── DrawRecordMapper.xml │ ├── PlanAllocationRelMapper.xml │ └── ext │ ├── ExtActivityMapper.xml │ ├── ExtActivityPlanConfigMapper.xml │ ├── ExtActivityPlanMapper.xml │ ├── ExtAdminMapper.xml │ ├── ExtAllocationMapper.xml │ ├── ExtAssignMapper.xml │ ├── ExtCertificateHashMapper.xml │ ├── ExtCertificateMapper.xml │ ├── ExtDonateDetailMapper.xml │ ├── ExtDonateFlowMapper.xml │ ├── ExtDonatoryMapper.xml │ ├── ExtDonorMapper.xml │ ├── ExtDrawDonateDetailRelMapper.xml │ ├── ExtDrawRecordDetailMapper.xml │ ├── ExtDrawRecordFlowMapper.xml │ ├── ExtDrawRecordMapper.xml │ └── ExtPlanAllocationRelMapper.xml ├── bcd-donate ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baidu │ └── mapp │ └── bcd │ ├── DonorApplication.java │ └── controller │ ├── DonateController.java │ └── DonorController.java ├── bcd-recipients ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── baidu │ └── mapp │ └── bcd │ ├── DonatoryApplication.java │ └── controller │ ├── DonatoryController.java │ └── DrawController.java ├── bcd-supervision ├── dependency-reduced-pom.xml ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── baidu │ │ │ └── mapp │ │ │ └── bcd │ │ │ ├── OpenApplication.java │ │ │ ├── config │ │ │ ├── Swagger2.java │ │ │ ├── UserAuthFilter.java │ │ │ └── WebMvcConfig.java │ │ │ ├── controller │ │ │ ├── CertificateController.java │ │ │ ├── SupervisionController.java │ │ │ └── VerificationController.java │ │ │ └── filter │ │ │ └── CrossDomainFilter.java │ └── resources │ │ ├── application.yml │ │ ├── log4j2.component.properties │ │ └── log4j2.xml │ └── test │ └── java │ └── com │ └── baidu │ └── mapp │ └── bcd │ └── service │ └── ChainServiceTest.java ├── deploy └── supervision.sh ├── doc ├── 1689045F-8E50-4DF5-B581-B4B6EF82B1A9.JPG ├── contact.JPG ├── data_upload.JPG ├── er.JPG ├── flow_upload.JPG └── proto_func.JPG └── pom.xml /.gitignore: -------------------------------------------------------------------------------- 1 | # maven ignore 2 | logs 3 | .mvn 4 | mvnw 5 | mvnw.cmd 6 | target/ 7 | output/ 8 | # *.jar 9 | *.war 10 | *.zip 11 | *.tar 12 | *.tar.gz 13 | tree.txt 14 | HELP.md 15 | # eclipse ignore 16 | .settings/ 17 | .project 18 | .classpath 19 | 20 | # idea ignore 21 | .idea/ 22 | *.ipr 23 | *.iml 24 | *.iws 25 | 26 | # temp ignore 27 | *.log 28 | *.cache 29 | *.diff 30 | *.patch 31 | *.tmp 32 | 33 | # system ignore 34 | .DS_Store 35 | Thumbs.db 36 | 37 | bcd-gen 38 | 39 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ##**1. 系统架构图** 2 | ![avatar](doc/1689045F-8E50-4DF5-B581-B4B6EF82B1A9.JPG) 3 | 4 | ##**2. 合约功能** 5 | ![avatar](doc/proto_func.JPG) 6 | 7 | ##**3. 上链数据** 8 | ![avatar](doc/data_upload.JPG) 9 | 10 | ##**4. 上链流程** 11 | ![avatar](doc/flow_upload.JPG) 12 | 13 | ##**5. E-R模型** 14 | ![avatar](doc/er.JPG) 15 | 16 | ##**6. 联系我们** 17 | ![avatar](doc/contact.JPG) 18 | -------------------------------------------------------------------------------- /bcd-allocation/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | ty-donation 10 | com.baidu.mapp.bcd 11 | 1.0.0-SNAPSHOT 12 | 13 | 4.0.0 14 | 15 | bcd-allocation 16 | 调拨系统 17 | 18 | 19 | 20 | org.springframework.boot 21 | spring-boot-starter-web 22 | 23 | 24 | spring-boot-starter-logging 25 | org.springframework.boot 26 | 27 | 28 | 29 | 30 | org.springframework.boot 31 | spring-boot-starter-log4j2 32 | 33 | 34 | com.lmax 35 | disruptor 36 | 37 | 38 | 39 | org.springframework.boot 40 | spring-boot-starter-actuator 41 | 42 | 43 | 44 | com.baidu.mapp.bcd 45 | bcd-core 46 | 47 | 48 | 49 | org.springdoc 50 | springdoc-openapi-ui 51 | 52 | 53 | junit 54 | junit 55 | 4.13 56 | test 57 | 58 | 59 | 60 | 61 | 62 | 63 | org.springframework.boot 64 | spring-boot-maven-plugin 65 | 66 | com.baidu.mapp.bcd.ManageApplication 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /bcd-allocation/src/main/java/com/baidu/mapp/bcd/ManageApplication.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd; 2 | 3 | import org.apache.logging.log4j.core.async.AsyncLoggerContextSelector; 4 | import org.mybatis.spring.annotation.MapperScan; 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | import org.springframework.boot.WebApplicationType; 8 | import org.springframework.boot.autoconfigure.SpringBootApplication; 9 | import org.springframework.boot.builder.SpringApplicationBuilder; 10 | import org.springframework.scheduling.annotation.EnableScheduling; 11 | import org.springframework.transaction.annotation.EnableTransactionManagement; 12 | 13 | @SpringBootApplication(scanBasePackages = {"com.baidu.mapp.bcd"}) 14 | @MapperScan(annotationClass = org.apache.ibatis.annotations.Mapper.class, basePackages = "com.baidu.mapp.bcd.dao") 15 | @EnableTransactionManagement 16 | @EnableScheduling 17 | public class ManageApplication { 18 | static { 19 | System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"); 20 | } 21 | private static final Logger LOGGER = LoggerFactory.getLogger(ManageApplication.class); 22 | public static void main(String[] args) { 23 | LOGGER.info("is async logger: {}", AsyncLoggerContextSelector.isSelected()); 24 | System.out.println("is async logger: " + AsyncLoggerContextSelector.isSelected()); 25 | new SpringApplicationBuilder() 26 | .sources(ManageApplication.class) 27 | .web(WebApplicationType.SERVLET) 28 | .registerShutdownHook(true) 29 | .build().run(args); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /bcd-allocation/src/main/java/com/baidu/mapp/bcd/controller/AdminController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.controller; 5 | 6 | import java.util.Date; 7 | import java.util.UUID; 8 | 9 | import javax.servlet.http.HttpServletRequest; 10 | 11 | import org.apache.commons.lang3.StringUtils; 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | import org.springframework.util.DigestUtils; 14 | import org.springframework.web.bind.annotation.PostMapping; 15 | import org.springframework.web.bind.annotation.RequestBody; 16 | import org.springframework.web.bind.annotation.RequestHeader; 17 | import org.springframework.web.bind.annotation.RequestMapping; 18 | import org.springframework.web.bind.annotation.RestController; 19 | 20 | import com.baidu.mapp.bcd.domain.Admin; 21 | import com.baidu.mapp.bcd.domain.AdminExample; 22 | import com.baidu.mapp.bcd.domain.DonateDetail; 23 | import com.baidu.mapp.bcd.domain.DonateDetailExample; 24 | import com.baidu.mapp.bcd.domain.base.R; 25 | import com.baidu.mapp.bcd.domain.dto.UserType; 26 | import com.baidu.mapp.bcd.dto.LoginParam; 27 | import com.baidu.mapp.bcd.dto.LoginResponse; 28 | import com.baidu.mapp.bcd.service.AdminService; 29 | import com.baidu.mapp.bcd.service.DonateDetailService; 30 | 31 | import io.swagger.v3.oas.annotations.media.Schema; 32 | 33 | @Schema(description = "工作人相关接口") 34 | @RestController 35 | @RequestMapping("/admin") 36 | public class AdminController { 37 | 38 | @Autowired 39 | AdminService adminService; 40 | 41 | @Autowired 42 | DonateDetailService donateDetailService; 43 | 44 | @PostMapping("adminLogin") 45 | public R adminLogin(@RequestBody LoginParam loginParam, HttpServletRequest request) { 46 | long now = System.currentTimeMillis()/1000L * 1000L; 47 | String username = loginParam.getUserName(); 48 | String password = loginParam.getPassword(); 49 | if (StringUtils.isBlank(username)) { 50 | return R.error(100100, "用户名不能为空"); 51 | } 52 | if (StringUtils.isBlank(password)) { 53 | return R.error(100100, "密码不能为空"); 54 | } 55 | Admin admin = null; 56 | if (!StringUtils.isBlank(username)) { 57 | admin = adminService.selectOneByExample( 58 | AdminExample.newBuilder().build().createCriteria().andAdminUserNameEqualTo(username).toExample()); 59 | } 60 | if (admin == null) { 61 | return R.error(100102, "用户不存在"); 62 | } 63 | 64 | String encryptPassword = DigestUtils.md5DigestAsHex(password.getBytes()); 65 | if (!StringUtils.equals(encryptPassword, admin.getAdminPwd())) { 66 | return R.error(100102, "密码错误"); 67 | } 68 | LoginResponse loginResponse = new LoginResponse(); 69 | loginResponse.setUserId(admin.getId()); 70 | String token = UserType.ADMIN.getName().concat(":").concat(UUID.randomUUID().toString()); 71 | loginResponse.setToken(token); 72 | loginResponse.setName(admin.getAdminName()); 73 | loginResponse.setUserName(admin.getAdminUserName()); 74 | admin.setLoginToken(token); 75 | admin.setLastLoginTime(new Date()); 76 | admin.setLastModifyTime(new Date()); 77 | adminService.updateByPrimaryKeySelective(admin); 78 | 79 | return R.ok(loginResponse); 80 | 81 | } 82 | 83 | // 库存可用金额 84 | @PostMapping("donate/balance") 85 | @Schema(description = "库存剩余金额") 86 | public R balance(@RequestHeader("X-TOKEN") String xtoken) { 87 | Long balance = donateDetailService.sumMoneyBalanceByExample(DonateDetailExample.newBuilder() 88 | .build() 89 | .createCriteria() 90 | .andBalanceGreaterThan(0L) 91 | // 捐赠类别, 1-钱,2-物 92 | .andTypeEqualTo((byte) 1) 93 | .toExample() 94 | ); 95 | 96 | return R.ok(balance); 97 | } 98 | 99 | 100 | } 101 | -------------------------------------------------------------------------------- /bcd-common/dependency-reduced-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | bc-donate 5 | com.baidu.mapp.bcd 6 | 1.0.0-SNAPSHOT 7 | 8 | 4.0.0 9 | bcd-common 10 | 11 | 12 | org.projectlombok 13 | lombok 14 | 1.18.12 15 | provided 16 | 17 | 18 | org.apache.commons 19 | commons-lang3 20 | 3.10 21 | provided 22 | 23 | 24 | com.google.guava 25 | guava 26 | 29.0-jre 27 | provided 28 | 29 | 30 | com.google.code.gson 31 | gson 32 | 2.8.6 33 | provided 34 | 35 | 36 | org.slf4j 37 | slf4j-api 38 | 1.7.30 39 | provided 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /bcd-common/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | ty-donation 10 | com.baidu.mapp.bcd 11 | 1.0.0-SNAPSHOT 12 | 13 | 4.0.0 14 | 15 | bcd-common 16 | 17 | 18 | 19 | commons-codec 20 | commons-codec 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/gson/GsonDateDefaultAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.common.gson; 5 | 6 | import java.lang.reflect.Type; 7 | import java.util.Date; 8 | 9 | import com.google.gson.JsonDeserializationContext; 10 | import com.google.gson.JsonDeserializer; 11 | import com.google.gson.JsonElement; 12 | import com.google.gson.JsonNull; 13 | import com.google.gson.JsonParseException; 14 | import com.google.gson.JsonPrimitive; 15 | import com.google.gson.JsonSerializationContext; 16 | import com.google.gson.JsonSerializer; 17 | 18 | public class GsonDateDefaultAdapter implements JsonSerializer, JsonDeserializer { 19 | 20 | @Override 21 | public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) 22 | throws JsonParseException { 23 | if (json.isJsonNull()) { 24 | return null; 25 | } 26 | if (json.isJsonPrimitive()) { 27 | String stringValue = json.getAsString(); 28 | if (stringValue.equals("") || stringValue.equals("null")) { 29 | return null; 30 | } else { 31 | return new Date(json.getAsJsonPrimitive().getAsLong()); 32 | } 33 | } else { 34 | return null; 35 | } 36 | 37 | } 38 | 39 | @Override 40 | public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) { 41 | if (src == null) { 42 | return JsonNull.INSTANCE; 43 | } 44 | return new JsonPrimitive(src.getTime()); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/gson/GsonNumberDefaultAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.common.gson; 5 | 6 | import java.lang.reflect.Type; 7 | 8 | import com.google.gson.JsonDeserializationContext; 9 | import com.google.gson.JsonDeserializer; 10 | import com.google.gson.JsonElement; 11 | import com.google.gson.JsonNull; 12 | import com.google.gson.JsonParseException; 13 | import com.google.gson.JsonPrimitive; 14 | import com.google.gson.JsonSerializationContext; 15 | import com.google.gson.JsonSerializer; 16 | 17 | public interface GsonNumberDefaultAdapter extends JsonSerializer, 18 | JsonDeserializer { 19 | T returnNull(); 20 | 21 | T returnValue(JsonElement json); 22 | 23 | @Override 24 | default T deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) 25 | throws JsonParseException { 26 | if (json == null || json.isJsonNull()) { 27 | return returnNull(); 28 | } 29 | 30 | if (json.isJsonPrimitive()) { 31 | String stringValue = json.getAsString(); 32 | if (stringValue.equals("") || stringValue.equals("null")) { 33 | return returnNull(); 34 | } else { 35 | return returnValue(json); 36 | } 37 | } else { 38 | return returnNull(); 39 | } 40 | } 41 | 42 | @Override 43 | default JsonElement serialize(T src, Type typeOfSrc, JsonSerializationContext context) { 44 | if (src == null) { 45 | return JsonNull.INSTANCE; 46 | } 47 | return new JsonPrimitive(src); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/utils/ActivityStatus.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.common.utils; 2 | 3 | /** 4 | * 活动状态枚举 0-待实施, 1-实施中, 2-实施完成 5 | */ 6 | public enum ActivityStatus { 7 | 8 | INIT((byte) 0, "待实施"), 9 | ING((byte) 1, "实施中"), 10 | DONE((byte) 2, "实施完成"); 11 | 12 | private Byte status; 13 | 14 | private String desc; 15 | 16 | ActivityStatus(Byte status, String desc) { 17 | this.status = status; 18 | this.desc = desc; 19 | } 20 | 21 | public Byte getStatus() { 22 | return status; 23 | } 24 | 25 | public void setStatus(Byte status) { 26 | this.status = status; 27 | } 28 | 29 | public String getDesc() { 30 | return desc; 31 | } 32 | 33 | public void setDesc(String desc) { 34 | this.desc = desc; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/utils/ChainConstants.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.common.utils; 2 | 3 | /** 4 | * 上链关键信息字段定义 5 | */ 6 | public class ChainConstants { 7 | 8 | public static final String DONATE_DETAIL_NAME = "name"; 9 | 10 | public static final String DONATE_DETAIL_UNIT = "unit"; 11 | 12 | public static final String DONATE_DETAIL_QUANTITY = "quantity"; 13 | 14 | public static final String DONATE_FLOW_DONOR_NAME = "donorName"; 15 | 16 | public static final String DONATE_FLOW_DONATE_TIME = "donateTime"; 17 | 18 | public static final String DONATE_FLOW_DONOR_ID_CARD = "donorIDCard"; 19 | 20 | public static final String DONATE_DETAIL = "donateDetail"; 21 | 22 | public static final String DRAW_DETAIL_NAME = "name"; 23 | 24 | public static final String DRAW_DETAIL_UNIT = "unit"; 25 | 26 | public static final String DRAW_DETAIL_QUANTITY = "quantity"; 27 | 28 | public static final String DRAw_FLOW_DONATORY_NAME = "donatoryName"; 29 | 30 | public static final String DRAW_FLOW_DONATORY_ID_CARD = "donatoryIdCard"; 31 | 32 | public static final String DRAW_DETAIL = "drawDetail"; 33 | 34 | public static final String DRAW_FLOW_DRAW_TIME = "drawTime"; 35 | 36 | public static final Long ADMIN_ID = 9900000L; 37 | 38 | public static final String ACTIVITY_ID = "activityId"; 39 | 40 | public static final String ACTIVITY_DESC = "activityDesc"; 41 | 42 | public static final String ACTIVITY_THEME = "activityTheme"; 43 | 44 | public static final String ACTIVITY_PLAN_DESC = "activityPlanDesc"; 45 | 46 | public static final String ACTIVITY_PLAN_TYPE = "type"; 47 | 48 | public static final String ACTIVITY_START_TIME = "startTime"; 49 | 50 | public static final String ACTIVITY_END_TIME = "endTime"; 51 | 52 | public static final String ACTIVITY_PLAN_NAME = "name"; 53 | 54 | public static final String ACTIVITY_PLAN_AMOUNT = "amount"; 55 | 56 | public static final String ACTIVITY_PLAN_QUANTITY = "quantity"; 57 | 58 | public static final String ACTIVITY_PLAN_UNIT = "unit"; 59 | 60 | } 61 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/utils/DateTimeUtils.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.common.utils; 5 | 6 | import java.time.LocalDate; 7 | import java.time.LocalDateTime; 8 | import java.time.ZoneId; 9 | import java.time.ZoneOffset; 10 | import java.time.format.DateTimeFormatter; 11 | import java.util.Date; 12 | 13 | public class DateTimeUtils { 14 | 15 | /** 16 | * 今天 17 | * 18 | * @return yyyy-MM-dd 19 | */ 20 | public static Date today() { 21 | LocalDate today = LocalDate.now(); 22 | return Date.from(today.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()); 23 | } 24 | 25 | /** 26 | * 昨天 27 | * 28 | * @return yyyy-MM-dd 29 | */ 30 | public static Date yesterday() { 31 | LocalDate yesterday = LocalDate.now().plusDays(-1); 32 | return Date.from(yesterday.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()); 33 | } 34 | 35 | /** 36 | * 明天 37 | * 38 | * @return yyyy-MM-dd 39 | */ 40 | public static Date tomorrow() { 41 | LocalDate tomorrow = LocalDate.now().plusDays(1); 42 | return Date.from(tomorrow.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()); 43 | } 44 | 45 | /** 46 | * 转换日期 47 | */ 48 | public static String toDateString(Date date, String... pattern) { 49 | if (date == null) { 50 | return ""; 51 | } 52 | String p = pattern == null || pattern.length == 0 ? "yyyy-MM-dd" : pattern[0]; 53 | LocalDate localDate = LocalDateTime.ofInstant(date.toInstant(), ZoneOffset.systemDefault()).toLocalDate(); 54 | return localDate.format(DateTimeFormatter.ofPattern(p)); 55 | } 56 | 57 | /** 58 | * 转换日期 59 | */ 60 | public static String toDateTimeString(Date date, String... pattern) { 61 | if (date == null) { 62 | return ""; 63 | } 64 | String p = pattern == null || pattern.length == 0 ? "yyyy-MM-dd HH:mm:ss" : pattern[0]; 65 | LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneOffset.systemDefault()); 66 | return localDateTime.format(DateTimeFormatter.ofPattern(p)); 67 | } 68 | 69 | /** 70 | * 判断是否过期, 包括当天 71 | */ 72 | public static boolean expireDate(Date date) { 73 | if (date == null) { 74 | return true; 75 | } 76 | LocalDate localDate = LocalDateTime.ofInstant(date.toInstant(), ZoneOffset.systemDefault()).toLocalDate(); 77 | return localDate.isBefore(LocalDate.now()); 78 | } 79 | 80 | 81 | public static void main(String[] args){ 82 | System.out.println(expireDate(Date.from(LocalDate.now().plusDays(-1).atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()))); 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/utils/MaskUtils.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.common.utils; 2 | 3 | import org.apache.commons.lang3.StringUtils; 4 | 5 | /** 6 | * 个人关键信息脱敏 7 | */ 8 | public class MaskUtils { 9 | 10 | public static final String ANONYMITY_PREFIX = "雷锋"; 11 | 12 | public static final char MASK = '*'; 13 | 14 | /** 15 | * 捐赠人名称脱敏 16 | */ 17 | public static String maskDonorName(String name) { 18 | if (StringUtils.isEmpty(name)) { 19 | return name; 20 | } 21 | 22 | if (name.startsWith(ANONYMITY_PREFIX)) { 23 | return maskFromStart(name, ANONYMITY_PREFIX.length()); 24 | } else { 25 | return maskFromStart(name, 1); 26 | } 27 | } 28 | 29 | /** 30 | * 身份证号脱敏 31 | */ 32 | public static String maskIdCard(String idCard) { 33 | if (StringUtils.isEmpty(idCard)) { 34 | return StringUtils.EMPTY; 35 | } 36 | return maskFromStart(idCard, idCard.length() - 4); 37 | } 38 | 39 | /** 40 | * 手机号脱敏 41 | */ 42 | public static String maskCellPhone(String phone) { 43 | if (StringUtils.isEmpty(phone)) { 44 | return StringUtils.EMPTY; 45 | } 46 | return maskFromTo(phone, 3, 6); 47 | } 48 | 49 | 50 | private static String maskFromTo(String string, int start, int end) { 51 | if (start < 0 || start > string.length() - 1 52 | || end < 0 || end > string.length() - 1 53 | || start > end) { 54 | return string; 55 | } 56 | 57 | char[] charArray = string.toCharArray(); 58 | for (int i = start; i <= end; i ++) { 59 | charArray[i] = MASK; 60 | } 61 | return new String(charArray); 62 | } 63 | 64 | private static String maskFromStart(String string, int start) { 65 | if (start < 0 || start > string.length() - 1) { 66 | return string; 67 | } 68 | 69 | char[] charArray = string.toCharArray(); 70 | for (int i = start; i < string.length(); i ++) { 71 | charArray[i] = MASK; 72 | } 73 | return new String(charArray); 74 | } 75 | 76 | public static void main(String[] args) { 77 | String name = "雷锋0928"; 78 | System.out.println(maskDonorName(name)); 79 | name = "张张"; 80 | System.out.println(maskDonorName(name)); 81 | 82 | String idCard = "142729187789561426"; 83 | System.out.println(idCard); 84 | System.out.println(maskFromStart(idCard, idCard.length() - 4)); 85 | 86 | String phone = "15902182446"; 87 | System.out.println(phone); 88 | System.out.println(maskFromTo(phone, 3, 6)); 89 | } 90 | 91 | } 92 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/utils/SignUtils.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.common.utils; 5 | 6 | import com.baidu.mapp.bcd.common.utils.digest.Digest; 7 | 8 | public class SignUtils { 9 | 10 | public static String sign(Object ...field) { 11 | if (field == null || field.length <= 0) { 12 | throw new IllegalArgumentException("sign fail. param field is empty."); 13 | } 14 | 15 | StringBuilder sb = new StringBuilder(); 16 | for (Object f : field) { 17 | sb.append(f == null ? "null" : f.toString()).append(":"); 18 | } 19 | return Digest.genMD5(sb.toString()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/utils/digest/AESUtil.java: -------------------------------------------------------------------------------- 1 | 2 | package com.baidu.mapp.bcd.common.utils.digest; 3 | 4 | import java.security.Provider; 5 | import java.security.Security; 6 | 7 | import javax.crypto.Cipher; 8 | import javax.crypto.spec.IvParameterSpec; 9 | import javax.crypto.spec.SecretKeySpec; 10 | 11 | import org.apache.commons.codec.binary.Base64; 12 | import org.apache.commons.lang3.RandomStringUtils; 13 | 14 | public class AESUtil { 15 | 16 | /** 17 | * 密钥算法 18 | */ 19 | private static final String KEY_ALGORITHM = "AES"; 20 | 21 | /** 22 | * 加密/解密算法 / 工作模式 / 填充方式 23 | * Java 6支持PKCS5Padding填充方式 24 | * Bouncy Castle支持PKCS7Padding填充方式 25 | */ 26 | private static final String CIPHER_ALGORITHM = "AES/CBC/PKCS7Padding"; 27 | 28 | /** 29 | * 偏移量,只有CBC模式才需要 30 | */ 31 | private final static String ivParameter = "0000000000000000"; 32 | 33 | /** 34 | * AES要求密钥长度为128位或192位或256位,java默认限制AES密钥长度最多128位 35 | */ 36 | public static String key="eLeJynWJ9WEOT5YCP3uFM3MASKYmgogN" ; 37 | 38 | /** 39 | * 编码格式 40 | */ 41 | public static final String ENCODING = "utf-8"; 42 | 43 | 44 | static { 45 | //如果是PKCS7Padding填充方式,则必须加上下面这行 46 | Security.addProvider(getProvider()); 47 | } 48 | private static Provider provider; 49 | public static Provider getProvider() { 50 | if (provider == null) { 51 | try{ 52 | Class pclass = Class.forName("org.bouncycastle.jce.provider.BouncyCastleProvider"); 53 | Object o = pclass.newInstance(); 54 | provider = (Provider) o; 55 | }catch(Exception ex){ 56 | ex.printStackTrace(); 57 | } 58 | } 59 | return provider; 60 | } 61 | /** 62 | * AES加密 63 | * @param source 源字符串 64 | * @return 加密后的密文 65 | * @throws Exception 66 | */ 67 | public static String encrypt(String source) throws Exception { 68 | byte[] sourceBytes = source.getBytes(ENCODING); 69 | byte[] keyBytes = key.getBytes(ENCODING); 70 | Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM, "BC"); 71 | IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes(ENCODING)); 72 | cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(keyBytes, KEY_ALGORITHM),iv); 73 | byte[] decrypted = cipher.doFinal(sourceBytes); 74 | return Base64.encodeBase64String(decrypted); 75 | } 76 | 77 | /** 78 | * AES解密 79 | * @param encryptStr 加密后的密文 80 | * @return 源字符串 81 | * @throws Exception 82 | */ 83 | public static String decrypt(String encryptStr) throws Exception { 84 | byte[] sourceBytes = Base64.decodeBase64(encryptStr); 85 | byte[] keyBytes = key.getBytes(ENCODING); 86 | Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM, "BC"); 87 | IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes(ENCODING)); 88 | cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(keyBytes, KEY_ALGORITHM),iv); 89 | byte[] decoded = cipher.doFinal(sourceBytes); 90 | return new String(decoded, ENCODING); 91 | } 92 | 93 | 94 | public static void main(String[] args) throws Exception { 95 | String str = RandomStringUtils.randomAlphanumeric(32); 96 | System.out.println(str); 97 | 98 | String encrypt = encrypt("1234"); 99 | System.out.println(encrypt); 100 | 101 | String decode = decrypt(encrypt); 102 | 103 | System.out.println(decode); 104 | } 105 | 106 | } 107 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/utils/digest/DesEncrypter.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.common.utils.digest; 2 | 3 | import javax.crypto.Cipher; 4 | import javax.crypto.SecretKey; 5 | import javax.crypto.SecretKeyFactory; 6 | import javax.crypto.spec.DESKeySpec; 7 | 8 | import org.apache.commons.codec.binary.Base64; 9 | 10 | /** 11 | * DES对称加密工具类 12 | */ 13 | public class DesEncrypter { 14 | 15 | private String slat; 16 | 17 | DesEncrypter(String slat) { 18 | this.slat = slat; 19 | } 20 | 21 | /** 22 | * 对称加密 23 | * 24 | * @param source 25 | * @return 26 | */ 27 | public byte[] encrypt(byte[] source) throws Exception { 28 | Cipher cipher = Cipher.getInstance("DES"); 29 | cipher.init(Cipher.ENCRYPT_MODE, genSecretKey()); 30 | byte[] bytes = cipher.doFinal(source); 31 | return Base64.encodeBase64(bytes); 32 | } 33 | 34 | /** 35 | * 解密 36 | * 37 | * @param source 38 | * @return 39 | */ 40 | public byte[] decrypt(byte[] source) throws Exception { 41 | Cipher cipher = Cipher.getInstance("DES"); 42 | cipher.init(Cipher.DECRYPT_MODE, genSecretKey()); 43 | byte[] bytes = cipher.doFinal(Base64.decodeBase64(source)); 44 | return bytes; 45 | } 46 | 47 | /** 48 | * 通过盐生成SecretKey对象 49 | */ 50 | private SecretKey genSecretKey() throws Exception { 51 | DESKeySpec desKey = new DESKeySpec(slat.getBytes()); 52 | // 创建一个密匙工厂,然后用它把DESKeySpec转换成 53 | SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); 54 | SecretKey securekey = keyFactory.generateSecret(desKey); 55 | return securekey; 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/utils/digest/Digest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.common.utils.digest; 5 | 6 | import java.math.BigInteger; 7 | import java.security.MessageDigest; 8 | import java.util.Map; 9 | import java.util.concurrent.ConcurrentHashMap; 10 | 11 | public class Digest { 12 | 13 | private static Map slatMap = new ConcurrentHashMap<>(); 14 | 15 | private String slat; 16 | 17 | private DesEncrypter desEncrypter; 18 | 19 | private Digest(){} 20 | 21 | public static Digest getInstance(String slat) { 22 | Digest digest = slatMap.get(slat); 23 | if (digest == null) { 24 | digest = new Digest(); 25 | DesEncrypter desEncrypter = new DesEncrypter(slat); 26 | digest.desEncrypter = desEncrypter; 27 | slatMap.put(slat, digest); 28 | } 29 | return digest; 30 | } 31 | 32 | /** 33 | * 对字符串md5加密 34 | * @return 35 | */ 36 | public static String genMD5(String str) { 37 | try { 38 | // 生成一个MD5加密计算摘要 39 | MessageDigest md = MessageDigest.getInstance("MD5"); 40 | // 计算md5函数 41 | md.update(str.getBytes()); 42 | // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符 43 | // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 44 | return new BigInteger(1, md.digest()).toString(16); 45 | } catch (Exception e) { 46 | throw new RuntimeException("MD5加密出现错误", e); 47 | } 48 | } 49 | 50 | /** 51 | * 对字符流md5加密 52 | * @return 53 | */ 54 | public static String genMD5(byte[] source) { 55 | try { 56 | // 生成一个MD5加密计算摘要 57 | MessageDigest md = MessageDigest.getInstance("MD5"); 58 | // 计算md5函数 59 | md.update(source); 60 | // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符 61 | // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值 62 | return new BigInteger(1, md.digest()).toString(16); 63 | } catch (Exception e) { 64 | throw new RuntimeException("MD5加密出现错误", e); 65 | } 66 | } 67 | 68 | /** 69 | * DES加密 70 | */ 71 | public String encryptDes(String source) throws Exception { 72 | if (source == null) { 73 | return null; 74 | } 75 | // return AESUtil.encrypt(source); 76 | byte[] encrypt = desEncrypter.encrypt(source.getBytes()); 77 | return new String(encrypt); 78 | } 79 | 80 | /** 81 | * DES解密 82 | */ 83 | public String decryptDes(String source) throws Exception { 84 | if (source == null) { 85 | return null; 86 | } 87 | // return AESUtil.decrypt(source); 88 | byte[] encrypt = desEncrypter.decrypt(source.getBytes()); 89 | return new String(encrypt); 90 | } 91 | 92 | 93 | } 94 | -------------------------------------------------------------------------------- /bcd-common/src/main/java/com/baidu/mapp/bcd/common/utils/digest/UpdateMessageDigestInputStream.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.common.utils.digest; 5 | 6 | import java.io.IOException; 7 | import java.io.InputStream; 8 | import java.security.MessageDigest; 9 | 10 | /** 11 | * Extension of {@link java.io.InputStream} that allows for optimized 12 | * implementations of message digesting. 13 | * 14 | * @author Craig Andrews 15 | * @since 4.2 16 | */ 17 | abstract class UpdateMessageDigestInputStream extends InputStream { 18 | 19 | /** 20 | * Update the message digest with the rest of the bytes in this stream. 21 | *

Using this method is more optimized since it avoids creating new 22 | * byte arrays for each call. 23 | * @param messageDigest the message digest to update 24 | * @throws IOException when propagated from {@link #read()} 25 | */ 26 | public void updateMessageDigest(MessageDigest messageDigest) throws IOException { 27 | int data; 28 | while ((data = read()) != -1) { 29 | messageDigest.update((byte) data); 30 | } 31 | } 32 | 33 | /** 34 | * Update the message digest with the next len bytes in this stream. 35 | *

Using this method is more optimized since it avoids creating new 36 | * byte arrays for each call. 37 | * @param messageDigest the message digest to update 38 | * @param len how many bytes to read from this stream and use to update the message digest 39 | * @throws IOException when propagated from {@link #read()} 40 | */ 41 | public void updateMessageDigest(MessageDigest messageDigest, int len) throws IOException { 42 | int data; 43 | int bytesRead = 0; 44 | while (bytesRead < len && (data = read()) != -1) { 45 | messageDigest.update((byte) data); 46 | bytesRead++; 47 | } 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /bcd-core/dependency-reduced-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | bc-donate 5 | com.baidu.mapp.bcd 6 | 1.0.0-SNAPSHOT 7 | 8 | 4.0.0 9 | bcd-core 10 | 11 | 12 | mysql 13 | mysql-connector-java 14 | 5.1.49 15 | provided 16 | 17 | 18 | org.mybatis.spring.boot 19 | mybatis-spring-boot-starter 20 | 2.1.3 21 | provided 22 | 23 | 24 | io.swagger.core.v3 25 | swagger-annotations 26 | 2.1.3 27 | provided 28 | 29 | 30 | com.baidu.mapp.bcd 31 | bcd-common 32 | 1.0.0-SNAPSHOT 33 | provided 34 | 35 | 36 | org.projectlombok 37 | lombok 38 | 1.18.12 39 | provided 40 | 41 | 42 | org.apache.commons 43 | commons-lang3 44 | 3.10 45 | provided 46 | 47 | 48 | com.google.guava 49 | guava 50 | 29.0-jre 51 | provided 52 | 53 | 54 | com.google.code.gson 55 | gson 56 | 2.8.6 57 | provided 58 | 59 | 60 | org.slf4j 61 | slf4j-api 62 | 1.7.30 63 | provided 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /bcd-core/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | ty-donation 10 | com.baidu.mapp.bcd 11 | 1.0.0-SNAPSHOT 12 | 13 | 4.0.0 14 | 15 | bcd-core 16 | 17 | 18 | 19 | mysql 20 | mysql-connector-java 21 | 22 | 23 | org.mybatis.spring.boot 24 | mybatis-spring-boot-starter 25 | 26 | 27 | io.swagger.core.v3 28 | swagger-annotations 29 | 30 | 31 | com.baidu.mapp.bcd 32 | bcd-common 33 | 34 | 35 | org.springframework 36 | spring-webmvc 37 | true 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/config/DigestConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.config; 5 | 6 | import org.springframework.beans.factory.annotation.Value; 7 | import org.springframework.context.annotation.Bean; 8 | import org.springframework.context.annotation.Configuration; 9 | 10 | import com.baidu.mapp.bcd.common.utils.digest.Digest; 11 | 12 | @Configuration 13 | public class DigestConfig { 14 | 15 | @Value("${bcd.slat:donate0192837465}") 16 | private String slat; 17 | 18 | @Bean 19 | public Digest digest() { 20 | return Digest.getInstance(slat); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/config/GsonHttpMessageConverterMvcConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.config; 5 | 6 | import java.util.Arrays; 7 | import java.util.Iterator; 8 | import java.util.List; 9 | 10 | import org.springframework.context.annotation.Configuration; 11 | import org.springframework.http.MediaType; 12 | import org.springframework.http.converter.HttpMessageConverter; 13 | import org.springframework.http.converter.cbor.MappingJackson2CborHttpMessageConverter; 14 | import org.springframework.http.converter.json.GsonHttpMessageConverter; 15 | import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; 16 | import org.springframework.http.converter.smile.MappingJackson2SmileHttpMessageConverter; 17 | import org.springframework.util.CollectionUtils; 18 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 19 | 20 | import com.baidu.mapp.bcd.common.gson.GsonFactory; 21 | import com.google.gson.Gson; 22 | 23 | @Configuration 24 | // 不能与swagger ui共存 25 | // springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation转换有问题 26 | public class GsonHttpMessageConverterMvcConfig implements WebMvcConfigurer { 27 | public void configureMessageConverters(List> converters) { 28 | if (!CollectionUtils.isEmpty(converters)) { 29 | Gson gson = GsonFactory.createGson(); 30 | GsonHttpMessageConverter gsonHttpMessageConverter = new GsonHttpMessageConverter(gson); 31 | gsonHttpMessageConverter 32 | .setSupportedMediaTypes(Arrays.asList( 33 | MediaType.APPLICATION_JSON_UTF8, 34 | MediaType.TEXT_HTML, 35 | // https://blog.csdn.net/ccor2002/article/details/104697202/ 36 | MediaType.valueOf("application/vnd.spring-boot.actuator.v3+json"), 37 | MediaType.valueOf("application/vnd.spring-boot.actuator.v2+json"), 38 | MediaType.valueOf("application/vnd.spring-boot.actuator.v1+json") 39 | 40 | )); 41 | converters.add(gsonHttpMessageConverter); 42 | 43 | Iterator> iterator = converters.iterator(); 44 | while (iterator.hasNext()) { 45 | HttpMessageConverter next = iterator.next(); 46 | if (next instanceof MappingJackson2HttpMessageConverter) { 47 | iterator.remove(); 48 | } else if (next instanceof MappingJackson2SmileHttpMessageConverter) { 49 | iterator.remove(); 50 | } else if (next instanceof MappingJackson2CborHttpMessageConverter) { 51 | iterator.remove(); 52 | } 53 | } 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/config/RestTemplateConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.config; 5 | 6 | import java.nio.charset.Charset; 7 | import java.util.List; 8 | 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.beans.factory.annotation.Qualifier; 11 | import org.springframework.beans.factory.annotation.Value; 12 | import org.springframework.context.annotation.Bean; 13 | import org.springframework.context.annotation.Configuration; 14 | import org.springframework.http.client.SimpleClientHttpRequestFactory; 15 | import org.springframework.http.converter.HttpMessageConverter; 16 | import org.springframework.http.converter.StringHttpMessageConverter; 17 | import org.springframework.web.client.RestTemplate; 18 | 19 | @Configuration 20 | public class RestTemplateConfig { 21 | 22 | @Value("${bcd.rest-template.connect-timeout: 5000}") 23 | private int connectTimeout = 5000; 24 | 25 | @Value("${bcd.rest-template.read-timeout: 15000}") 26 | private int readTimeout = 15000; 27 | 28 | @Bean("restSimpleClientHttpRequestFactory") 29 | public SimpleClientHttpRequestFactory simpleClientHttpRequestFactory() { 30 | SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory(); 31 | requestFactory.setConnectTimeout(connectTimeout); 32 | requestFactory.setReadTimeout(readTimeout); 33 | return requestFactory; 34 | } 35 | 36 | @Bean("restTemplate") 37 | public RestTemplate fetchRestTemplate(@Autowired @Qualifier("restSimpleClientHttpRequestFactory") 38 | SimpleClientHttpRequestFactory restSimpleClientHttpRequestFactory) { 39 | 40 | RestTemplate template = new RestTemplate(restSimpleClientHttpRequestFactory); 41 | 42 | List> messageConverters = template.getMessageConverters(); 43 | for (HttpMessageConverter messageConverter : messageConverters) { 44 | if (messageConverter instanceof StringHttpMessageConverter) { 45 | ((StringHttpMessageConverter) messageConverter).setDefaultCharset(Charset.forName("utf-8")); 46 | } 47 | } 48 | 49 | return template; 50 | } 51 | } 52 | 53 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/ActivityMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.Activity; 5 | import com.baidu.mapp.bcd.domain.ActivityExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface ActivityMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/ActivityPlanConfigMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.ActivityPlanConfig; 5 | import com.baidu.mapp.bcd.domain.ActivityPlanConfigExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface ActivityPlanConfigMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/ActivityPlanMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.ActivityPlan; 5 | import com.baidu.mapp.bcd.domain.ActivityPlanExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface ActivityPlanMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/AdminMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.Admin; 5 | import com.baidu.mapp.bcd.domain.AdminExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface AdminMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/AllocationMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.Allocation; 5 | import com.baidu.mapp.bcd.domain.AllocationExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface AllocationMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/AssignMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.Assign; 5 | import com.baidu.mapp.bcd.domain.AssignExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface AssignMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/CertificateHashMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.CertificateHash; 5 | import com.baidu.mapp.bcd.domain.CertificateHashExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface CertificateHashMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/CertificateMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.Certificate; 5 | import com.baidu.mapp.bcd.domain.CertificateExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface CertificateMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/DonateDetailMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.DonateDetail; 5 | import com.baidu.mapp.bcd.domain.DonateDetailExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface DonateDetailMapper extends BaseMapper { 10 | 11 | Long sumMoneyBalanceByExample(DonateDetailExample example); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/DonateFlowMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.DonateFlow; 5 | import com.baidu.mapp.bcd.domain.DonateFlowExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface DonateFlowMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/DonatoryMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.Donatory; 5 | import com.baidu.mapp.bcd.domain.DonatoryExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface DonatoryMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/DonorMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.Donor; 5 | import com.baidu.mapp.bcd.domain.DonorExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface DonorMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/DrawDonateDetailRelMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.DrawDonateDetailRel; 5 | import com.baidu.mapp.bcd.domain.DrawDonateDetailRelExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface DrawDonateDetailRelMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/DrawRecordDetailMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.DrawRecordDetail; 5 | import com.baidu.mapp.bcd.domain.DrawRecordDetailExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface DrawRecordDetailMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/DrawRecordFlowMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.DrawRecordFlow; 5 | import com.baidu.mapp.bcd.domain.DrawRecordFlowExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface DrawRecordFlowMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/DrawRecordMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.DrawRecord; 5 | import com.baidu.mapp.bcd.domain.DrawRecordExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface DrawRecordMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/PlanAllocationRelMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao; 2 | 3 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 4 | import com.baidu.mapp.bcd.domain.PlanAllocationRel; 5 | import com.baidu.mapp.bcd.domain.PlanAllocationRelExample; 6 | import org.apache.ibatis.annotations.Mapper; 7 | 8 | @Mapper 9 | public interface PlanAllocationRelMapper extends BaseMapper { 10 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/base/BaseMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.base; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.ibatis.annotations.Flush; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | public interface BaseMapper { 9 | long countByExample(EXAMPLE example); 10 | 11 | int deleteByExample(EXAMPLE example); 12 | 13 | int deleteByPrimaryKey(ID id); 14 | 15 | int insert(ENTRY entity); 16 | 17 | int insertSelective(ENTRY entity); 18 | 19 | List selectByExample(EXAMPLE example); 20 | 21 | ENTRY selectByPrimaryKey(ID id); 22 | 23 | int updateByExampleSelective(@Param("record") ENTRY record, @Param("example") EXAMPLE example); 24 | 25 | int updateByExample(@Param("record") ENTRY record, @Param("example") EXAMPLE example); 26 | 27 | int updateByPrimaryKeySelective(ENTRY entity); 28 | 29 | int updateByPrimaryKey(ENTRY entity); 30 | 31 | @Flush 32 | List flush(); 33 | } 34 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/base/BaseSQL.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.base; 2 | 3 | import java.io.Serializable; 4 | import java.util.Objects; 5 | 6 | import org.apache.ibatis.jdbc.AbstractSQL; 7 | import org.springframework.util.Assert; 8 | import org.springframework.util.StringUtils; 9 | 10 | public class BaseSQL extends AbstractSQL implements Serializable { 11 | 12 | private static final String PARAM_HEADER = "param."; 13 | 14 | public static BaseSQL newInstance() { 15 | return new BaseSQL(); 16 | } 17 | 18 | @Override 19 | public BaseSQL getSelf() { 20 | return this; 21 | } 22 | 23 | /** 24 | * 25 | * @param columnOperatorParamkey 格式为字符串column operator paramKey组合 26 | * @return 27 | * 28 | */ 29 | public BaseSQL whereParamKey(String columnOperatorParamkey) { 30 | String[] paramKeys = columnOperatorParamkey.split("\\s+"); 31 | Assert.isTrue(Objects.isNull(paramKeys) || paramKeys.length != 3, 32 | "condition 不合法,正确格式为 'column operatorType paramKey'"); 33 | return whereParamKey(paramKeys[0], paramKeys[1], paramKeys[2]); 34 | } 35 | 36 | /** 37 | * 38 | * @param column : 字段名 39 | * @param operateType : 操作符,默认为= 40 | * @param paramKey : 参数可以 41 | * @return 42 | * 43 | */ 44 | public BaseSQL whereParamKey(String column, String operateType, String paramKey) { 45 | if (!StringUtils.hasText(operateType)){ 46 | operateType = "="; 47 | } 48 | String conditions = column 49 | .concat(" ") 50 | .concat(operateType) 51 | .concat(" #{") 52 | .concat(PARAM_HEADER) 53 | .concat(paramKey) 54 | .concat("}"); 55 | return WHERE(conditions); 56 | } 57 | 58 | /** 59 | * 60 | * @param paramKeys : 参数个数是3的N倍,N为条件组数,一组条件分别由,column, operateType(默认为=), paramKey 组成 61 | * 例如:id,=,id,name,like,name, 62 | * @return 63 | * 64 | */ 65 | public BaseSQL whereParamKeys(String ...paramKeys) { 66 | Assert.isTrue(Objects.isNull(paramKeys) || paramKeys.length == 0 || paramKeys.length % 3 != 0, 67 | "参数不能为空,且是成3出现的"); 68 | StringBuilder sb = new StringBuilder(); 69 | for (int i = 0 ; i < paramKeys.length / 3; i++ ){ 70 | String column = paramKeys[i*3]; 71 | String operateType = paramKeys[i*3 + 1]; 72 | if (!StringUtils.hasText(operateType)){ 73 | operateType = "="; 74 | } 75 | String paramKey = paramKeys[i*3 + 2]; 76 | sb.append(column).append(" ").append(operateType).append(" #{").append(PARAM_HEADER).append(paramKey).append("}"); 77 | } 78 | return WHERE(sb.toString()); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/base/CommonMapper.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.base; 2 | 3 | import java.util.Date; 4 | import java.util.List; 5 | import java.util.Map; 6 | 7 | import org.apache.ibatis.annotations.Mapper; 8 | import org.apache.ibatis.annotations.Param; 9 | import org.apache.ibatis.annotations.SelectProvider; 10 | 11 | @Mapper 12 | public interface CommonMapper { 13 | /** 14 | * 15 | * @param baseSql -> BaseSQL 16 | * @param sqlParam -> SQLParam 17 | * @return 18 | */ 19 | @SelectProvider(type = CommonProvider.class, method = "select") 20 | List> selectListMap(@Param("sql") Object baseSql, @Param("param") Object sqlParam); 21 | 22 | /** 23 | * 24 | * @param baseSql -> BaseSQL 25 | * @param sqlParam -> SQLParam 26 | * @return 27 | */ 28 | @SelectProvider(type = CommonProvider.class, method = "select") 29 | Map selectOneMap(@Param("sql") Object baseSql, @Param("param") Object sqlParam); 30 | 31 | /** 32 | * 33 | * @param baseSql -> BaseSQL 34 | * @param sqlParam -> SQLParam 35 | * @return 36 | */ 37 | @SelectProvider(type = CommonProvider.class, method = "select") 38 | String selectOneString(@Param("sql") Object baseSql, @Param("param") Object sqlParam); 39 | 40 | /** 41 | * 42 | * @param baseSql -> BaseSQL 43 | * @param sqlParam -> SQLParam 44 | * @return 45 | */ 46 | @SelectProvider(type = CommonProvider.class, method = "select") 47 | Long selectOneLong(@Param("sql") Object baseSql, @Param("param") Object sqlParam); 48 | 49 | /** 50 | * 51 | * @param baseSql -> BaseSQL 52 | * @param sqlParam -> SQLParam 53 | * @return 54 | */ 55 | @SelectProvider(type = CommonProvider.class, method = "select") 56 | Integer selectOneInteger(@Param("sql") Object baseSql, @Param("param") Object sqlParam); 57 | 58 | /** 59 | * 60 | * @param baseSql -> BaseSQL 61 | * @param sqlParam -> SQLParam 62 | * @return 63 | */ 64 | @SelectProvider(type = CommonProvider.class, method = "select") 65 | Byte selectOneByte(@Param("sql") Object baseSql, @Param("param") Object sqlParam); 66 | 67 | /** 68 | * 69 | * @param baseSql -> BaseSQL 70 | * @param sqlParam -> SQLParam 71 | * @return 72 | */ 73 | @SelectProvider(type = CommonProvider.class, method = "select") 74 | Date selectOneDate(@Param("sql") Object baseSql, @Param("param") Object sqlParam); 75 | } 76 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/base/CommonProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.base; 2 | 3 | import java.util.Map; 4 | 5 | import org.springframework.util.Assert; 6 | 7 | public class CommonProvider { 8 | 9 | 10 | public String select(Map map) { 11 | Assert.notNull(map, "CommonProvider.select param error, map is null"); 12 | Assert.notNull(map.get("sql"), "CommonProvider.select param error, map is not containsKey 'sql'"); 13 | Object sql = map.get("sql"); 14 | return sql.toString(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/base/SQLParam.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.base; 2 | 3 | import java.util.HashMap; 4 | 5 | public class SQLParam extends HashMap { 6 | 7 | 8 | public static SQLParam newInstance() { 9 | return new SQLParam(); 10 | } 11 | 12 | public SQLParam append(String key, Object value) { 13 | put(key, value); 14 | return this; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/ActivityPlanConfigProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class ActivityPlanConfigProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/ActivityPlanProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class ActivityPlanProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/ActivityProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class ActivityProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/AdminProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class AdminProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/AllocationProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class AllocationProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/AssignProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class AssignProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/CertificateHashProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class CertificateHashProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/CertificateProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class CertificateProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/DonateDetailProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class DonateDetailProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/DonateFlowProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class DonateFlowProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/DonatoryProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class DonatoryProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/DonorProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class DonorProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/DrawDonateDetailRelProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class DrawDonateDetailRelProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/DrawRecordDetailProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class DrawRecordDetailProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/DrawRecordFlowProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class DrawRecordFlowProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/DrawRecordProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class DrawRecordProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dao/provider/PlanAllocationRelProvider.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dao.provider; 2 | 3 | public class PlanAllocationRelProvider { 4 | 5 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/CertificateHash.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.domain; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import java.io.Serializable; 5 | 6 | @Schema(name = "CertificateHash", description = "多链映射记录") 7 | public class CertificateHash implements Serializable { 8 | 9 | /** 10 | * column-name:id 11 | * 存证ID 12 | */ 13 | @Schema(description = "存证ID") 14 | private Long id; 15 | 16 | /** 17 | * column-name:cert_code 18 | * 证书编码 19 | */ 20 | @Schema(description = "证书编码") 21 | private String certCode; 22 | 23 | /** 24 | * column-name:uuid 25 | * 多链ID身份 26 | */ 27 | @Schema(description = "多链ID身份") 28 | private String uuid; 29 | 30 | /** 31 | * 多链映射记录 32 | */ 33 | public CertificateHash() { 34 | 35 | } 36 | 37 | /** 38 | * 多链映射记录 39 | */ 40 | private CertificateHash(XBuilder builder) { 41 | this.id = builder.id; 42 | this.certCode = builder.certCode; 43 | this.uuid = builder.uuid; 44 | } 45 | 46 | public static XBuilder newBuilder() { 47 | return new XBuilder(); 48 | } 49 | 50 | /** 51 | * 存证ID 52 | */ 53 | public Long getId() { 54 | return id; 55 | } 56 | 57 | /** 58 | * 存证ID 59 | */ 60 | public void setId(Long id) { 61 | this.id = id; 62 | } 63 | 64 | /** 65 | * 证书编码 66 | */ 67 | public String getCertCode() { 68 | return certCode; 69 | } 70 | 71 | /** 72 | * 证书编码 73 | */ 74 | public void setCertCode(String certCode) { 75 | this.certCode = certCode == null ? null : certCode.trim(); 76 | } 77 | 78 | /** 79 | * 多链ID身份 80 | */ 81 | public String getUuid() { 82 | return uuid; 83 | } 84 | 85 | /** 86 | * 多链ID身份 87 | */ 88 | public void setUuid(String uuid) { 89 | this.uuid = uuid == null ? null : uuid.trim(); 90 | } 91 | 92 | public CertificateHash copyFrom(CertificateHash other) { 93 | this.id = other.id; 94 | this.certCode = other.certCode; 95 | this.uuid = other.uuid; 96 | return this; 97 | } 98 | 99 | public static T copyFrom(CertificateHash from, T to) { 100 | if (to == null){ 101 | throw new RuntimeException("`to` must not be null"); 102 | } 103 | to.setId(from.id); 104 | to.setCertCode(from.certCode); 105 | to.setUuid(from.uuid); 106 | return to; 107 | } 108 | 109 | public static String toEmptyJsonString() { 110 | /* 111 | { 112 | id: '', 113 | certCode: '', 114 | uuid: '' 115 | } 116 | */ 117 | 118 | return "{\"id\": \"\",\"certCode\": \"\",\"uuid\": \"\"}" ; 119 | } 120 | 121 | @Override 122 | public String toString() { 123 | StringBuilder sb = new StringBuilder(); 124 | sb.append(getClass().getSimpleName()); 125 | sb.append(" ["); 126 | sb.append("Hash = ").append(hashCode()); 127 | sb.append(", id=").append(id); 128 | sb.append(", certCode=").append(certCode); 129 | sb.append(", uuid=").append(uuid); 130 | sb.append("]"); 131 | return sb.toString(); 132 | } 133 | 134 | public static final class XBuilder { 135 | 136 | /** 137 | * 存证ID 138 | */ 139 | private Long id; 140 | 141 | /** 142 | * 证书编码 143 | */ 144 | private String certCode; 145 | 146 | /** 147 | * 多链ID身份 148 | */ 149 | private String uuid; 150 | 151 | private XBuilder() { 152 | 153 | } 154 | 155 | /** 156 | * 存证ID 157 | */ 158 | public XBuilder id(Long id) { 159 | this.id = id; 160 | return this; 161 | } 162 | 163 | /** 164 | * 证书编码 165 | */ 166 | public XBuilder certCode(String certCode) { 167 | this.certCode = certCode; 168 | return this; 169 | } 170 | 171 | /** 172 | * 多链ID身份 173 | */ 174 | public XBuilder uuid(String uuid) { 175 | this.uuid = uuid; 176 | return this; 177 | } 178 | 179 | public CertificateHash build() { 180 | return new CertificateHash(this); 181 | } 182 | } 183 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/base/BaseExample.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.domain.base; 5 | 6 | import java.util.HashSet; 7 | import java.util.Set; 8 | 9 | public abstract class BaseExample { 10 | 11 | /** 12 | * 分页偏移量 13 | */ 14 | protected Integer start; 15 | 16 | /** 17 | * 每页显示条数 18 | */ 19 | protected Integer limit; 20 | 21 | /** 22 | * 排序 23 | */ 24 | protected String orderByClause; 25 | 26 | /** 27 | * 是否去重 28 | */ 29 | protected boolean distinct; 30 | 31 | /** 32 | * 返回列 33 | */ 34 | protected Set columns; 35 | 36 | /** 37 | * 分页偏移量 38 | */ 39 | public Integer getStart() { 40 | return this.start; 41 | } 42 | 43 | /** 44 | * 分页偏移量 45 | */ 46 | public void setStart(Integer start) { 47 | this.start = start; 48 | } 49 | 50 | /** 51 | * 每页显示条数 52 | */ 53 | public Integer getLimit() { 54 | return this.limit; 55 | } 56 | 57 | /** 58 | * 每页显示条数 59 | */ 60 | public void setLimit(Integer limit) { 61 | this.limit = limit; 62 | } 63 | 64 | /** 65 | * 排序 66 | */ 67 | public String getOrderByClause() { 68 | return this.orderByClause; 69 | } 70 | 71 | /** 72 | * 排序 73 | */ 74 | public void setOrderByClause(String orderByClause) { 75 | this.orderByClause = orderByClause; 76 | } 77 | 78 | /** 79 | * 是否去重 80 | */ 81 | public boolean isDistinct() { 82 | return this.distinct; 83 | } 84 | 85 | /** 86 | * 是否去重 87 | */ 88 | public void setDistinct(boolean distinct) { 89 | this.distinct = distinct; 90 | } 91 | 92 | /** 93 | * 返回列 94 | */ 95 | public Set getColumns() { 96 | return this.columns; 97 | } 98 | 99 | /** 100 | * 返回列 101 | */ 102 | public void setColumns(Set columns) { 103 | this.columns = columns; 104 | } 105 | 106 | public void addColumns(String ... columns) { 107 | if (this.columns == null) { 108 | this.columns = new HashSet<>(); 109 | } 110 | if (columns!=null && columns.length>0) { 111 | for (String column : columns) { 112 | this.columns.add(column); 113 | } 114 | } 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/base/BaseExampleBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.domain.base; 5 | 6 | import java.util.HashSet; 7 | import java.util.Set; 8 | 9 | public abstract class BaseExampleBuilder { 10 | 11 | /** 12 | * 分页偏移量 13 | */ 14 | protected Integer start; 15 | 16 | /** 17 | * 每页显示条数 18 | */ 19 | protected Integer limit; 20 | 21 | /** 22 | * 排序 23 | */ 24 | protected String orderByClause; 25 | 26 | /** 27 | * 是否去重 28 | */ 29 | protected boolean distinct; 30 | 31 | /** 32 | * 返回列 33 | */ 34 | protected Set columns; 35 | 36 | /** 37 | * 分页偏移量 38 | */ 39 | public Integer getStart() { 40 | return this.start; 41 | } 42 | 43 | /** 44 | * 每页显示条数 45 | */ 46 | public Integer getLimit() { 47 | return this.limit; 48 | } 49 | 50 | /** 51 | * 排序 52 | */ 53 | public String getOrderByClause() { 54 | return this.orderByClause; 55 | } 56 | 57 | /** 58 | * 是否去重 59 | */ 60 | public boolean isDistinct() { 61 | return this.distinct; 62 | } 63 | 64 | /** 65 | * 返回列 66 | */ 67 | public Set getColumns() { 68 | return this.columns; 69 | } 70 | 71 | public BUILDER thisT() { 72 | return (BUILDER) this; 73 | } 74 | 75 | public BUILDER start(Integer start) { 76 | this.start = start; 77 | return thisT(); 78 | } 79 | 80 | public BUILDER limit(Integer limit) { 81 | this.limit = limit; 82 | return thisT(); 83 | } 84 | 85 | public BUILDER orderByClause(String orderByClause) { 86 | return orderByClause(orderByClause, Boolean.TRUE); 87 | } 88 | 89 | public BUILDER orderByClause(String orderByClause, Boolean condition) { 90 | if (condition != null && condition) { 91 | this.orderByClause = orderByClause; 92 | } 93 | return thisT(); 94 | } 95 | 96 | public BUILDER distinct(boolean distinct) { 97 | this.distinct = distinct; 98 | return thisT(); 99 | } 100 | 101 | public BUILDER columns(Set columns) { 102 | this.columns = columns; 103 | return thisT(); 104 | } 105 | 106 | public BUILDER addColumns(String ... columns) { 107 | if (this.columns == null) { 108 | this.columns = new HashSet<>(); 109 | } 110 | if (columns!=null && columns.length>0) { 111 | for (String column : columns) { 112 | this.columns.add(column); 113 | } 114 | } 115 | return thisT(); 116 | } 117 | 118 | public abstract EXAMPLE build(); 119 | } 120 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/base/BaseQuery.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.domain.base; 2 | 3 | import java.io.Serializable; 4 | 5 | import io.swagger.v3.oas.annotations.media.Schema; 6 | 7 | @Schema(description = "基础查询对象", name = "BaseQuery") 8 | public class BaseQuery implements Serializable { 9 | 10 | /** 11 | * 偏移量 12 | */ 13 | @Schema(description = "偏移量") 14 | private Integer offset; 15 | 16 | /** 17 | * 每页显示条数 18 | */ 19 | @Schema(description = "每页显示条数") 20 | private Integer limit; 21 | 22 | /** 23 | * 当前页,从1开始 24 | */ 25 | @Schema(description = "当前页,从1开始") 26 | private Integer currentPage; 27 | 28 | /** 29 | * 30 | * 通过当前页计算偏移量, 31 | * @return 返回偏移量,原来的偏移量将被覆盖 32 | */ 33 | public Integer calculateOffsetFromCurrentPage() { 34 | offset = ( currentPage - 1 ) * limit; 35 | return offset; 36 | } 37 | 38 | /** 39 | * 40 | * 通过偏移量计算当前页, 41 | * @return 返回当前页,原来的当前页将被覆盖 42 | */ 43 | public Integer calculateCurrentPageFromOffset() { 44 | currentPage = offset/limit + 1; 45 | return currentPage; 46 | } 47 | 48 | @Schema(description = "偏移量") 49 | public void setOffset(Integer offset) { 50 | this.offset = offset; 51 | } 52 | 53 | @Schema(description = "偏移量") 54 | public Integer getOffset() { 55 | return offset; 56 | } 57 | 58 | @Schema(description = "每页显示条数") 59 | public void setLimit(Integer limit) { 60 | this.limit = limit; 61 | } 62 | 63 | @Schema(description = "每页显示条数") 64 | public Integer getLimit() { 65 | return limit; 66 | } 67 | 68 | @Schema(description = "当前页,从1开始") 69 | public void setCurrentPage(Integer currentPage) { 70 | this.currentPage = currentPage; 71 | } 72 | 73 | @Schema(description = "当前页,从1开始") 74 | public Integer getCurrentPage() { 75 | return currentPage; 76 | } 77 | 78 | public String toString() { 79 | return "BaseQuery{" + 80 | "offset=" + offset + 81 | ", limit=" + limit + 82 | ", currentPage=" + currentPage + 83 | '}'; 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/base/Pagination.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.domain.base; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | import java.util.function.Consumer; 6 | 7 | import io.swagger.v3.oas.annotations.media.Schema; 8 | 9 | @Schema(description = "通用响应返回对象") 10 | public class Pagination implements Serializable { 11 | 12 | /** 13 | * 总记录数 14 | */ 15 | @Schema(description = "总记录数") 16 | private Long total; 17 | 18 | /** 19 | * 数据列表 20 | */ 21 | @Schema(description = "数据列表") 22 | private List dataList; 23 | 24 | private Object ext; 25 | 26 | public void setTotal(Long total) { 27 | this.total = total; 28 | } 29 | 30 | public Long getTotal() { 31 | return total; 32 | } 33 | 34 | public void setDataList(List dataList) { 35 | this.dataList = dataList; 36 | } 37 | 38 | public List getDataList() { 39 | return dataList; 40 | } 41 | 42 | public Object getExt() { 43 | return ext; 44 | } 45 | 46 | public void setExt(Object ext) { 47 | this.ext = ext; 48 | } 49 | 50 | public void each(Consumer consumer) { 51 | if (dataList != null && !dataList.isEmpty()) { 52 | for (T t : dataList) { 53 | consumer.accept(t); 54 | } 55 | } 56 | } 57 | 58 | public String toString() { 59 | return "Pagination{" + 60 | "total = " + total + 61 | ", dataList = " + dataList + 62 | '}'; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/base/R.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.domain.base; 2 | 3 | import java.io.Serializable; 4 | 5 | import io.swagger.v3.oas.annotations.media.Schema; 6 | 7 | @Schema(description = "通用响应返回对象") 8 | public class R implements Serializable { 9 | 10 | /** 11 | * 返回状态码 12 | */ 13 | @Schema(description = "返回状态码") 14 | private int status; 15 | 16 | /** 17 | * 返回信息 18 | */ 19 | @Schema(description = "返回信息") 20 | private String msg; 21 | 22 | /** 23 | * 返回结果数据 24 | */ 25 | @Schema(description = "结果数据" ) 26 | private T data; 27 | 28 | public static R error() { 29 | return error(500, "fail"); 30 | } 31 | 32 | public static R error(String msg) { 33 | return error(500, msg); 34 | } 35 | 36 | public static R error(Integer status, String msg) { 37 | R r = new R<>(); 38 | r.setStatus(status); 39 | r.setMsg(msg); 40 | return r; 41 | } 42 | 43 | public static R ok() { 44 | R r = new R<>(); 45 | r.setStatus(0); 46 | r.setMsg("success"); 47 | return r; 48 | } 49 | 50 | public static R ok(T data) { 51 | R r = new R<>(); 52 | r.setStatus(0); 53 | r.setMsg("success"); 54 | r.setData(data); 55 | return r; 56 | } 57 | 58 | @Schema(description = "返回状态码") 59 | public int getStatus() { 60 | return status; 61 | } 62 | 63 | @Schema(description = "返回状态码") 64 | public void setStatus(int status) { 65 | this.status = status; 66 | } 67 | 68 | @Schema(description = "返回信息") 69 | public String getMsg() { 70 | return msg; 71 | } 72 | 73 | @Schema(description = "返回信息") 74 | public void setMsg(String msg) { 75 | this.msg = msg; 76 | } 77 | 78 | @Schema(description = "结果数据" ) 79 | public T getData() { 80 | return data; 81 | } 82 | 83 | @Schema(description = "结果数据") 84 | public void setData(T data) { 85 | this.data = data; 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/dto/LoginUser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.domain.dto; 5 | 6 | import lombok.AllArgsConstructor; 7 | import lombok.Builder; 8 | import lombok.Data; 9 | import lombok.NoArgsConstructor; 10 | 11 | @Data 12 | @Builder 13 | @NoArgsConstructor 14 | @AllArgsConstructor 15 | public class LoginUser { 16 | private Long userId; 17 | private String token; 18 | private String name; 19 | private String userName; 20 | private UserType userType; 21 | } 22 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/dto/UserThreadLocal.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.domain.dto; 5 | 6 | public class UserThreadLocal { 7 | private static ThreadLocal donorThreadLocal = new ThreadLocal<>(); 8 | 9 | public static void addLoginUser(LoginUser user) { 10 | donorThreadLocal.set(user); 11 | } 12 | 13 | public static void removeLoginUser() { 14 | donorThreadLocal.remove(); 15 | } 16 | 17 | public static LoginUser getLoginUser() { 18 | return donorThreadLocal.get(); 19 | } 20 | 21 | } 22 | 23 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/dto/UserType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.domain.dto; 5 | 6 | import org.apache.commons.lang3.StringUtils; 7 | 8 | public enum UserType { 9 | ADMIN("admin"), 10 | DONOR("donor"), 11 | DONATORY("donatory"); 12 | 13 | private String name; 14 | UserType(String name) { 15 | this.name = name; 16 | } 17 | 18 | public String getName() { 19 | return name; 20 | } 21 | 22 | public static boolean isAdminToken(String token) { 23 | return StringUtils.startsWith(token, ADMIN.name.concat(":")); 24 | } 25 | 26 | public static boolean isDonatoryToken(String token) { 27 | return StringUtils.startsWith(token, DONATORY.name.concat(":")); 28 | } 29 | 30 | public static boolean isDonorToken(String token) { 31 | return StringUtils.startsWith(token, DONOR.name.concat(":")); 32 | } 33 | 34 | public boolean isAdmin() { 35 | return ADMIN.equals(this); 36 | } 37 | 38 | public boolean isDonatory() { 39 | return DONATORY.equals(this); 40 | } 41 | 42 | public boolean isDonor() { 43 | return DONOR.equals(this); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/dto/WasmContractDto.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.domain.dto; 5 | 6 | import io.swagger.v3.oas.annotations.media.Schema; 7 | import lombok.Data; 8 | @Schema(description = "合约调用参数") 9 | @Data 10 | public class WasmContractDto { 11 | 12 | public static String DONATE_SUBURI = "donate"; 13 | 14 | public static String QUERY_DONOR_BY_HASH_SUBURI = "queryDonorByHash"; 15 | 16 | public static String QUERY_DONOR_BY_USERID_SUBURI = "queryDonorByUserId"; 17 | 18 | public static String DONAR_ACCOUNT = "donar"; 19 | 20 | public static String DONATORY_ACCOUNT = "donatory"; 21 | 22 | public static String MANAGER_ACCOUNT = "manager"; 23 | 24 | public static String QUERY_ACCOUNT = "query"; 25 | 26 | private Long userId; 27 | 28 | private String identityId; 29 | 30 | private String sign; 31 | 32 | private String subUri; 33 | 34 | private String account; 35 | } 36 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/em/Deleted.java: -------------------------------------------------------------------------------- 1 | 2 | package com.baidu.mapp.bcd.domain.em; 3 | 4 | public enum Deleted { 5 | DELETED_NO((byte) 0, "正常"), 6 | DELETED_YES((byte) 1, "已删除"); 7 | 8 | private byte value; 9 | private String name; 10 | 11 | Deleted(byte value, String name) { 12 | this.value = value; 13 | this.name = name; 14 | } 15 | 16 | public byte getValue() { 17 | return value; 18 | } 19 | 20 | public void setValue(byte value) { 21 | this.value = value; 22 | } 23 | 24 | public String getName() { 25 | return name; 26 | } 27 | 28 | public void setName(String name) { 29 | this.name = name; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/em/Enabled.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.domain.em; 2 | 3 | public enum Enabled { 4 | disabled((byte) 0, "不可用"), 5 | enable((byte) 1, "可用"); 6 | 7 | private byte value; 8 | private String name; 9 | 10 | Enabled(byte value, String name) { 11 | this.value = value; 12 | this.name = name; 13 | } 14 | 15 | public byte getValue() { 16 | return value; 17 | } 18 | 19 | public void setValue(byte value) { 20 | this.value = value; 21 | } 22 | 23 | public String getName() { 24 | return name; 25 | } 26 | 27 | public void setName(String name) { 28 | this.name = name; 29 | } 30 | 31 | public static Enabled fromValue(Byte value) { 32 | if (value == null || value < (byte) 0 || value > (byte) 1) { 33 | throw new IllegalArgumentException("Enum Enabled value [1,2], but accept value = " + value); 34 | } 35 | if (value == 0) { 36 | return disabled; 37 | } else if (value == 1) { 38 | return enable; 39 | } 40 | return null; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/domain/meta/MetaCertificateHash.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.domain.meta; 2 | 3 | /* 4 | @Results({ 5 | @Result(property = "id", column = "id", javaType = java.lang.Long.class, jdbcType = JdbcType.BIGINT, id = true), 6 | @Result(property = "certCode", column = "cert_code", javaType = java.lang.String.class, jdbcType = JdbcType.VARCHAR), 7 | @Result(property = "uuid", column = "uuid", javaType = java.lang.String.class, jdbcType = JdbcType.VARCHAR) 8 | }) 9 | */ 10 | public final class MetaCertificateHash { 11 | 12 | /** 13 | * 多链映射记录 14 | */ 15 | public static final String TABLE_NAME = "`t_certificate_hash`"; 16 | 17 | /** 18 | * 存证ID 19 | */ 20 | public static final String ID = "id"; 21 | 22 | public static final String COLUMN_NAME_ID = "`id`"; 23 | 24 | public static final String JAVA_TYPE_ID = "java.lang.Long"; 25 | 26 | public static final String JDBC_TYPE_ID = "BIGINT"; 27 | 28 | public static final String IS_KEY_ID = "true"; 29 | 30 | /** 31 | * 证书编码 32 | */ 33 | public static final String CERTCODE = "certCode"; 34 | 35 | public static final String COLUMN_NAME_CERTCODE = "`cert_code`"; 36 | 37 | public static final String JAVA_TYPE_CERTCODE = "java.lang.String"; 38 | 39 | public static final String JDBC_TYPE_CERTCODE = "VARCHAR"; 40 | 41 | public static final String IS_KEY_CERTCODE = "false"; 42 | 43 | /** 44 | * 多链ID身份 45 | */ 46 | public static final String UUID = "uuid"; 47 | 48 | public static final String COLUMN_NAME_UUID = "`uuid`"; 49 | 50 | public static final String JAVA_TYPE_UUID = "java.lang.String"; 51 | 52 | public static final String JDBC_TYPE_UUID = "VARCHAR"; 53 | 54 | public static final String IS_KEY_UUID = "false"; 55 | 56 | /** 57 | * 根据数据库字段名返回JAVA对象字段名 58 | */ 59 | public static String getFieldNameByColumn(String columnName) { 60 | if (columnName == null) { 61 | return ""; 62 | } 63 | columnName = columnName.trim(); 64 | if (columnName.length() <= 0) { 65 | return ""; 66 | } 67 | if (!columnName.startsWith("`")) { 68 | columnName = "`" + columnName + "`"; 69 | } 70 | if (columnName.equals(COLUMN_NAME_ID)) { 71 | return ID; 72 | } 73 | if (columnName.equals(COLUMN_NAME_CERTCODE)) { 74 | return CERTCODE; 75 | } 76 | if (columnName.equals(COLUMN_NAME_UUID)) { 77 | return UUID; 78 | } 79 | return ""; 80 | } 81 | 82 | /** 83 | * 根据JavaPojo对象字段名返回安全的数据库字段名, eg:`id` 84 | */ 85 | public static String getSafeColumnNameByField(String fieldName) { 86 | if (fieldName == null) { 87 | return ""; 88 | } 89 | fieldName = fieldName.trim(); 90 | if (fieldName.length() <= 0) { 91 | return ""; 92 | } 93 | if (fieldName.equals(ID)) { 94 | return COLUMN_NAME_ID; 95 | } 96 | if (fieldName.equals(CERTCODE)) { 97 | return COLUMN_NAME_CERTCODE; 98 | } 99 | if (fieldName.equals(UUID)) { 100 | return COLUMN_NAME_UUID; 101 | } 102 | return ""; 103 | } 104 | 105 | /** 106 | * 根据JavaPojo对象字段名返回数据库字段名, eg:id 107 | */ 108 | public static String getColumnNameByField(String fieldName) { 109 | if (fieldName == null) { 110 | return ""; 111 | } 112 | fieldName = fieldName.trim(); 113 | if (fieldName.length() <= 0) { 114 | return ""; 115 | } 116 | if (fieldName.equals(ID)) { 117 | return COLUMN_NAME_ID.replace("`", ""); 118 | } 119 | if (fieldName.equals(CERTCODE)) { 120 | return COLUMN_NAME_CERTCODE.replace("`", ""); 121 | } 122 | if (fieldName.equals(UUID)) { 123 | return COLUMN_NAME_UUID.replace("`", ""); 124 | } 125 | return ""; 126 | } 127 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/ActivityDetailResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import java.util.Date; 4 | import java.util.List; 5 | 6 | import io.swagger.v3.oas.annotations.media.Schema; 7 | import lombok.Builder; 8 | import lombok.Data; 9 | 10 | @Data 11 | @Schema(description = "活动计划响应") 12 | @Builder 13 | public class ActivityDetailResp { 14 | 15 | @Schema(description = "活动ID") 16 | private Long id; 17 | 18 | @Schema(description = "活动主题") 19 | private String theme; 20 | 21 | @Schema(description = "活动描述") 22 | private String description; 23 | 24 | @Schema(description = "活动状态, 0-待实施, 1-实施中, 2-实施完成") 25 | private Byte status; 26 | 27 | @Schema(description = "活动开始时间") 28 | private Date startTime; 29 | 30 | @Schema(description = "活动结束时间") 31 | private Date endTime; 32 | 33 | @Schema(description = "活动计划详情列表") 34 | List plans; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/ActivityPlanConfigReq.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.dto; 5 | 6 | import io.swagger.v3.oas.annotations.media.Schema; 7 | import lombok.Data; 8 | 9 | @Data 10 | @Schema(description = "活动计划配置") 11 | public class ActivityPlanConfigReq { 12 | 13 | @Schema(description = "受赠人等级,1-绝对贫困人口(年人均纯收入低于627元), 2-相对贫困人口(年人均纯收入628—865元), 3-低收入人口(年人均纯收入866—1205元), 4-一般收入") 14 | private Byte donatoryLevel; 15 | 16 | @Schema(description = "同等级受捐人受捐数量") 17 | private Long quantity; 18 | 19 | @Schema(description = "份数") 20 | private Integer amount; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/ActivityPlanConfigResp.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.dto; 5 | 6 | import io.swagger.v3.oas.annotations.media.Schema; 7 | import lombok.Builder; 8 | import lombok.Data; 9 | 10 | @Data 11 | @Schema(description = "活动计划配置") 12 | @Builder 13 | public class ActivityPlanConfigResp { 14 | @Schema(description = "配置ID") 15 | private Long configId; 16 | 17 | @Schema(description = "受赠人等级,1-绝对贫困人口(年人均纯收入低于627元), 2-相对贫困人口(年人均纯收入628—865元), 3-低收入人口(年人均纯收入866—1205元), 4-一般收入") 18 | private Byte donatoryLevel; 19 | 20 | @Schema(description = "同等级受捐人受捐数量") 21 | private Long quantity; 22 | 23 | @Schema(description = "份数") 24 | private Integer amount; 25 | 26 | @Schema(description = "已指派人数") 27 | private Long mounted; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/ActivityPlanDetailResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import java.util.List; 4 | 5 | import io.swagger.v3.oas.annotations.media.Schema; 6 | import lombok.Builder; 7 | import lombok.Data; 8 | 9 | @Data 10 | @Schema(description = "活动计划详情响应") 11 | @Builder 12 | public class ActivityPlanDetailResp { 13 | 14 | /** 15 | * 活动计划ID 16 | */ 17 | @Schema(description = "活动计划ID") 18 | private Long id; 19 | 20 | /** 21 | * 活动ID 22 | */ 23 | @Schema(description = "活动ID") 24 | private Long activityId; 25 | 26 | /** 27 | * 计划描述 28 | */ 29 | @Schema(description = "计划描述") 30 | private String description; 31 | 32 | /** 33 | * 捐赠类别, 1-钱,2-物 34 | */ 35 | @Schema(description = "捐赠类别, 1-钱,2-物") 36 | private Byte type; 37 | 38 | /** 39 | * 单位 40 | */ 41 | @Schema(description = "单位") 42 | private String unit; 43 | 44 | /** 45 | * 数量 46 | */ 47 | @Schema(description = "数量") 48 | private Long quantity; 49 | 50 | /** 51 | * 物资名称 52 | */ 53 | @Schema(description = "物资名称") 54 | private String name; 55 | 56 | /** 57 | * 总价 58 | */ 59 | @Schema(description = "总价") 60 | private Long amount; 61 | 62 | /** 63 | * column-name:need_purchase 64 | * 是否需要采购 65 | */ 66 | @Schema(description = "是否需要采购") 67 | private Byte needPurchase; 68 | 69 | private List configs; 70 | 71 | } 72 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/ActivityPlanReq.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import java.util.List; 4 | 5 | import io.swagger.v3.oas.annotations.media.Schema; 6 | import lombok.Data; 7 | 8 | @Data 9 | @Schema(description = "活动计划") 10 | public class ActivityPlanReq { 11 | 12 | /** 13 | * 活动ID 14 | */ 15 | @Schema(description = "活动ID") 16 | private Long activityId; 17 | 18 | /** 19 | * 计划描述 20 | */ 21 | @Schema(description = "计划描述") 22 | private String description; 23 | 24 | /** 25 | * 捐赠类别, 1-钱,2-物 26 | */ 27 | @Schema(description = "捐赠类别, 1-钱,2-物") 28 | private Byte type; 29 | 30 | /** 31 | * 单位 32 | */ 33 | @Schema(description = "单位") 34 | private String unit; 35 | 36 | /** 37 | * 数量 38 | */ 39 | @Schema(description = "数量") 40 | private Long quantity; 41 | 42 | /** 43 | * 物资名称 44 | */ 45 | @Schema(description = "物资名称") 46 | private String name; 47 | 48 | /** 49 | * 总价 50 | */ 51 | @Schema(description = "总价") 52 | private Long amount; 53 | 54 | /** 55 | * 是否需要采购 56 | */ 57 | @Schema(description = "是否需要采购") 58 | private Byte needPurchase; 59 | 60 | @Schema(description = "计划配置") 61 | private List configs; 62 | 63 | } 64 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/ActivityPlanResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | @Data 8 | @Schema(description = "活动计划详情响应") 9 | @Builder 10 | public class ActivityPlanResp { 11 | 12 | /** 13 | * 活动计划ID 14 | */ 15 | @Schema(description = "活动计划ID") 16 | private Long id; 17 | 18 | /** 19 | * 活动ID 20 | */ 21 | @Schema(description = "活动ID") 22 | private Long activityId; 23 | 24 | /** 25 | * 计划描述 26 | */ 27 | @Schema(description = "计划描述") 28 | private String description; 29 | 30 | /** 31 | * 捐赠类别, 1-钱,2-物 32 | */ 33 | @Schema(description = "捐赠类别, 1-钱,2-物") 34 | private Byte type; 35 | 36 | /** 37 | * 单位 38 | */ 39 | @Schema(description = "单位") 40 | private String unit; 41 | 42 | /** 43 | * 数量 44 | */ 45 | @Schema(description = "数量") 46 | private Long quantity; 47 | 48 | /** 49 | * 物资名称 50 | */ 51 | @Schema(description = "物资名称") 52 | private String name; 53 | 54 | /** 55 | * 总价 56 | */ 57 | @Schema(description = "总价") 58 | private Long amount; 59 | 60 | /** 61 | * column-name:need_purchase 62 | * 是否需要采购 63 | */ 64 | @Schema(description = "是否需要采购") 65 | private Byte needPurchase; 66 | 67 | 68 | } 69 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/ActivityReq.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import java.util.Date; 7 | import java.util.List; 8 | 9 | @Data 10 | @Schema(description = "活动") 11 | public class ActivityReq { 12 | 13 | /** 14 | * 活动主题 15 | */ 16 | @Schema(description = "活动主题") 17 | private String theme; 18 | 19 | /** 20 | * 活动描述 21 | */ 22 | @Schema(description = "活动描述") 23 | private String description; 24 | 25 | /** 26 | * 活动开始时间 27 | */ 28 | @Schema(description = "活动开始时间") 29 | private Date startTime; 30 | 31 | /** 32 | * 活动结束时间 33 | */ 34 | @Schema(description = "活动结束时间") 35 | private Date endTime; 36 | 37 | /** 38 | * 活动计划详情 39 | */ 40 | @Schema(description = "活动计划详情") 41 | List activityPlanReqList; 42 | 43 | 44 | 45 | } 46 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/ActivityResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | import java.util.List; 9 | 10 | @Data 11 | @Schema(description = "活动计划响应") 12 | @Builder 13 | public class ActivityResp { 14 | 15 | /** 16 | * 活动ID 17 | */ 18 | @Schema(description = "活动ID") 19 | private Long id; 20 | 21 | /** 22 | * 活动主题 23 | */ 24 | @Schema(description = "活动主题") 25 | private String theme; 26 | 27 | /** 28 | * 活动描述 29 | */ 30 | @Schema(description = "活动描述") 31 | private String description; 32 | 33 | @Schema(description = "活动状态, 0-待拨款, 1-已拨款,2-已指派,3-领取中, 4-已结束") 34 | private Byte status; 35 | 36 | /** 37 | * 活动开始时间 38 | */ 39 | @Schema(description = "活动开始时间") 40 | private Date startTime; 41 | 42 | /** 43 | * 活动结束时间 44 | */ 45 | @Schema(description = "活动结束时间") 46 | private Date endTime; 47 | 48 | /** 49 | * 活动计划详情 50 | */ 51 | @Schema(description = "活动计划详情列表") 52 | List activityPlanRespList; 53 | 54 | } 55 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/AllDonationFlowResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | import java.util.List; 9 | 10 | @Data 11 | @Schema(description = "捐赠流水") 12 | @Builder 13 | public class AllDonationFlowResp { 14 | 15 | /** 16 | * 捐赠人名称 17 | */ 18 | @Schema(description = "捐赠人名称") 19 | private String donorName; 20 | 21 | /** 22 | * 捐赠人手机号 23 | */ 24 | @Schema(description = "捐赠人手机号") 25 | private String phone; 26 | 27 | /** 28 | * 捐赠人身份证号码 29 | */ 30 | @Schema(description = "捐赠人身份证号码") 31 | private String idCard; 32 | 33 | 34 | /** 35 | * 捐赠时间 36 | */ 37 | @Schema(description = "捐赠时间") 38 | private Date donateTime; 39 | 40 | /** 41 | * 证书ID 42 | */ 43 | @Schema(description = "证书ID") 44 | private String certCode; 45 | 46 | /** 47 | * 参与类型: 捐赠/受捐 48 | */ 49 | @Schema(description = "参与类型") 50 | private String participation; 51 | 52 | /** 53 | * 捐赠类别, 1-钱,2-物 54 | */ 55 | @Schema(description = "捐赠类别, 1-钱,2-物") 56 | private Byte type; 57 | 58 | /** 59 | * 单位 60 | */ 61 | @Schema(description = "单位") 62 | private String unit; 63 | 64 | /** 65 | * 数量 66 | */ 67 | @Schema(description = "数量") 68 | private Long quantity; 69 | 70 | /** 71 | * 物资名称 72 | */ 73 | @Schema(description = "物资名称") 74 | private String name; 75 | 76 | } 77 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/AssignConfigReq.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import java.util.List; 4 | 5 | import io.swagger.v3.oas.annotations.media.Schema; 6 | import lombok.Data; 7 | 8 | @Data 9 | @Schema(description = "指派") 10 | public class AssignConfigReq { 11 | 12 | private Long configId; 13 | 14 | private List donatoryIds; 15 | } 16 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/AssignConfigResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import java.util.List; 4 | 5 | import io.swagger.v3.oas.annotations.media.Schema; 6 | import lombok.Data; 7 | 8 | @Data 9 | @Schema(description = "指派") 10 | public class AssignConfigResp { 11 | 12 | private Long configId; 13 | 14 | private List donatoryIds; 15 | } 16 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/AssignPlanReq.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import java.util.List; 4 | 5 | import io.swagger.v3.oas.annotations.media.Schema; 6 | import lombok.Data; 7 | 8 | @Data 9 | @Schema(description = "指派") 10 | public class AssignPlanReq { 11 | 12 | private Long planId; 13 | 14 | private List configs; 15 | } 16 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/AssignReq.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import java.util.List; 4 | 5 | import io.swagger.v3.oas.annotations.media.Schema; 6 | import lombok.Data; 7 | 8 | @Data 9 | @Schema(description = "指派") 10 | public class AssignReq { 11 | 12 | private Long activityId; 13 | 14 | private List plans; 15 | } 16 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/CustomizedPair.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | /** 8 | * 键值对, 为了前端易展示, -> 9 | */ 10 | @Data 11 | @Schema(description = "键值对") 12 | @Builder 13 | public class CustomizedPair { 14 | 15 | @Schema(description = "label") 16 | private String label; 17 | 18 | @Schema(description = "value") 19 | private Long value; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DCActivityBriefResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | import java.util.List; 9 | 10 | /** 11 | * 捐赠链活动摘要 12 | */ 13 | @Data 14 | @Schema(description = "捐赠链活动摘要") 15 | @Builder 16 | public class DCActivityBriefResp { 17 | 18 | @Schema(description = "活动ID") 19 | private Long activityId; 20 | 21 | @Schema(description = "活动主题") 22 | private String theme; 23 | 24 | @Schema(description = "活动描述") 25 | private String description; 26 | 27 | @Schema(description = "活动状态, 0-待实施, 1-实施中, 2-实施完成") 28 | private Byte status; 29 | 30 | @Schema(description = "活动开始时间") 31 | private Date startTime; 32 | 33 | @Schema(description = "活动结束时间") 34 | private Date endTime; 35 | 36 | // @Schema(description = "活动计划详情列表") 37 | // List plans; 38 | 39 | /** 40 | * 从捐赠证书查询时使用 41 | */ 42 | @Schema(description = "受捐领取摘要") 43 | private List drawRecordFlatDetails; 44 | 45 | /** 46 | * 从受赠证书查询时使用 47 | */ 48 | @Schema(description = "捐赠明细") 49 | private List donateFlatDetails; 50 | 51 | } 52 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DCDrawDetailResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | /** 8 | * 受捐领取详情 9 | */ 10 | @Data 11 | @Schema(description = "受捐领取详情") 12 | @Builder 13 | public class DCDrawDetailResp { 14 | 15 | @Schema(description = "捐赠类别, 1-钱,2-物") 16 | private Byte type; 17 | 18 | /** 19 | * 单位 20 | */ 21 | @Schema(description = "单位") 22 | private String unit; 23 | 24 | /** 25 | * 数量 26 | */ 27 | @Schema(description = "数量") 28 | private Long quantity; 29 | 30 | /** 31 | * 物资名称 32 | */ 33 | @Schema(description = "物资名称") 34 | private String name; 35 | 36 | 37 | } 38 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DCDrawRecordResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | import java.util.List; 9 | 10 | /** 11 | * 受捐领取摘要 12 | */ 13 | @Data 14 | @Schema(description = "受捐领取摘要") 15 | @Builder 16 | public class DCDrawRecordResp { 17 | 18 | /** 19 | * 领取流水ID 20 | */ 21 | @Schema(description = "领取流水ID") 22 | private Long drawFlowId; 23 | 24 | /** 25 | * 受捐人ID 26 | */ 27 | @Schema(description = "受捐人ID") 28 | private Long donatoryId; 29 | 30 | /** 31 | * 捐赠人名称 32 | */ 33 | @Schema(description = "受捐人名称") 34 | private String donatoryName; 35 | 36 | 37 | /** 38 | * 领取时间 39 | */ 40 | @Schema(description = "领取时间") 41 | private Date drawTime; 42 | 43 | /** 44 | * 证书ID 45 | */ 46 | @Schema(description = "证书ID") 47 | private String certCode; 48 | 49 | /** 50 | * 领取详情 51 | */ 52 | @Schema(description = "领取详情") 53 | private List dcDrawDetailRespList; 54 | 55 | 56 | } 57 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonateChainResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | import java.util.List; 9 | 10 | /** 11 | * 整个从捐赠到受捐的追溯详情 12 | */ 13 | @Data 14 | @Schema(description = "整个从捐赠到受捐的追溯详情") 15 | @Builder 16 | public class DonateChainResp { 17 | 18 | /** 19 | * 捐赠流水ID 20 | */ 21 | @Schema(description = "捐赠流水ID") 22 | private Long donateFlowId; 23 | 24 | /** 25 | * 捐赠人ID 26 | */ 27 | @Schema(description = "捐赠人ID") 28 | private Long donorId; 29 | 30 | /** 31 | * 捐赠人名称 32 | */ 33 | @Schema(description = "捐赠人名称") 34 | private String donorName; 35 | 36 | @Schema(description = "是否需要匿名捐赠,1-是,0-否") 37 | private Byte isAnonymous; 38 | 39 | /** 40 | * 匿名名称 41 | */ 42 | @Schema(description = "匿名名称") 43 | private String anonymity; 44 | 45 | /** 46 | * 捐赠时间 47 | */ 48 | @Schema(description = "捐赠时间") 49 | private Date donateTime; 50 | 51 | /** 52 | * 证书ID 53 | */ 54 | @Schema(description = "证书ID") 55 | private String certCode; 56 | 57 | /** 58 | * 捐赠详情 59 | */ 60 | @Schema(description = "捐赠详情") 61 | private List donateDetailResp; 62 | 63 | /** 64 | * 捐赠被用于哪些活动列表 65 | */ 66 | @Schema(description = "活动列表") 67 | private List activityBriefResps; 68 | 69 | } 70 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonateDetailReq.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.dto; 5 | 6 | import io.swagger.v3.oas.annotations.media.Schema; 7 | import lombok.Data; 8 | 9 | @Data 10 | @Schema(description = "捐赠明细") 11 | public class DonateDetailReq { 12 | 13 | /** 14 | * 捐赠明细ID 15 | */ 16 | @Schema(description = "捐赠明细ID") 17 | private Long id; 18 | 19 | /** 20 | * 捐赠类别, 1-钱,2-物 21 | */ 22 | @Schema(description = "捐赠类别, 1-钱,2-物") 23 | private Byte type; 24 | 25 | /** 26 | * 单位 27 | */ 28 | @Schema(description = "单位") 29 | private String unit; 30 | 31 | /** 32 | * 数量 33 | */ 34 | @Schema(description = "数量") 35 | private Long quantity; 36 | 37 | /** 38 | * 物资名称 39 | */ 40 | @Schema(description = "物资名称") 41 | private String name; 42 | } 43 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonateDetailResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | /** 8 | * 捐赠详情 9 | */ 10 | @Data 11 | @Schema(description = "捐赠详情") 12 | @Builder 13 | public class DonateDetailResp { 14 | 15 | /** 16 | * 捐赠类别, 1-钱,2-物 17 | */ 18 | @Schema(description = "捐赠类别, 1-钱,2-物") 19 | private Byte type; 20 | 21 | /** 22 | * 单位 23 | */ 24 | @Schema(description = "单位") 25 | private String unit; 26 | 27 | /** 28 | * 数量 29 | */ 30 | @Schema(description = "数量") 31 | private Long quantity; 32 | 33 | /** 34 | * 物资名称 35 | */ 36 | @Schema(description = "物资名称") 37 | private String name; 38 | 39 | } 40 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonateFlatDetail.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | 9 | /** 10 | * 捐赠记录扩展详情 11 | */ 12 | @Data 13 | @Schema(description = "捐赠记录扩展详情") 14 | @Builder 15 | public class DonateFlatDetail { 16 | 17 | /** 18 | * 捐赠流水ID 19 | */ 20 | @Schema(description = "捐赠流水ID") 21 | private Long donateFlowId; 22 | 23 | /** 24 | * 捐赠明细ID 25 | */ 26 | @Schema(description = "捐赠明细ID") 27 | private Long donateDetailId; 28 | 29 | /** 30 | * 捐赠人名称, 可能为匿称 31 | */ 32 | @Schema(description = "捐赠人名称, 可能为匿称") 33 | private String donorName; 34 | 35 | /** 36 | * 捐赠时间 37 | */ 38 | @Schema(description = "捐赠时间") 39 | private Date donateTime; 40 | 41 | /** 42 | * 证书ID 43 | */ 44 | @Schema(description = "证书ID") 45 | private String certCode; 46 | 47 | 48 | /** 49 | * 捐赠类别, 1-钱,2-物 50 | */ 51 | @Schema(description = "捐赠类别, 1-钱,2-物") 52 | private Byte type; 53 | 54 | /** 55 | * 单位 56 | */ 57 | @Schema(description = "单位") 58 | private String unit; 59 | 60 | /** 61 | * 数量 62 | */ 63 | @Schema(description = "数量") 64 | private Long quantity; 65 | 66 | /** 67 | * 物资名称 68 | */ 69 | @Schema(description = "物资名称") 70 | private String name; 71 | 72 | } 73 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonateFlowResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | 9 | @Data 10 | @Schema(description = "捐赠流水") 11 | @Builder 12 | public class DonateFlowResp { 13 | 14 | /** 15 | * 捐赠流水ID 16 | */ 17 | @Schema(description = "捐赠流水ID") 18 | private Long id; 19 | 20 | /** 21 | * 捐赠人ID 22 | */ 23 | @Schema(description = "捐赠人ID") 24 | private Long donorId; 25 | 26 | /** 27 | * 捐赠人名称 28 | */ 29 | @Schema(description = "捐赠人名称") 30 | private String donorName; 31 | 32 | 33 | /** 34 | * 捐赠时间 35 | */ 36 | @Schema(description = "捐赠时间") 37 | private Date donateTime; 38 | 39 | /** 40 | * 证书ID 41 | */ 42 | @Schema(description = "证书ID") 43 | private String certCode; 44 | 45 | } 46 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonateReq.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.dto; 5 | 6 | import java.util.List; 7 | 8 | import io.swagger.v3.oas.annotations.media.Schema; 9 | import lombok.Data; 10 | 11 | @Data 12 | @Schema(description = "捐赠") 13 | public class DonateReq { 14 | 15 | /** 16 | * 可能是管理员/捐赠人本人 17 | */ 18 | @Schema(description = "捐赠操作人ID") 19 | private Long loginId; 20 | 21 | @Schema(description = "捐赠人ID") 22 | private Long donorId; 23 | 24 | @Schema(description = "捐赠详情") 25 | List details; 26 | 27 | @Schema(description = "是否需要匿名捐赠,1-是,0-否") 28 | private Byte isAnonymous; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonateResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | 9 | @Data 10 | @Schema(description = "捐赠结果前台展现") 11 | @Builder 12 | public class DonateResp { 13 | 14 | /** 15 | * 捐赠人名称 16 | */ 17 | @Schema(description = "捐赠人名称") 18 | private String donorName; 19 | 20 | 21 | /** 22 | * 捐赠时间 23 | */ 24 | @Schema(description = "捐赠时间") 25 | private Date donateTime; 26 | 27 | /** 28 | * 证书ID 29 | */ 30 | @Schema(description = "证书ID") 31 | private String certCode; 32 | 33 | /** 34 | * 捐赠金额 35 | */ 36 | @Schema(description = "捐赠金额") 37 | private Long quantity; 38 | 39 | } 40 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonationFlowBriefResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | import java.util.List; 9 | 10 | @Data 11 | @Schema(description = "捐赠流水") 12 | @Builder 13 | public class DonationFlowBriefResp { 14 | 15 | /** 16 | * 捐赠/受捐人名称 17 | */ 18 | @Schema(description = "捐赠/受捐人名称") 19 | private String donorName; 20 | 21 | /** 22 | * 捐赠/受捐人手机号 23 | */ 24 | @Schema(description = "捐赠/受捐人手机号") 25 | private String phone; 26 | 27 | /** 28 | * 捐赠/受捐人身份证号 29 | */ 30 | @Schema(description = "捐赠/受捐人身份证号") 31 | private String idCard; 32 | 33 | /** 34 | * 捐赠/受捐时间 35 | */ 36 | @Schema(description = "捐赠/受捐时间") 37 | private Date donateTime; 38 | 39 | /** 40 | * 证书ID 41 | */ 42 | @Schema(description = "证书ID") 43 | private String certCode; 44 | 45 | /** 46 | * 参与类型: 捐赠/受捐 47 | */ 48 | @Schema(description = "参与类型") 49 | private String participation; 50 | 51 | /** 52 | * 捐赠详情 53 | */ 54 | @Schema(description = "捐赠详情") 55 | List donateDetailResps; 56 | 57 | } 58 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonatoryActivityRes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.dto; 5 | 6 | import java.util.Date; 7 | 8 | import io.swagger.v3.oas.annotations.media.Schema; 9 | import lombok.AllArgsConstructor; 10 | import lombok.Builder; 11 | import lombok.Data; 12 | import lombok.NoArgsConstructor; 13 | 14 | @Data 15 | @Schema(description = "受捐人活动对象") 16 | @Builder 17 | @AllArgsConstructor 18 | @NoArgsConstructor 19 | public class DonatoryActivityRes { 20 | 21 | @Schema(description = "活动ID") 22 | private Long activityId; 23 | 24 | @Schema(description = "活动主题") 25 | private String theme; 26 | 27 | @Schema(description = "活动描述") 28 | private String description; 29 | 30 | @Schema(description = "活动开始时间") 31 | private Date startTime; 32 | 33 | @Schema(description = "活动结束时间") 34 | private Date endTime; 35 | 36 | @Schema(description = "证书编码") 37 | private String certCode; 38 | 39 | @Schema(description = "活动状态, 0-待实施, 1-实施中, 2-实施完成") 40 | private Byte status; 41 | 42 | @Schema(description = "受捐人Id") 43 | private Long donatoryId; 44 | 45 | @Schema(description = "领取金额") 46 | private Long recipientAmount; 47 | 48 | @Schema(description = "领取状态, 0-未领取, 1-已领取") 49 | private Byte drawStatus; 50 | 51 | @Schema(description = "领取时间") 52 | private Date drawDate; 53 | } 54 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonatoryChainResp.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | import java.util.List; 9 | 10 | /** 11 | * 整个从受捐到捐赠的追溯详情 12 | */ 13 | @Data 14 | @Schema(description = "整个从受捐到捐赠的追溯详情") 15 | @Builder 16 | public class DonatoryChainResp { 17 | 18 | /** 19 | * 领取流水ID 20 | */ 21 | @Schema(description = "领取流水ID") 22 | private Long drawRecordFlowId; 23 | 24 | /** 25 | * 受赠人ID 26 | */ 27 | @Schema(description = "受赠人ID") 28 | private Long donatoryId; 29 | 30 | /** 31 | * 受赠人名称 32 | */ 33 | @Schema(description = "受赠人名称") 34 | private String donatoryName; 35 | 36 | /** 37 | * 领取时间 38 | */ 39 | @Schema(description = "领取时间") 40 | private Date drawTime; 41 | 42 | /** 43 | * 证书ID 44 | */ 45 | @Schema(description = "证书ID") 46 | private String certCode; 47 | 48 | /** 49 | * 领取详情 50 | */ 51 | @Schema(description = "领取详情") 52 | private List drawDetailResps; 53 | 54 | /** 55 | * 追溯活动详情 56 | */ 57 | @Schema(description = "追溯活动详情") 58 | private DCActivityBriefResp activityBriefResp; 59 | 60 | 61 | } 62 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonatoryReq.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.dto; 5 | 6 | import io.swagger.v3.oas.annotations.media.Schema; 7 | import lombok.Data; 8 | 9 | @Schema(description = "受捐人对象", name = "DonatoryReq") 10 | @Data 11 | public class DonatoryReq { 12 | 13 | @Schema(description = "受赠人用户名") 14 | private String userName; 15 | 16 | @Schema(description = "受赠人密码") 17 | private String password; 18 | 19 | @Schema(description = "受赠人名称") 20 | private String name; 21 | 22 | @Schema(description = "身份证号码") 23 | private String idcard; 24 | 25 | @Schema(description = "手机号") 26 | private String mobile; 27 | 28 | @Schema(description = "受赠人社保卡") 29 | private String donatoryCard; 30 | 31 | @Schema(description = "省份") 32 | private String province; 33 | 34 | @Schema(description = "城市") 35 | private String city; 36 | 37 | @Schema(description = "地址") 38 | private String address; 39 | 40 | @Schema(description = "受赠人等级,1-绝对贫困人口(年人均纯收入低于627元), 2-相对贫困人口(年人均纯收入628—865元), 3-低收入人口(年人均纯收入866—1205元), 4-一般收入") 41 | private Byte donatoryLevel; 42 | } 43 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DonorReq.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.dto; 5 | 6 | import io.swagger.v3.oas.annotations.media.Schema; 7 | import lombok.Data; 8 | 9 | @Schema(description = "捐赠人注册对象", name = "DonorReq") 10 | @Data 11 | public class DonorReq { 12 | 13 | @Schema(description = "用户名", maxLength = 60, minLength = 5) 14 | private String userName; 15 | 16 | @Schema(description = "用户密码", maxLength = 20, minLength = 6) 17 | private String password; 18 | 19 | @Schema(description = "姓名", maxLength = 60, minLength = 2) 20 | private String name; 21 | 22 | @Schema(description = "身份证号码,加密存储") 23 | private String idcard; 24 | 25 | @Schema(description = "手机号,加密存储") 26 | private String mobile; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DrawRecordFlatDetail.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | 9 | /** 10 | * 领取记录扩展详情 11 | */ 12 | @Data 13 | @Schema(description = "领取记录扩展详情") 14 | @Builder 15 | public class DrawRecordFlatDetail { 16 | 17 | /** 18 | * 领取流水ID 19 | */ 20 | @Schema(description = "领取流水ID") 21 | private Long drawFlowId; 22 | 23 | /** 24 | * 领取时间 25 | */ 26 | @Schema(description = "领取时间") 27 | private Date drawTime; 28 | 29 | /** 30 | * 证书ID 31 | */ 32 | @Schema(description = "证书ID") 33 | private String certCode; 34 | 35 | /** 36 | * 活动ID 37 | */ 38 | @Schema(description = "活动ID") 39 | private Long activityId; 40 | 41 | /** 42 | * 活动计划ID 43 | */ 44 | @Schema(description = "活动计划ID") 45 | private Long activityPlanId; 46 | 47 | /** 48 | * 拨款记录ID 49 | */ 50 | @Schema(description = "拨款记录ID") 51 | private Long allocationId; 52 | 53 | /** 54 | * 受赠人ID 55 | */ 56 | @Schema(description = "受赠人ID") 57 | private Long donatoryId; 58 | 59 | /** 60 | * 受赠人名称 61 | */ 62 | @Schema(description = "受赠人名称") 63 | private String donatoryName; 64 | 65 | /** 66 | * 捐赠类别, 1-钱,2-物 67 | */ 68 | @Schema(description = "捐赠类别, 1-钱,2-物") 69 | private Byte type; 70 | 71 | /** 72 | * 单位 73 | */ 74 | @Schema(description = "单位") 75 | private String unit; 76 | 77 | /** 78 | * 数量 79 | */ 80 | @Schema(description = "数量") 81 | private Long quantity; 82 | 83 | /** 84 | * 物资名称 85 | */ 86 | @Schema(description = "物资名称") 87 | private String name; 88 | 89 | } 90 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/DrawReq.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.dto; 5 | 6 | import io.swagger.v3.oas.annotations.media.Schema; 7 | import lombok.Data; 8 | 9 | @Data 10 | @Schema(description = "领取对象") 11 | public class DrawReq { 12 | 13 | @Schema(description = "活动ID") 14 | private Long activityId; 15 | 16 | @Schema(description = "受捐人ID") 17 | private Long donatoryId; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/LoginParam.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.dto; 5 | 6 | import io.swagger.v3.oas.annotations.media.Schema; 7 | import lombok.Data; 8 | 9 | @Data 10 | public class LoginParam { 11 | 12 | @Schema(description = "用户名") 13 | private String userName; 14 | 15 | @Schema(description = "手机号") 16 | private String mobile; 17 | 18 | @Schema(description = "密码") 19 | private String password; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/LoginResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.dto; 5 | 6 | import lombok.Data; 7 | 8 | @Data 9 | public class LoginResponse { 10 | private Long userId; 11 | private String token; 12 | private String name; 13 | private String userName; 14 | } 15 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/Verification.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | import java.util.List; 9 | 10 | /** 11 | * 链上捐赠/领取记录详情 12 | */ 13 | @Data 14 | @Schema(description = "链上记录详情") 15 | @Builder 16 | public class Verification { 17 | 18 | /** 19 | * 业务数据与链上数据校验通过与否 20 | * true: 校验通过 21 | * false: 检验不通过 22 | */ 23 | @Schema(description = "TODO 业务数据与链上数据校验通过与否, true-通过, false-不通过") 24 | private Boolean pass; 25 | 26 | /** 27 | * 名称 28 | */ 29 | @Schema(description = "名称") 30 | private String donorOrDonatoryName; 31 | 32 | /** 33 | * 身份证号 34 | */ 35 | @Schema(description = "身份证号") 36 | private String idCard; 37 | 38 | /** 39 | * 捐赠/领取时间 40 | */ 41 | @Schema(description = "捐赠/领取时间") 42 | private Date time; 43 | 44 | /** 45 | * 链上记录详情 46 | */ 47 | @Schema(description = "链上记录详情") 48 | List drawVerificationDetailList; 49 | 50 | } 51 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/dto/VerificationDetail.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.dto; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | 7 | /** 8 | * 链上记录详情 9 | */ 10 | @Data 11 | @Schema(description = "链上记录详情") 12 | @Builder 13 | public class VerificationDetail { 14 | 15 | /** 16 | * 单位 17 | */ 18 | @Schema(description = "单位") 19 | private String unit; 20 | 21 | /** 22 | * 数量 23 | */ 24 | @Schema(description = "数量") 25 | private Long quantity; 26 | 27 | /** 28 | * 物资名称 29 | */ 30 | @Schema(description = "物资名称") 31 | private String name; 32 | 33 | } 34 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/ActivityPlanConfigService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.ActivityPlanConfig; 4 | import com.baidu.mapp.bcd.domain.ActivityPlanConfigExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface ActivityPlanConfigService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/ActivityPlanService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.ActivityPlan; 4 | import com.baidu.mapp.bcd.domain.ActivityPlanExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface ActivityPlanService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/ActivityService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.Activity; 4 | import com.baidu.mapp.bcd.domain.ActivityExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface ActivityService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/AdminService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.Admin; 4 | import com.baidu.mapp.bcd.domain.AdminExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface AdminService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/AllocationService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.Allocation; 4 | import com.baidu.mapp.bcd.domain.AllocationExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface AllocationService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/AssignService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.Assign; 4 | import com.baidu.mapp.bcd.domain.AssignExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface AssignService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/CertificateHashService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.CertificateHash; 4 | import com.baidu.mapp.bcd.domain.CertificateHashExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface CertificateHashService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/CertificateService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.Certificate; 4 | import com.baidu.mapp.bcd.domain.CertificateExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface CertificateService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/ChainService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.service; 5 | 6 | /** 7 | * 数据上链与链上数据查询接口 8 | */ 9 | public interface ChainService { 10 | 11 | /** 12 | * 数据上链 13 | * 14 | * @param userId, 流水+详情 -> 捐赠人ID 15 | * 领取记录 -> 受捐人ID 16 | * 活动,计划,拨款 —> 操作人ID 17 | * @param domain 数据域 18 | * @param id 数据标识 19 | * @param sign 上链数据签名 20 | * @param content 上链原始数据 21 | * @return 链上存证地址 22 | */ 23 | String writeChain(Long userId, String domain, Long id, String sign, String content); 24 | 25 | /** 26 | * 通过存证地址查询链上数据 27 | * @param address 链上存证地址 28 | * @return 返回对应的链上数据 29 | */ 30 | String readChain(String address); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/DonateDetailService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.DonateDetail; 4 | import com.baidu.mapp.bcd.domain.DonateDetailExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface DonateDetailService extends GenericService { 8 | 9 | Long sumMoneyBalanceByExample(DonateDetailExample example); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/DonateFlowService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.DonateFlow; 4 | import com.baidu.mapp.bcd.domain.DonateFlowExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface DonateFlowService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/DonatoryService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.Donatory; 4 | import com.baidu.mapp.bcd.domain.DonatoryExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface DonatoryService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/DonorService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.Donor; 4 | import com.baidu.mapp.bcd.domain.DonorExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface DonorService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/DrawDonateDetailRelService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.DrawDonateDetailRel; 4 | import com.baidu.mapp.bcd.domain.DrawDonateDetailRelExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface DrawDonateDetailRelService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/DrawRecordDetailService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.DrawRecordDetail; 4 | import com.baidu.mapp.bcd.domain.DrawRecordDetailExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface DrawRecordDetailService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/DrawRecordFlowService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.DrawRecordFlow; 4 | import com.baidu.mapp.bcd.domain.DrawRecordFlowExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface DrawRecordFlowService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/DrawRecordService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.DrawRecord; 4 | import com.baidu.mapp.bcd.domain.DrawRecordExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface DrawRecordService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/PlanAllocationRelService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service; 2 | 3 | import com.baidu.mapp.bcd.domain.PlanAllocationRel; 4 | import com.baidu.mapp.bcd.domain.PlanAllocationRelExample; 5 | import com.baidu.mapp.bcd.service.base.GenericService; 6 | 7 | public interface PlanAllocationRelService extends GenericService { 8 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/base/CommonService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.base; 2 | 3 | import java.util.Date; 4 | import java.util.List; 5 | import java.util.Map; 6 | 7 | import com.baidu.mapp.bcd.dao.base.BaseSQL; 8 | import com.baidu.mapp.bcd.dao.base.CommonMapper; 9 | import com.baidu.mapp.bcd.dao.base.SQLParam; 10 | 11 | public interface CommonService { 12 | List> selectListMap(BaseSQL baseSql, SQLParam sqlParam); 13 | 14 | Map selectOneMap(BaseSQL baseSql, SQLParam sqlParam); 15 | 16 | String selectOneString(BaseSQL baseSql, SQLParam sqlParam); 17 | 18 | Long selectOneLong(BaseSQL baseSql, SQLParam sqlParam); 19 | 20 | Integer selectOneInteger(BaseSQL baseSql, SQLParam sqlParam); 21 | 22 | Byte selectOneByte(BaseSQL baseSql, SQLParam sqlParam); 23 | 24 | Date selectOneDate(BaseSQL baseSql, SQLParam sqlParam); 25 | 26 | CommonMapper getCommonMapper(); 27 | } 28 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/base/CommonServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.base; 2 | 3 | import java.util.Date; 4 | import java.util.List; 5 | import java.util.Map; 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | 9 | import com.baidu.mapp.bcd.dao.base.BaseSQL; 10 | import com.baidu.mapp.bcd.dao.base.CommonMapper; 11 | import com.baidu.mapp.bcd.dao.base.SQLParam; 12 | 13 | public abstract class CommonServiceImpl implements CommonService { 14 | 15 | @Autowired 16 | protected CommonMapper commonMapper; 17 | 18 | public List> selectListMap(BaseSQL baseSql, SQLParam sqlParam) { 19 | return commonMapper.selectListMap(baseSql, sqlParam); 20 | } 21 | 22 | public Map selectOneMap(BaseSQL baseSql, SQLParam sqlParam) { 23 | return commonMapper.selectOneMap(baseSql, sqlParam); 24 | } 25 | 26 | public String selectOneString(BaseSQL baseSql, SQLParam sqlParam) { 27 | return commonMapper.selectOneString(baseSql, sqlParam); 28 | } 29 | 30 | public Long selectOneLong(BaseSQL baseSql, SQLParam sqlParam) { 31 | return commonMapper.selectOneLong(baseSql, sqlParam); 32 | } 33 | 34 | public Integer selectOneInteger(BaseSQL baseSql, SQLParam sqlParam) { 35 | return commonMapper.selectOneInteger(baseSql, sqlParam); 36 | } 37 | 38 | public Byte selectOneByte(BaseSQL baseSql, SQLParam sqlParam) { 39 | return commonMapper.selectOneByte(baseSql, sqlParam); 40 | } 41 | 42 | public Date selectOneDate(BaseSQL baseSql, SQLParam sqlParam) { 43 | return commonMapper.selectOneDate(baseSql, sqlParam); 44 | } 45 | 46 | public CommonMapper getCommonMapper() { 47 | return commonMapper; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/base/GenericService.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.base; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | import java.util.Map; 6 | import java.util.Set; 7 | import java.util.function.Function; 8 | 9 | import com.baidu.mapp.bcd.domain.base.BaseExample; 10 | import com.baidu.mapp.bcd.domain.base.Pagination; 11 | 12 | public interface GenericService extends CommonService { 13 | int insert(ENTRY entity); 14 | 15 | int insertSelective(ENTRY entity); 16 | 17 | int updateByPrimaryKeySelective(ENTRY entity); 18 | 19 | int updateByPrimaryKey(ENTRY entity); 20 | 21 | int updateByExampleSelective(ENTRY entity, EXAMPLE example); 22 | 23 | int deleteByPrimaryKey(ID id); 24 | 25 | int deleteByExample(EXAMPLE example); 26 | 27 | long countByExample(EXAMPLE example); 28 | 29 | List selectByExample(EXAMPLE example, String... columns); 30 | 31 | Map selectMapByExample(EXAMPLE example, Function keyConverter, String... columns); 32 | 33 | Map selectMapByExample(EXAMPLE example, Function keyConverter, 34 | Function converter, 35 | String... columns); 36 | 37 | Map> selectMapListByExample(EXAMPLE example, Function keyConverter, 38 | Function converter, 39 | String... columns); 40 | 41 | List selectByExample(EXAMPLE example, Function converter, String... columns); 42 | 43 | ENTRY selectOneByExample(EXAMPLE example, String... columns); 44 | 45 | T selectOneByExample(EXAMPLE example, Function converter, String... columns); 46 | 47 | List selectAll(String... columns); 48 | 49 | List selectAll(Function converter, String... columns); 50 | 51 | ENTRY selectByPrimaryKey(ID id, String... columns); 52 | 53 | T selectByPrimaryKey(ID id, Function converter, String... columns); 54 | 55 | List selectByPrimaryKeys(List ids, String... columns); 56 | 57 | List selectByPrimaryKeys(List ids, Function converter, String... columns); 58 | 59 | Map selectMapByPrimaryKeys(List ids, Function keyConverter, String... columns); 60 | 61 | Map selectMapByPrimaryKeys(Set ids, Function keyConverter, String... columns); 62 | 63 | Map selectMapByPrimaryKeys(List ids, Function keyConverter, 64 | Function converter, String... columns); 65 | 66 | Map selectMapByPrimaryKeys(Set ids, Function keyConverter, 67 | Function converter, String... columns); 68 | 69 | Map> selectMapListByPrimaryKeys(List ids, Function keyConverter, 70 | Function converter, String... columns); 71 | 72 | Pagination pagination(EXAMPLE example, String... columns); 73 | 74 | Pagination pagination(EXAMPLE example, Function converter, String... columns); 75 | 76 | default List set2List(Set set) { 77 | if (set == null || set.isEmpty()) { 78 | return new ArrayList<>(); 79 | } 80 | 81 | List list = new ArrayList<>(); 82 | for (T t : set) { 83 | list.add(t); 84 | } 85 | return list; 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/ActivityPlanConfigServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.ActivityPlanConfigMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.ActivityPlanConfig; 6 | import com.baidu.mapp.bcd.domain.ActivityPlanConfigExample; 7 | import com.baidu.mapp.bcd.service.ActivityPlanConfigService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("activityPlanConfigService") 17 | public class ActivityPlanConfigServiceImpl extends GenericServiceImpl implements ActivityPlanConfigService { 18 | 19 | @Autowired 20 | private ActivityPlanConfigMapper activityPlanConfigMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return activityPlanConfigMapper; 25 | } 26 | 27 | @Override 28 | public ActivityPlanConfigExample newExample() { 29 | return ActivityPlanConfigExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public ActivityPlanConfigExample newIdInExample(List ids) { 34 | return ActivityPlanConfigExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/ActivityPlanServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.ActivityPlanMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.ActivityPlan; 6 | import com.baidu.mapp.bcd.domain.ActivityPlanExample; 7 | import com.baidu.mapp.bcd.service.ActivityPlanService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("activityPlanService") 17 | public class ActivityPlanServiceImpl extends GenericServiceImpl implements ActivityPlanService { 18 | 19 | @Autowired 20 | private ActivityPlanMapper activityPlanMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return activityPlanMapper; 25 | } 26 | 27 | @Override 28 | public ActivityPlanExample newExample() { 29 | return ActivityPlanExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public ActivityPlanExample newIdInExample(List ids) { 34 | return ActivityPlanExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/ActivityServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.ActivityMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.Activity; 6 | import com.baidu.mapp.bcd.domain.ActivityExample; 7 | import com.baidu.mapp.bcd.service.ActivityService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("activityService") 17 | public class ActivityServiceImpl extends GenericServiceImpl implements ActivityService { 18 | 19 | @Autowired 20 | private ActivityMapper activityMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return activityMapper; 25 | } 26 | 27 | @Override 28 | public ActivityExample newExample() { 29 | return ActivityExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public ActivityExample newIdInExample(List ids) { 34 | return ActivityExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/AdminServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.AdminMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.Admin; 6 | import com.baidu.mapp.bcd.domain.AdminExample; 7 | import com.baidu.mapp.bcd.service.AdminService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("adminService") 17 | public class AdminServiceImpl extends GenericServiceImpl implements AdminService { 18 | 19 | @Autowired 20 | private AdminMapper adminMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return adminMapper; 25 | } 26 | 27 | @Override 28 | public AdminExample newExample() { 29 | return AdminExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public AdminExample newIdInExample(List ids) { 34 | return AdminExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/AllocationServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.AllocationMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.Allocation; 6 | import com.baidu.mapp.bcd.domain.AllocationExample; 7 | import com.baidu.mapp.bcd.service.AllocationService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("allocationService") 17 | public class AllocationServiceImpl extends GenericServiceImpl implements AllocationService { 18 | 19 | @Autowired 20 | private AllocationMapper allocationMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return allocationMapper; 25 | } 26 | 27 | @Override 28 | public AllocationExample newExample() { 29 | return AllocationExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public AllocationExample newIdInExample(List ids) { 34 | return AllocationExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/AssignServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.AssignMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.Assign; 6 | import com.baidu.mapp.bcd.domain.AssignExample; 7 | import com.baidu.mapp.bcd.service.AssignService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("assignService") 17 | public class AssignServiceImpl extends GenericServiceImpl implements AssignService { 18 | 19 | @Autowired 20 | private AssignMapper assignMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return assignMapper; 25 | } 26 | 27 | @Override 28 | public AssignExample newExample() { 29 | return AssignExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public AssignExample newIdInExample(List ids) { 34 | return AssignExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/CertificateHashServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.CertificateHashMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.CertificateHash; 6 | import com.baidu.mapp.bcd.domain.CertificateHashExample; 7 | import com.baidu.mapp.bcd.service.CertificateHashService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("certificateHashService") 17 | public class CertificateHashServiceImpl extends GenericServiceImpl implements CertificateHashService { 18 | 19 | @Autowired 20 | private CertificateHashMapper certificateHashMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return certificateHashMapper; 25 | } 26 | 27 | @Override 28 | public CertificateHashExample newExample() { 29 | return CertificateHashExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public CertificateHashExample newIdInExample(List ids) { 34 | return CertificateHashExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/CertificateServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.CertificateMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.Certificate; 6 | import com.baidu.mapp.bcd.domain.CertificateExample; 7 | import com.baidu.mapp.bcd.service.CertificateService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("certificateService") 17 | public class CertificateServiceImpl extends GenericServiceImpl implements CertificateService { 18 | 19 | @Autowired 20 | private CertificateMapper certificateMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return certificateMapper; 25 | } 26 | 27 | @Override 28 | public CertificateExample newExample() { 29 | return CertificateExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public CertificateExample newIdInExample(List ids) { 34 | return CertificateExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/DonateDetailServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.DonateDetailMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.DonateDetail; 6 | import com.baidu.mapp.bcd.domain.DonateDetailExample; 7 | import com.baidu.mapp.bcd.service.DonateDetailService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("donateDetailService") 17 | public class DonateDetailServiceImpl extends GenericServiceImpl implements DonateDetailService { 18 | 19 | @Autowired 20 | private DonateDetailMapper donateDetailMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return donateDetailMapper; 25 | } 26 | 27 | @Override 28 | public DonateDetailExample newExample() { 29 | return DonateDetailExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public DonateDetailExample newIdInExample(List ids) { 34 | return DonateDetailExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | 37 | @Override 38 | public Long sumMoneyBalanceByExample(DonateDetailExample example) { 39 | return donateDetailMapper.sumMoneyBalanceByExample(example); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/DonateFlowServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.DonateFlowMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.DonateFlow; 6 | import com.baidu.mapp.bcd.domain.DonateFlowExample; 7 | import com.baidu.mapp.bcd.service.DonateFlowService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("donateFlowService") 17 | public class DonateFlowServiceImpl extends GenericServiceImpl implements DonateFlowService { 18 | 19 | @Autowired 20 | private DonateFlowMapper donateFlowMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return donateFlowMapper; 25 | } 26 | 27 | @Override 28 | public DonateFlowExample newExample() { 29 | return DonateFlowExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public DonateFlowExample newIdInExample(List ids) { 34 | return DonateFlowExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/DonatoryServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.DonatoryMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.Donatory; 6 | import com.baidu.mapp.bcd.domain.DonatoryExample; 7 | import com.baidu.mapp.bcd.service.DonatoryService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("donatoryService") 17 | public class DonatoryServiceImpl extends GenericServiceImpl implements DonatoryService { 18 | 19 | @Autowired 20 | private DonatoryMapper donatoryMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return donatoryMapper; 25 | } 26 | 27 | @Override 28 | public DonatoryExample newExample() { 29 | return DonatoryExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public DonatoryExample newIdInExample(List ids) { 34 | return DonatoryExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/DonorServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.DonorMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.Donor; 6 | import com.baidu.mapp.bcd.domain.DonorExample; 7 | import com.baidu.mapp.bcd.service.DonorService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("donorService") 17 | public class DonorServiceImpl extends GenericServiceImpl implements DonorService { 18 | 19 | @Autowired 20 | private DonorMapper donorMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return donorMapper; 25 | } 26 | 27 | @Override 28 | public DonorExample newExample() { 29 | return DonorExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public DonorExample newIdInExample(List ids) { 34 | return DonorExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/DrawDonateDetailRelServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.DrawDonateDetailRelMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.DrawDonateDetailRel; 6 | import com.baidu.mapp.bcd.domain.DrawDonateDetailRelExample; 7 | import com.baidu.mapp.bcd.service.DrawDonateDetailRelService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("drawDonateDetailRelService") 17 | public class DrawDonateDetailRelServiceImpl extends GenericServiceImpl implements DrawDonateDetailRelService { 18 | 19 | @Autowired 20 | private DrawDonateDetailRelMapper drawDonateDetailRelMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return drawDonateDetailRelMapper; 25 | } 26 | 27 | @Override 28 | public DrawDonateDetailRelExample newExample() { 29 | return DrawDonateDetailRelExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public DrawDonateDetailRelExample newIdInExample(List ids) { 34 | return DrawDonateDetailRelExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/DrawRecordDetailServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.DrawRecordDetailMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.DrawRecordDetail; 6 | import com.baidu.mapp.bcd.domain.DrawRecordDetailExample; 7 | import com.baidu.mapp.bcd.service.DrawRecordDetailService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("drawRecordDetailService") 17 | public class DrawRecordDetailServiceImpl extends GenericServiceImpl implements DrawRecordDetailService { 18 | 19 | @Autowired 20 | private DrawRecordDetailMapper drawRecordDetailMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return drawRecordDetailMapper; 25 | } 26 | 27 | @Override 28 | public DrawRecordDetailExample newExample() { 29 | return DrawRecordDetailExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public DrawRecordDetailExample newIdInExample(List ids) { 34 | return DrawRecordDetailExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/DrawRecordFlowServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.DrawRecordFlowMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.DrawRecordFlow; 6 | import com.baidu.mapp.bcd.domain.DrawRecordFlowExample; 7 | import com.baidu.mapp.bcd.service.DrawRecordFlowService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("drawRecordFlowService") 17 | public class DrawRecordFlowServiceImpl extends GenericServiceImpl implements DrawRecordFlowService { 18 | 19 | @Autowired 20 | private DrawRecordFlowMapper drawRecordFlowMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return drawRecordFlowMapper; 25 | } 26 | 27 | @Override 28 | public DrawRecordFlowExample newExample() { 29 | return DrawRecordFlowExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public DrawRecordFlowExample newIdInExample(List ids) { 34 | return DrawRecordFlowExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/DrawRecordServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.DrawRecordMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.DrawRecord; 6 | import com.baidu.mapp.bcd.domain.DrawRecordExample; 7 | import com.baidu.mapp.bcd.service.DrawRecordService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("drawRecordService") 17 | public class DrawRecordServiceImpl extends GenericServiceImpl implements DrawRecordService { 18 | 19 | @Autowired 20 | private DrawRecordMapper drawRecordMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return drawRecordMapper; 25 | } 26 | 27 | @Override 28 | public DrawRecordExample newExample() { 29 | return DrawRecordExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public DrawRecordExample newIdInExample(List ids) { 34 | return DrawRecordExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/service/impl/PlanAllocationRelServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd.service.impl; 2 | 3 | import com.baidu.mapp.bcd.dao.PlanAllocationRelMapper; 4 | import com.baidu.mapp.bcd.dao.base.BaseMapper; 5 | import com.baidu.mapp.bcd.domain.PlanAllocationRel; 6 | import com.baidu.mapp.bcd.domain.PlanAllocationRelExample; 7 | import com.baidu.mapp.bcd.service.PlanAllocationRelService; 8 | import com.baidu.mapp.bcd.service.base.GenericServiceImpl; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.Map; 12 | import java.util.stream.Collectors; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Service; 15 | 16 | @Service("planAllocationRelService") 17 | public class PlanAllocationRelServiceImpl extends GenericServiceImpl implements PlanAllocationRelService { 18 | 19 | @Autowired 20 | private PlanAllocationRelMapper planAllocationRelMapper; 21 | 22 | @Override 23 | public BaseMapper getMapper() { 24 | return planAllocationRelMapper; 25 | } 26 | 27 | @Override 28 | public PlanAllocationRelExample newExample() { 29 | return PlanAllocationRelExample.newBuilder().build(); 30 | } 31 | 32 | @Override 33 | public PlanAllocationRelExample newIdInExample(List ids) { 34 | return PlanAllocationRelExample.newBuilder().build().createCriteria().andIdIn(ids).toExample(); 35 | } 36 | } -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/typehandler/JsonByteListTypeHandler.java: -------------------------------------------------------------------------------- 1 | 2 | package com.baidu.mapp.bcd.typehandler; 3 | 4 | import java.sql.CallableStatement; 5 | import java.sql.PreparedStatement; 6 | import java.sql.ResultSet; 7 | import java.sql.SQLException; 8 | import java.util.List; 9 | 10 | import org.apache.ibatis.type.BaseTypeHandler; 11 | import org.apache.ibatis.type.JdbcType; 12 | 13 | import com.baidu.mapp.bcd.common.gson.GsonUtils; 14 | public class JsonByteListTypeHandler extends BaseTypeHandler> { 15 | 16 | @Override 17 | public void setNonNullParameter(PreparedStatement ps, int i, List parameter, JdbcType jdbcType) 18 | throws SQLException { 19 | ps.setString(i, toJson(parameter)); 20 | } 21 | 22 | @Override 23 | public List getNullableResult(ResultSet rs, String columnName) throws SQLException { 24 | return this.toObject(rs.getString(columnName)); 25 | } 26 | 27 | @Override 28 | public List getNullableResult(ResultSet rs, int columnIndex) throws SQLException { 29 | return this.toObject(rs.getString(columnIndex)); 30 | } 31 | 32 | @Override 33 | public List getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { 34 | return this.toObject(cs.getString(columnIndex)); 35 | } 36 | 37 | private String toJson(List params) { 38 | if (params == null || params.isEmpty()) { 39 | return "[]"; 40 | } 41 | try { 42 | return GsonUtils.toJsonString(params); 43 | } catch (Exception e) { 44 | e.printStackTrace(); 45 | } 46 | return "[]"; 47 | } 48 | 49 | private List toObject(String content) { 50 | if (content != null && !content.isEmpty()) { 51 | try { 52 | return GsonUtils.toList(content, Byte.class); 53 | } catch (Exception e) { 54 | throw new RuntimeException(e); 55 | } 56 | } else { 57 | return null; 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/typehandler/JsonIntegerListTypeHandler.java: -------------------------------------------------------------------------------- 1 | 2 | package com.baidu.mapp.bcd.typehandler; 3 | 4 | import java.sql.CallableStatement; 5 | import java.sql.PreparedStatement; 6 | import java.sql.ResultSet; 7 | import java.sql.SQLException; 8 | import java.util.List; 9 | 10 | import org.apache.ibatis.type.BaseTypeHandler; 11 | import org.apache.ibatis.type.JdbcType; 12 | 13 | import com.baidu.mapp.bcd.common.gson.GsonUtils; 14 | 15 | public class JsonIntegerListTypeHandler extends BaseTypeHandler> { 16 | 17 | @Override 18 | public void setNonNullParameter(PreparedStatement ps, int i, List parameter, JdbcType jdbcType) 19 | throws SQLException { 20 | ps.setString(i, toJson(parameter)); 21 | } 22 | 23 | @Override 24 | public List getNullableResult(ResultSet rs, String columnName) throws SQLException { 25 | return this.toObject(rs.getString(columnName)); 26 | } 27 | 28 | @Override 29 | public List getNullableResult(ResultSet rs, int columnIndex) throws SQLException { 30 | return this.toObject(rs.getString(columnIndex)); 31 | } 32 | 33 | @Override 34 | public List getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { 35 | return this.toObject(cs.getString(columnIndex)); 36 | } 37 | 38 | private String toJson(List params) { 39 | if (params == null || params.isEmpty()) { 40 | return "[]"; 41 | } 42 | try { 43 | return GsonUtils.toJsonString(params); 44 | } catch (Exception e) { 45 | e.printStackTrace(); 46 | } 47 | return "[]"; 48 | } 49 | 50 | private List toObject(String content) { 51 | if (content != null && !content.isEmpty()) { 52 | try { 53 | return GsonUtils.toList(content, Integer.class); 54 | } catch (Exception e) { 55 | throw new RuntimeException(e); 56 | } 57 | } else { 58 | return null; 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/typehandler/JsonLongListTypeHandler.java: -------------------------------------------------------------------------------- 1 | 2 | package com.baidu.mapp.bcd.typehandler; 3 | 4 | import java.sql.CallableStatement; 5 | import java.sql.PreparedStatement; 6 | import java.sql.ResultSet; 7 | import java.sql.SQLException; 8 | import java.util.List; 9 | 10 | import org.apache.ibatis.type.BaseTypeHandler; 11 | import org.apache.ibatis.type.JdbcType; 12 | 13 | import com.baidu.mapp.bcd.common.gson.GsonUtils; 14 | 15 | public class JsonLongListTypeHandler extends BaseTypeHandler> { 16 | 17 | @Override 18 | public void setNonNullParameter(PreparedStatement ps, int i, List parameter, JdbcType jdbcType) 19 | throws SQLException { 20 | ps.setString(i, toJson(parameter)); 21 | } 22 | 23 | @Override 24 | public List getNullableResult(ResultSet rs, String columnName) throws SQLException { 25 | return this.toObject(rs.getString(columnName)); 26 | } 27 | 28 | @Override 29 | public List getNullableResult(ResultSet rs, int columnIndex) throws SQLException { 30 | return this.toObject(rs.getString(columnIndex)); 31 | } 32 | 33 | @Override 34 | public List getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { 35 | return this.toObject(cs.getString(columnIndex)); 36 | } 37 | 38 | private String toJson(List params) { 39 | if (params == null || params.isEmpty()) { 40 | return "[]"; 41 | } 42 | try { 43 | return GsonUtils.toJsonString(params); 44 | } catch (Exception e) { 45 | e.printStackTrace(); 46 | } 47 | return "[]"; 48 | } 49 | 50 | private List toObject(String content) { 51 | if (content != null && !content.isEmpty()) { 52 | try { 53 | return GsonUtils.toList(content, Long.class); 54 | } catch (Exception e) { 55 | throw new RuntimeException(e); 56 | } 57 | } else { 58 | return null; 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /bcd-core/src/main/java/com/baidu/mapp/bcd/typehandler/JsonStringListTypeHandler.java: -------------------------------------------------------------------------------- 1 | 2 | package com.baidu.mapp.bcd.typehandler; 3 | 4 | import java.sql.CallableStatement; 5 | import java.sql.PreparedStatement; 6 | import java.sql.ResultSet; 7 | import java.sql.SQLException; 8 | import java.util.List; 9 | 10 | import org.apache.ibatis.type.BaseTypeHandler; 11 | import org.apache.ibatis.type.JdbcType; 12 | 13 | import com.baidu.mapp.bcd.common.gson.GsonUtils; 14 | 15 | public class JsonStringListTypeHandler extends BaseTypeHandler> { 16 | 17 | @Override 18 | public void setNonNullParameter(PreparedStatement ps, int i, List parameter, JdbcType jdbcType) 19 | throws SQLException { 20 | ps.setString(i, toJson(parameter)); 21 | } 22 | 23 | @Override 24 | public List getNullableResult(ResultSet rs, String columnName) throws SQLException { 25 | return this.toObject(rs.getString(columnName)); 26 | } 27 | 28 | @Override 29 | public List getNullableResult(ResultSet rs, int columnIndex) throws SQLException { 30 | return this.toObject(rs.getString(columnIndex)); 31 | } 32 | 33 | @Override 34 | public List getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { 35 | return this.toObject(cs.getString(columnIndex)); 36 | } 37 | 38 | private String toJson(List params) { 39 | if (params == null || params.isEmpty()) { 40 | return "[]"; 41 | } 42 | try { 43 | return GsonUtils.toJsonString(params); 44 | } catch (Exception e) { 45 | e.printStackTrace(); 46 | } 47 | return "[]"; 48 | } 49 | 50 | private List toObject(String content) { 51 | if (content != null && !content.isEmpty()) { 52 | try { 53 | return GsonUtils.toList(content, String.class); 54 | } catch (Exception e) { 55 | throw new RuntimeException(e); 56 | } 57 | } else { 58 | return null; 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtActivityMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtActivityPlanConfigMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtActivityPlanMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtAdminMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtAllocationMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtAssignMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtCertificateHashMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtCertificateMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtDonateDetailMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtDonateFlowMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtDonatoryMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtDonorMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtDrawDonateDetailRelMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtDrawRecordDetailMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtDrawRecordFlowMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtDrawRecordMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-core/src/main/resources/mybatis/bcd/ext/ExtPlanAllocationRelMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bcd-donate/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | ty-donation 10 | com.baidu.mapp.bcd 11 | 1.0.0-SNAPSHOT 12 | 13 | 4.0.0 14 | 15 | bcd-donate 16 | 捐赠系统 17 | 18 | 19 | 20 | org.springframework.boot 21 | spring-boot-starter-web 22 | 23 | 24 | spring-boot-starter-logging 25 | org.springframework.boot 26 | 27 | 28 | 29 | 30 | org.springframework.boot 31 | spring-boot-starter-log4j2 32 | 33 | 34 | com.lmax 35 | disruptor 36 | 37 | 38 | 39 | org.springframework.boot 40 | spring-boot-starter-actuator 41 | 42 | 43 | 44 | com.baidu.mapp.bcd 45 | bcd-core 46 | 47 | 48 | 49 | org.springdoc 50 | springdoc-openapi-ui 51 | 52 | 53 | junit 54 | junit 55 | 4.13 56 | test 57 | 58 | 59 | 60 | 61 | 62 | 63 | org.springframework.boot 64 | spring-boot-maven-plugin 65 | 66 | com.baidu.mapp.bcd.DonorApplication 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /bcd-donate/src/main/java/com/baidu/mapp/bcd/DonorApplication.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd; 2 | 3 | import org.apache.logging.log4j.core.async.AsyncLoggerContextSelector; 4 | import org.mybatis.spring.annotation.MapperScan; 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | import org.springframework.boot.WebApplicationType; 8 | import org.springframework.boot.autoconfigure.SpringBootApplication; 9 | import org.springframework.boot.builder.SpringApplicationBuilder; 10 | import org.springframework.scheduling.annotation.EnableScheduling; 11 | import org.springframework.transaction.annotation.EnableTransactionManagement; 12 | 13 | @SpringBootApplication(scanBasePackages = {"com.baidu.mapp.bcd"}) 14 | @MapperScan(annotationClass = org.apache.ibatis.annotations.Mapper.class, basePackages = "com.baidu.mapp.bcd.dao") 15 | @EnableTransactionManagement 16 | @EnableScheduling 17 | public class DonorApplication { 18 | static { 19 | System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"); 20 | } 21 | private static final Logger LOGGER = LoggerFactory.getLogger(DonorApplication.class); 22 | public static void main(String[] args) { 23 | LOGGER.info("is async logger: {}", AsyncLoggerContextSelector.isSelected()); 24 | System.out.println("is async logger: " + AsyncLoggerContextSelector.isSelected()); 25 | new SpringApplicationBuilder() 26 | .sources(DonorApplication.class) 27 | .web(WebApplicationType.SERVLET) 28 | .registerShutdownHook(true) 29 | .build().run(args); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /bcd-recipients/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | ty-donation 10 | com.baidu.mapp.bcd 11 | 1.0.0-SNAPSHOT 12 | 13 | 4.0.0 14 | 15 | bcd-recipients 16 | 领取系统 17 | 18 | 19 | org.springframework.boot 20 | spring-boot-starter-web 21 | 22 | 23 | spring-boot-starter-logging 24 | org.springframework.boot 25 | 26 | 27 | 28 | 29 | org.springframework.boot 30 | spring-boot-starter-log4j2 31 | 32 | 33 | com.lmax 34 | disruptor 35 | 36 | 37 | 38 | org.springframework.boot 39 | spring-boot-starter-actuator 40 | 41 | 42 | 43 | com.baidu.mapp.bcd 44 | bcd-core 45 | 46 | 47 | 48 | org.springdoc 49 | springdoc-openapi-ui 50 | 51 | 52 | junit 53 | junit 54 | 4.13 55 | test 56 | 57 | 58 | 59 | 60 | 61 | 62 | org.springframework.boot 63 | spring-boot-maven-plugin 64 | 65 | com.baidu.mapp.bcd.DonatoryApplication 66 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /bcd-recipients/src/main/java/com/baidu/mapp/bcd/DonatoryApplication.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd; 2 | 3 | import org.apache.logging.log4j.core.async.AsyncLoggerContextSelector; 4 | import org.mybatis.spring.annotation.MapperScan; 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | import org.springframework.boot.WebApplicationType; 8 | import org.springframework.boot.autoconfigure.SpringBootApplication; 9 | import org.springframework.boot.builder.SpringApplicationBuilder; 10 | import org.springframework.scheduling.annotation.EnableScheduling; 11 | import org.springframework.transaction.annotation.EnableTransactionManagement; 12 | 13 | @SpringBootApplication(scanBasePackages = {"com.baidu.mapp.bcd"}) 14 | @MapperScan(annotationClass = org.apache.ibatis.annotations.Mapper.class, basePackages = "com.baidu.mapp.bcd.dao") 15 | @EnableTransactionManagement 16 | @EnableScheduling 17 | public class DonatoryApplication { 18 | static { 19 | System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"); 20 | } 21 | private static final Logger LOGGER = LoggerFactory.getLogger(DonatoryApplication.class); 22 | public static void main(String[] args) { 23 | LOGGER.info("is async logger: {}", AsyncLoggerContextSelector.isSelected()); 24 | System.out.println("is async logger: " + AsyncLoggerContextSelector.isSelected()); 25 | new SpringApplicationBuilder() 26 | .sources(DonatoryApplication.class) 27 | .web(WebApplicationType.SERVLET) 28 | .registerShutdownHook(true) 29 | .build().run(args); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /bcd-supervision/dependency-reduced-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | bc-donate 5 | com.baidu.mapp.bcd 6 | 1.0.0-SNAPSHOT 7 | 8 | 4.0.0 9 | bcd-app 10 | 11 | 12 | 13 | org.springframework.boot 14 | spring-boot-maven-plugin 15 | 16 | 17 | 18 | repackage 19 | 20 | 21 | 22 | 23 | com.baidu.mapp.bcd.OpenApplication 24 | 25 | 26 | 27 | 28 | 29 | 30 | org.springframework.boot 31 | spring-boot-starter-web 32 | 2.1.7.RELEASE 33 | provided 34 | 35 | 36 | spring-boot-starter-logging 37 | org.springframework.boot 38 | 39 | 40 | 41 | 42 | org.springframework.boot 43 | spring-boot-starter-log4j2 44 | 2.1.7.RELEASE 45 | provided 46 | 47 | 48 | com.lmax 49 | disruptor 50 | 3.4.2 51 | provided 52 | 53 | 54 | org.springframework.boot 55 | spring-boot-starter-actuator 56 | 2.1.7.RELEASE 57 | provided 58 | 59 | 60 | com.baidu.mapp.bcd 61 | bcd-core 62 | 1.0.0-SNAPSHOT 63 | provided 64 | 65 | 66 | org.springdoc 67 | springdoc-openapi-ui 68 | 1.4.3 69 | provided 70 | 71 | 72 | org.projectlombok 73 | lombok 74 | 1.18.12 75 | provided 76 | 77 | 78 | org.apache.commons 79 | commons-lang3 80 | 3.10 81 | provided 82 | 83 | 84 | com.google.guava 85 | guava 86 | 29.0-jre 87 | provided 88 | 89 | 90 | com.google.code.gson 91 | gson 92 | 2.8.6 93 | provided 94 | 95 | 96 | org.slf4j 97 | slf4j-api 98 | 1.7.30 99 | provided 100 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /bcd-supervision/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | ty-donation 10 | com.baidu.mapp.bcd 11 | 1.0.0-SNAPSHOT 12 | 13 | 4.0.0 14 | 15 | bcd-supervision 16 | 监管系统 17 | 18 | 19 | 20 | org.springframework.boot 21 | spring-boot-starter-web 22 | 23 | 24 | spring-boot-starter-logging 25 | org.springframework.boot 26 | 27 | 28 | 29 | 30 | org.springframework.boot 31 | spring-boot-starter-log4j2 32 | 33 | 34 | com.lmax 35 | disruptor 36 | 37 | 38 | 39 | org.springframework.boot 40 | spring-boot-starter-actuator 41 | 42 | 43 | 44 | com.baidu.mapp.bcd 45 | bcd-core 46 | 47 | 48 | 49 | org.springdoc 50 | springdoc-openapi-ui 51 | 52 | 53 | junit 54 | junit 55 | 4.13 56 | test 57 | 58 | 59 | 60 | 61 | 62 | 63 | org.springframework.boot 64 | spring-boot-maven-plugin 65 | 66 | com.baidu.mapp.bcd.OpenApplication 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /bcd-supervision/src/main/java/com/baidu/mapp/bcd/OpenApplication.java: -------------------------------------------------------------------------------- 1 | package com.baidu.mapp.bcd; 2 | 3 | import org.apache.logging.log4j.core.async.AsyncLoggerContextSelector; 4 | import org.mybatis.spring.annotation.MapperScan; 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | import org.springframework.boot.WebApplicationType; 8 | import org.springframework.boot.autoconfigure.SpringBootApplication; 9 | import org.springframework.boot.builder.SpringApplicationBuilder; 10 | import org.springframework.scheduling.annotation.EnableScheduling; 11 | import org.springframework.transaction.annotation.EnableTransactionManagement; 12 | 13 | @SpringBootApplication(scanBasePackages = {"com.baidu.mapp.bcd"}) 14 | @MapperScan(annotationClass = org.apache.ibatis.annotations.Mapper.class, basePackages = "com.baidu.mapp.bcd.dao") 15 | @EnableTransactionManagement 16 | @EnableScheduling 17 | public class OpenApplication { 18 | static { 19 | System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"); 20 | } 21 | private static final Logger LOGGER = LoggerFactory.getLogger(OpenApplication.class); 22 | public static void main(String[] args) { 23 | LOGGER.info("is async logger: {}", AsyncLoggerContextSelector.isSelected()); 24 | System.out.println("is async logger: " + AsyncLoggerContextSelector.isSelected()); 25 | new SpringApplicationBuilder() 26 | .sources(OpenApplication.class) 27 | .web(WebApplicationType.SERVLET) 28 | .registerShutdownHook(true) 29 | .build().run(args); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /bcd-supervision/src/main/java/com/baidu/mapp/bcd/config/Swagger2.java: -------------------------------------------------------------------------------- 1 | // 2 | //package com.baidu.mapp.bcd.config; 3 | // 4 | //import java.util.Arrays; 5 | //import java.util.List; 6 | // 7 | //import org.springframework.context.annotation.Bean; 8 | //import org.springframework.context.annotation.Configuration; 9 | // 10 | //import springfox.documentation.builders.ApiInfoBuilder; 11 | //import springfox.documentation.builders.PathSelectors; 12 | //import springfox.documentation.builders.RequestHandlerSelectors; 13 | //import springfox.documentation.service.ApiInfo; 14 | //import springfox.documentation.service.ApiKey; 15 | //import springfox.documentation.service.AuthorizationScope; 16 | //import springfox.documentation.service.Contact; 17 | //import springfox.documentation.service.SecurityReference; 18 | //import springfox.documentation.spi.DocumentationType; 19 | //import springfox.documentation.spi.service.contexts.SecurityContext; 20 | //import springfox.documentation.spring.web.plugins.Docket; 21 | //import springfox.documentation.swagger2.annotations.EnableSwagger2; 22 | // 23 | //@Configuration 24 | //@EnableSwagger2 25 | //public class Swagger2 { 26 | // 27 | // @Bean 28 | // public Docket createRestApi() { 29 | // return new Docket(DocumentationType.SWAGGER_2) 30 | // .useDefaultResponseMessages(false) 31 | // .apiInfo(apiInfo()) 32 | // .select() 33 | // .apis(RequestHandlerSelectors.basePackage("com.baidu.mapp.bcd")) 34 | // .paths(PathSelectors.any()) 35 | // .build(); 36 | // } 37 | // 38 | // private ApiInfo apiInfo() { 39 | // return new ApiInfoBuilder() 40 | // .title("捐赠溯源平台 RESTful APIs") 41 | // .description("捐赠溯源平台api接口文档") 42 | // .version("1.0.0") 43 | // .build(); 44 | // } 45 | //} 46 | -------------------------------------------------------------------------------- /bcd-supervision/src/main/java/com/baidu/mapp/bcd/config/WebMvcConfig.java: -------------------------------------------------------------------------------- 1 | 2 | 3 | package com.baidu.mapp.bcd.config; 4 | 5 | import java.util.Arrays; 6 | import java.util.List; 7 | 8 | import org.slf4j.Logger; 9 | import org.slf4j.LoggerFactory; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.beans.factory.annotation.Value; 12 | import org.springframework.boot.web.servlet.FilterRegistrationBean; 13 | import org.springframework.context.annotation.Bean; 14 | import org.springframework.context.annotation.Configuration; 15 | import org.springframework.core.Ordered; 16 | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 17 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 18 | 19 | import com.baidu.mapp.bcd.filter.CrossDomainFilter; 20 | import com.baidu.mapp.bcd.service.AdminService; 21 | import com.baidu.mapp.bcd.service.DonatoryService; 22 | import com.baidu.mapp.bcd.service.DonorService; 23 | 24 | /** 25 | * TODO NOTICE : WebMvcConfigurationSupport 接口会导致静态首页失效(addViewControllers), 26 | * 但是WebMvcConfigurerAdapter接口不会 27 | */ 28 | @Configuration 29 | public class WebMvcConfig implements WebMvcConfigurer { 30 | 31 | private static final Logger LOGGER = LoggerFactory.getLogger(WebMvcConfig.class); 32 | private static final String CROSS_FILTER_NAME = "crossDomainFilter"; 33 | private static final String USERAUTH_FILTER_NAME = "userAuthFilter"; 34 | 35 | @Value("${bcd.noauths:axs}") 36 | private List noAuths; 37 | 38 | @Autowired 39 | private DonorService donorService; 40 | 41 | @Autowired 42 | private DonatoryService donatoryService; 43 | 44 | @Autowired 45 | private AdminService adminService; 46 | 47 | @Override 48 | public void addResourceHandlers(ResourceHandlerRegistry registry) { 49 | registry.addResourceHandler("/**") 50 | .addResourceLocations("classpath:/static/"); 51 | registry.addResourceHandler("/js/**").addResourceLocations("classpath:/js/"); 52 | registry.addResourceHandler("swagger-ui.html") 53 | .addResourceLocations("classpath:/META-INF/resources/"); 54 | registry.addResourceHandler("/webjars/**") 55 | .addResourceLocations("classpath:/META-INF/resources/webjars/"); 56 | } 57 | 58 | @Bean 59 | public FilterRegistrationBean crossDomainFilter() { 60 | if (LOGGER.isInfoEnabled()) { 61 | LOGGER.info("注册CrossDomainFilter FilterRegistrationBean filterName={}", CROSS_FILTER_NAME); 62 | } 63 | FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); 64 | filterRegistrationBean.setName(CROSS_FILTER_NAME); 65 | filterRegistrationBean.setFilter(new CrossDomainFilter()); 66 | filterRegistrationBean.setOrder(Ordered.HIGHEST_PRECEDENCE); 67 | filterRegistrationBean.setUrlPatterns(Arrays.asList("/*")); 68 | return filterRegistrationBean; 69 | } 70 | 71 | @Bean 72 | public FilterRegistrationBean userAuthFilter() { 73 | if (LOGGER.isInfoEnabled()) { 74 | LOGGER.info("regist userAuthFilter FilterRegistrationBean filterName={}", USERAUTH_FILTER_NAME); 75 | } 76 | FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); 77 | filterRegistrationBean.setName(USERAUTH_FILTER_NAME); 78 | filterRegistrationBean.setFilter(new UserAuthFilter(noAuths, donorService, donatoryService, adminService)); 79 | filterRegistrationBean.setUrlPatterns(Arrays.asList("/*")); 80 | filterRegistrationBean.setOrder(Ordered.HIGHEST_PRECEDENCE + 101); 81 | return filterRegistrationBean; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /bcd-supervision/src/main/java/com/baidu/mapp/bcd/controller/CertificateController.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.controller; 5 | 6 | import org.apache.commons.lang3.StringUtils; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.web.bind.annotation.GetMapping; 9 | import org.springframework.web.bind.annotation.PathVariable; 10 | import org.springframework.web.bind.annotation.RequestMapping; 11 | import org.springframework.web.bind.annotation.RestController; 12 | 13 | import com.baidu.mapp.bcd.common.utils.digest.Digest; 14 | import com.baidu.mapp.bcd.domain.base.R; 15 | import com.baidu.mapp.bcd.service.ChainService; 16 | 17 | import io.swagger.v3.oas.annotations.media.Schema; 18 | 19 | @Schema(description = "证书查询", name = "CertificateController") 20 | @RestController 21 | @RequestMapping("/cert") 22 | public class CertificateController { 23 | 24 | @Autowired 25 | ChainService chainService; 26 | 27 | @Autowired 28 | Digest digest; 29 | 30 | @GetMapping("fetch/{certCode}") 31 | public R queryByCertCode(@PathVariable("certCode") String certCode) throws Exception { 32 | String res = chainService.readChain(certCode); 33 | if (StringUtils.isNotBlank(res)) { 34 | String[] split = res.split("\t"); 35 | String content = split[2]; 36 | 37 | String[] split1 = content.split(":"); 38 | return R.ok(digest.decryptDes(split1[1])); 39 | } 40 | return R.ok(""); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /bcd-supervision/src/main/java/com/baidu/mapp/bcd/filter/CrossDomainFilter.java: -------------------------------------------------------------------------------- 1 | 2 | package com.baidu.mapp.bcd.filter; 3 | 4 | import java.io.IOException; 5 | 6 | import javax.servlet.Filter; 7 | import javax.servlet.FilterChain; 8 | import javax.servlet.FilterConfig; 9 | import javax.servlet.ServletException; 10 | import javax.servlet.ServletRequest; 11 | import javax.servlet.ServletResponse; 12 | import javax.servlet.http.HttpServletRequest; 13 | import javax.servlet.http.HttpServletResponse; 14 | 15 | import org.springframework.http.HttpStatus; 16 | import org.springframework.web.bind.annotation.RequestMethod; 17 | 18 | public class CrossDomainFilter implements Filter { 19 | @Override 20 | public void init(FilterConfig filterConfig) throws ServletException { 21 | } 22 | 23 | @Override 24 | public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) 25 | throws IOException, ServletException { 26 | HttpServletResponse response = (HttpServletResponse) servletResponse; 27 | HttpServletRequest request = (HttpServletRequest) servletRequest; 28 | String requestOrigin = request.getHeader("Origin"); 29 | if (requestOrigin != null) { 30 | response.addHeader("Access-Control-Allow-Origin", requestOrigin); 31 | } 32 | response.addHeader("Access-Control-Allow-Credentials", "true"); 33 | response.addHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS"); 34 | if (request.getMethod().equals(RequestMethod.OPTIONS.name())) { 35 | response.setStatus(HttpStatus.NO_CONTENT.value()); 36 | return; 37 | } 38 | filterChain.doFilter(servletRequest, servletResponse); 39 | } 40 | 41 | @Override 42 | public void destroy() { 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /bcd-supervision/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | # 日志环境 2 | log: 3 | env: dev 4 | 5 | # actuator 默认关闭 6 | # https://xz.aliyun.com/t/2233 7 | management: 8 | endpoints: 9 | enabled-by-default: false 10 | sys: 11 | # 权限描述注释 12 | permissions-desc-packages-scan: 13 | - com.baidu.mapp.bcd 14 | 15 | spring: 16 | datasource: 17 | name: exhibition-datasource 18 | driver-class-name: com.mysql.jdbc.Driver 19 | url: jdbc:mysql://${db.ip}:3306/bcdonate?useSSL=false&zeroDateTimeBehavior=convertToNull 20 | password: ${db.password} 21 | username: ${db.username} 22 | type: com.zaxxer.hikari.HikariDataSource 23 | hikari: 24 | allow-pool-suspension: false 25 | connection-timeout: 30000 26 | idle-timeout: 600000 27 | max-lifetime: 1800000 28 | mybatis: 29 | mapper-locations: classpath*:mybatis/**/*.xml 30 | configuration: 31 | default-statement-timeout: 60 32 | 33 | swagger: 34 | show: true 35 | -------------------------------------------------------------------------------- /bcd-supervision/src/main/resources/log4j2.component.properties: -------------------------------------------------------------------------------- 1 | # https://logging.apache.org/log4j/2.x/manual/configuration.html#asyncQueueFullPolicy 2 | # https://logging.apache.org/log4j/2.x/manual/async.html#AllAsync 3 | log4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector 4 | log4j2.asyncLoggerRingBufferSize=262144 5 | log4j2.asyncLoggerWaitStrategy=Sleep 6 | AsyncLogger.SynchronizeEnqueueWhenQueueFull=false 7 | log4j2.asyncQueueFullPolicy=Discard 8 | log4j2.discardThreshold=OFF 9 | -------------------------------------------------------------------------------- /bcd-supervision/src/test/java/com/baidu/mapp/bcd/service/ChainServiceTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020 Baidu, Inc. All Rights Reserved. 3 | */ 4 | package com.baidu.mapp.bcd.service; 5 | 6 | import java.util.Map; 7 | import java.util.regex.Matcher; 8 | import java.util.regex.Pattern; 9 | 10 | import org.junit.Test; 11 | 12 | import com.baidu.mapp.bcd.common.utils.digest.Digest; 13 | 14 | public class ChainServiceTest { 15 | 16 | public String placeHolder(String content, Map map) { 17 | if (content == null) { 18 | return null; 19 | } 20 | StringBuilder sb = new StringBuilder(); 21 | char[] a = content.toCharArray(); 22 | int len = a.length; 23 | int start = 0; 24 | int end = 0; 25 | while (start < len) { 26 | int begin = -1; 27 | while (start+1 < len && (a[start] != '$' || a[start+1] != '{' )) { 28 | start ++; 29 | } 30 | if (start+1 < len && a[start+1] == '{') { 31 | begin = start; 32 | start ++; 33 | } 34 | while (start < len && a[start] != '}') { 35 | start ++; 36 | } 37 | if (begin == -1) { 38 | // 没有找到 39 | sb.append(a, end, len - end); 40 | return sb.toString(); 41 | } 42 | if (start < len) { 43 | String key = new String(a, begin + 2, start - begin - 2); 44 | if (key != null) { 45 | key = key.trim(); 46 | if (map.containsKey(key)) { 47 | String value = map.get(key); 48 | sb.append(a, end, begin - end); 49 | sb.append(value); 50 | } else { 51 | sb.append(a, end, start - end + 1); 52 | } 53 | end = start + 1; 54 | } 55 | } else { 56 | sb.append(a, end, len - end); 57 | return sb.toString(); 58 | } 59 | 60 | start ++; 61 | } 62 | 63 | return sb.toString(); 64 | } 65 | 66 | Pattern p = Pattern.compile("\\$\\{\\w+\\}"); 67 | public String processTemplate(String template, Map params) { 68 | if (template == null || params == null) 69 | return null; 70 | StringBuffer sb = new StringBuffer(); 71 | Matcher m = p.matcher(template); 72 | while (m.find()) { 73 | String param = m.group(); 74 | Object value = params.get(param.substring(2, param.length() - 1)); 75 | m.appendReplacement(sb, value == null ? "" : value.toString()); 76 | } 77 | m.appendTail(sb); 78 | return sb.toString(); 79 | } 80 | 81 | 82 | @Test 83 | public void testSha1() throws Exception { 84 | Digest in = Digest.getInstance("donate1234567890"); 85 | String s = in.encryptDes("曾庆勇"); 86 | 87 | System.out.println("encryptDes:" + s); 88 | 89 | String s1 = in.decryptDes(s); 90 | System.out.println("decryptDes: " + s1); 91 | 92 | } 93 | 94 | } 95 | 96 | -------------------------------------------------------------------------------- /deploy/supervision.sh: -------------------------------------------------------------------------------- 1 | scp ../bcd-supervision/target/bcd-supervision-1.0.0-SNAPSHOT.jar root@122.112.158.98:/root/apps/bcd/jar/ 2 | ssh root@122.112.158.98 "/usr/bin/sh /root/apps/bcd/start-supervision.sh" 3 | -------------------------------------------------------------------------------- /doc/1689045F-8E50-4DF5-B581-B4B6EF82B1A9.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghzengqy568/ty-donation/4c5d2c7bfc13718bf4d6d05109180480c9c632aa/doc/1689045F-8E50-4DF5-B581-B4B6EF82B1A9.JPG -------------------------------------------------------------------------------- /doc/contact.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghzengqy568/ty-donation/4c5d2c7bfc13718bf4d6d05109180480c9c632aa/doc/contact.JPG -------------------------------------------------------------------------------- /doc/data_upload.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghzengqy568/ty-donation/4c5d2c7bfc13718bf4d6d05109180480c9c632aa/doc/data_upload.JPG -------------------------------------------------------------------------------- /doc/er.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghzengqy568/ty-donation/4c5d2c7bfc13718bf4d6d05109180480c9c632aa/doc/er.JPG -------------------------------------------------------------------------------- /doc/flow_upload.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghzengqy568/ty-donation/4c5d2c7bfc13718bf4d6d05109180480c9c632aa/doc/flow_upload.JPG -------------------------------------------------------------------------------- /doc/proto_func.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ghzengqy568/ty-donation/4c5d2c7bfc13718bf4d6d05109180480c9c632aa/doc/proto_func.JPG --------------------------------------------------------------------------------