diff --git a/han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java b/han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java index 3bd4e4c..f371375 100644 --- a/han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java +++ b/han-hai-module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java @@ -99,13 +99,15 @@ public class MpWxPayService { request.setTotalFee(price); //总金额|分计 request.setSpbillCreateIp(clientIp); //终端IP // request.setNotifyUrl(wxPay.notifyUrl);//设置回调路径 - request.setNotifyUrl("https://tai-testapi.sanhemovie.com/massage-api/post/notify");//设置回调路径 + request.setNotifyUrl("https://assessment.augcl.com/assessment-admin/assessment/exam/payOrderNotify");//设置回调路径 + //request.setNotifyUrl("http://augcl.natapp1.cc/assessment-admin/assessment/exam/payOrderNotify");//设置回调路径 request.setProductId(productId); //商品id request.setOpenid(openId); //JSAPI OPENID if (dev){ request.setTotalFee(price); // request.setNotifyUrl(wxPay.notifyUrlDev); - request.setNotifyUrl("https://tai-testapi.sanhemovie.com/massage-api/post/notify");//设置回调路径 + request.setNotifyUrl("https://assessment.augcl.com/assessment-admin/assessment/exam/payOrderNotify");//设置回调路径 + //request.setNotifyUrl("http://augcl.natapp1.cc/assessment-admin/assessment/exam/payOrderNotify");//设置回调路径 } try { Object order = wxPayService.createOrder(request); diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/controller/AssessmentCodeController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/controller/AssessmentCodeController.java index 66c8384..018509c 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/controller/AssessmentCodeController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/controller/AssessmentCodeController.java @@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: 兑换码信息表 * @Author: jeecg-boot - * @Date: 2025-09-19 + * @Date: 2025-09-29 * @Version: V1.0 */ @Api(tags="兑换码信息表") diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/entity/AssessmentCode.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/entity/AssessmentCode.java index 36f2595..c1a4110 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/entity/AssessmentCode.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/entity/AssessmentCode.java @@ -20,7 +20,7 @@ import lombok.experimental.Accessors; /** * @Description: 兑换码信息表 * @Author: jeecg-boot - * @Date: 2025-09-19 + * @Date: 2025-09-29 * @Version: V1.0 */ @Data @@ -60,6 +60,10 @@ public class AssessmentCode implements Serializable { @Dict(dicCode = "is_true") @ApiModelProperty(value = "是否已使用") private java.lang.String isUse; + /**使用时间*/ + @Excel(name = "使用时间", width = 15) + @ApiModelProperty(value = "使用时间") + private java.util.Date useTime; /**使用批次号*/ @Excel(name = "使用批次号", width = 15) @ApiModelProperty(value = "使用批次号") diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/mapper/AssessmentCodeMapper.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/mapper/AssessmentCodeMapper.java index 55668fa..d6223e8 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/mapper/AssessmentCodeMapper.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/mapper/AssessmentCodeMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 兑换码信息表 * @Author: jeecg-boot - * @Date: 2025-09-19 + * @Date: 2025-09-29 * @Version: V1.0 */ public interface AssessmentCodeMapper extends BaseMapper { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/service/IAssessmentCodeService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/service/IAssessmentCodeService.java index 2478290..e882159 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/service/IAssessmentCodeService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/service/IAssessmentCodeService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 兑换码信息表 * @Author: jeecg-boot - * @Date: 2025-09-19 + * @Date: 2025-09-29 * @Version: V1.0 */ public interface IAssessmentCodeService extends IService { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/service/impl/AssessmentCodeServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/service/impl/AssessmentCodeServiceImpl.java index 0c9d170..f7fb764 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/service/impl/AssessmentCodeServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/service/impl/AssessmentCodeServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 兑换码信息表 * @Author: jeecg-boot - * @Date: 2025-09-19 + * @Date: 2025-09-29 * @Version: V1.0 */ @Service diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue/AssessmentCodeList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue/AssessmentCodeList.vue index 944c443..1a21078 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue/AssessmentCodeList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue/AssessmentCodeList.vue @@ -137,6 +137,11 @@ align:"center", dataIndex: 'isUse_dictText' }, + { + title:'使用时间', + align:"center", + dataIndex: 'useTime' + }, { title:'使用批次号', align:"center", @@ -184,6 +189,7 @@ fieldList.push({type:'string',value:'code',text:'兑换码',dictCode:''}) fieldList.push({type:'BigDecimal',value:'discountAmount',text:'抵扣金额',dictCode:''}) fieldList.push({type:'string',value:'isUse',text:'是否已使用',dictCode:'is_true'}) + fieldList.push({type:'datetime',value:'useTime',text:'使用时间'}) fieldList.push({type:'string',value:'batchNo',text:'使用批次号',dictCode:''}) fieldList.push({type:'sel_search',value:'userId',text:'使用用户',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'}) this.superFieldList = fieldList diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue/modules/AssessmentCodeForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue/modules/AssessmentCodeForm.vue index 2b72dad..7cb8fc2 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue/modules/AssessmentCodeForm.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue/modules/AssessmentCodeForm.vue @@ -13,21 +13,6 @@ - - - - - - - - - - - - - - - diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue3/AssessmentCode.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue3/AssessmentCode.data.ts index c7ca601..05daa65 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue3/AssessmentCode.data.ts +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/assessmentCode/vue3/AssessmentCode.data.ts @@ -19,6 +19,11 @@ export const columns: BasicColumn[] = [ align:"center", dataIndex: 'isUse_dictText' }, + { + title: '使用时间', + align:"center", + dataIndex: 'useTime' + }, { title: '使用批次号', align:"center", @@ -45,25 +50,4 @@ export const formSchema: FormSchema[] = [ field: 'discountAmount', component: 'InputNumber', }, - { - label: '是否已使用', - field: 'isUse', - component: 'JDictSelectTag', - componentProps:{ - dictCode:"is_true" - }, - }, - { - label: '使用批次号', - field: 'batchNo', - component: 'Input', - }, - { - label: '使用用户', - field: 'userId', - component: 'JSearchSelect', - componentProps:{ - dict:"han_hai_member,nick_name,id" - }, - }, ]; diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ConfigController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ConfigController.java index 85b03c9..5a5f766 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ConfigController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ConfigController.java @@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.math.BigDecimal; @Api(tags="系统配置-相关接口") @RestController @@ -25,6 +26,12 @@ public class ConfigController { private ConfigService configService; /******************************************************************************************************************/ + @ApiOperation(value="首页-查询banner图列表", notes="type:0-首页") + @RequestMapping(value = "/queryBannerList", method = {RequestMethod.GET}) + public Result queryBannerList(AssessmentBanner assessmentBanner, PageBean pageBean){ + return configService.queryBannerList(assessmentBanner, pageBean); + } + //查看系统配置列表 @ApiOperation(value="系统配置-查询系统配置列表", notes="系统配置-查询系统配置列表") @RequestMapping(value = "/queryConfigList", method = {RequestMethod.GET}) @@ -39,10 +46,11 @@ public class ConfigController { return configService.queryConfigByParamCode(paramCode); } - @ApiOperation(value="首页-查询banner图列表", notes="type:0-首页") - @RequestMapping(value = "/queryBannerList", method = {RequestMethod.GET}) - public Result queryBannerList(AssessmentBanner assessmentBanner, PageBean pageBean){ - return configService.queryBannerList(assessmentBanner, pageBean); + + @ApiOperation(value="系统配置-生成兑换码", notes="系统配置-生成兑换码") + @RequestMapping(value = "/generateCode", method = {RequestMethod.POST}) + public Result generateCode(int num, BigDecimal discountAmount){ + return configService.generateCode(num, discountAmount); } } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ExamController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ExamController.java index 3ace238..8cbaba3 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ExamController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/assessmentController/ExamController.java @@ -59,6 +59,13 @@ public class ExamController { return examService.queryExamById(token, examId); } + //支付-查询兑换码 + @ApiOperation(value="支付-查询兑换码", notes="支付-查询兑换码") + @RequestMapping(value = "/queryCodeById", method = {RequestMethod.GET}) + public Result queryCodeById(String code){ + return examService.queryCodeById(code); + } + //支付-创建订单 @ApiOperation(value="支付-立即支付(创建订单)", notes="支付-立即支付(创建订单)") @RequestMapping(value = "/createOrder", method = {RequestMethod.POST}) diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ConfigService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ConfigService.java index 08aa6f0..750f026 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ConfigService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ConfigService.java @@ -7,15 +7,20 @@ import org.jeecg.modules.assessmentBanner.entity.AssessmentBanner; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import java.math.BigDecimal; + public interface ConfigService { + //首页-查询banner图列表 + public Result queryBannerList(AssessmentBanner assessmentBanner, PageBean pageBean); + //查询系统配置列表 public Result queryConfigList(PageBean pageBean); //查询系统配置详情 public Result queryConfigByParamCode(String paramCode); - //首页-查询banner图列表 - public Result queryBannerList(AssessmentBanner assessmentBanner, PageBean pageBean); + //系统配置-生成兑换码 + public Result generateCode(int num, BigDecimal discountAmount); } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ExamService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ExamService.java index 4816dfa..bae9eb4 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ExamService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/ExamService.java @@ -25,6 +25,9 @@ public interface ExamService { //测评-继续答题 public Result queryExamById(String token, String examId); + //支付-查询兑换码 + public Result queryCodeById(String code); + //支付-创建订单 public Result createOrder(String token, AssessmentPayLog assessmentPayLog); diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ConfigServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ConfigServiceImpl.java index 8dc5db1..cc40150 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ConfigServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ConfigServiceImpl.java @@ -1,5 +1,6 @@ package org.jeecg.modules.api.service.impl; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; @@ -9,11 +10,16 @@ import org.jeecg.modules.api.bean.PageBean; import org.jeecg.modules.api.service.ConfigService; import org.jeecg.modules.assessmentBanner.entity.AssessmentBanner; import org.jeecg.modules.assessmentBanner.service.IAssessmentBannerService; +import org.jeecg.modules.assessmentCode.entity.AssessmentCode; +import org.jeecg.modules.assessmentCode.service.IAssessmentCodeService; import org.jeecg.modules.assessmentConfig.entity.AssessmentConfig; import org.jeecg.modules.assessmentConfig.service.IAssessmentConfigService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; @Service @Slf4j @@ -26,8 +32,55 @@ public class ConfigServiceImpl implements ConfigService { //轮播图信息 @Resource private IAssessmentBannerService assessmentBannerService; + //兑换码信息 + @Resource + private IAssessmentCodeService assessmentCodeService; /******************************************************************************************************************/ + //首页-查询banner图列表 + @Override + public Result queryBannerList(AssessmentBanner assessmentBanner, PageBean pageBean) { + log.info("开始查询轮播图列表"); + //返回信息 + String massege = ""; + //分页信息 + Page page = null; + //查询信息 + LambdaQueryChainWrapper query = null; + //返回信息 + Page pageList = null; + + try{ + //分页 + page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); + query = assessmentBannerService + .lambdaQuery(); + + //组装查询条件 + if(StringUtils.isNotBlank(assessmentBanner.getTitle())){ + //标题 + query.like(AssessmentBanner::getTitle, assessmentBanner.getTitle()); + } + if(StringUtils.isNotBlank(assessmentBanner.getType())){ + //分类 + query.eq(AssessmentBanner::getType, assessmentBanner.getType()); + } + + //按照排序编号升序排列 + query.orderByAsc(AssessmentBanner::getOrderNo); + + //获取轮播图列表 + pageList = query.page(page); + + log.info("轮播图列表查询结束"); + return Result.OK("轮播图列表", pageList); + }catch (Exception e){ + log.info("轮播图列表查询失败"); + e.printStackTrace(); + return Result.error("轮播图列表查询失败"); + } + } + //查询系统配置列表 @Override public Result queryConfigList(PageBean pageBean) { @@ -85,48 +138,45 @@ public class ConfigServiceImpl implements ConfigService { } } - //首页-查询banner图列表 + //系统配置-生成兑换码 @Override - public Result queryBannerList(AssessmentBanner assessmentBanner, PageBean pageBean) { - log.info("开始查询轮播图列表"); + public Result generateCode(int num, BigDecimal discountAmount) { + log.info("开始查询系统配置详情"); //返回信息 String massege = ""; - //分页信息 - Page page = null; - //查询信息 - LambdaQueryChainWrapper query = null; - //返回信息 - Page pageList = null; try{ - //分页 - page = new Page(pageBean.getPageNo(), pageBean.getPageSize()); - query = assessmentBannerService - .lambdaQuery(); - - //组装查询条件 - if(StringUtils.isNotBlank(assessmentBanner.getTitle())){ - //标题 - query.like(AssessmentBanner::getTitle, assessmentBanner.getTitle()); - } - if(StringUtils.isNotBlank(assessmentBanner.getType())){ - //分类 - query.eq(AssessmentBanner::getType, assessmentBanner.getType()); + boolean result = false; + if(num > 0){ + List assessmentCodeList = new ArrayList<>(); + for (int i = 0; i < num; i++) { + AssessmentCode assessmentCode = new AssessmentCode(); + String code = "RA" + IdWorker.getIdStr();//生成兑换码 + assessmentCode.setCode(code); + assessmentCode.setDiscountAmount(discountAmount); + assessmentCodeList.add(assessmentCode); + } + + result = assessmentCodeService.saveBatch(assessmentCodeList); + + }else { + return Result.error("请输入生成数量"); } - //按照排序编号升序排列 - query.orderByAsc(AssessmentBanner::getOrderNo); - - //获取轮播图列表 - pageList = query.page(page); + if(result){ + log.info("兑换码生成成功"); + return Result.OK("兑换码生成成功"); + }else { + log.info("兑换码生成失败"); + return Result.OK("兑换码生成失败"); + } - log.info("轮播图列表查询结束"); - return Result.OK("轮播图列表", pageList); }catch (Exception e){ - log.info("轮播图列表查询失败"); + log.error("兑换码生成失败"); e.printStackTrace(); - return Result.error("轮播图列表查询失败"); + return Result.error("兑换码生成失败"); } } + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ExamServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ExamServiceImpl.java index d71ac9a..64334da 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ExamServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ExamServiceImpl.java @@ -16,6 +16,8 @@ import org.jeecg.modules.assessmentAnswerLog.entity.AssessmentAnswerLog; import org.jeecg.modules.assessmentAnswerLog.service.IAssessmentAnswerLogService; import org.jeecg.modules.assessmentCategory.entity.AssessmentCategory; import org.jeecg.modules.assessmentCategory.service.IAssessmentCategoryService; +import org.jeecg.modules.assessmentCode.entity.AssessmentCode; +import org.jeecg.modules.assessmentCode.service.IAssessmentCodeService; import org.jeecg.modules.assessmentConfig.entity.AssessmentConfig; import org.jeecg.modules.assessmentExamLog.entity.AssessmentExamLog; import org.jeecg.modules.assessmentExamLog.service.IAssessmentExamLogService; @@ -27,6 +29,8 @@ import org.jeecg.modules.assessmentQuestion.entity.AssessmentAnswer; import org.jeecg.modules.assessmentQuestion.entity.AssessmentQuestion; import org.jeecg.modules.assessmentQuestion.service.IAssessmentAnswerService; import org.jeecg.modules.assessmentQuestion.service.IAssessmentQuestionService; +import org.jeecg.modules.assessmentReportUser.entity.AssessmentReportUser; +import org.jeecg.modules.assessmentReportUser.service.IAssessmentReportUserService; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.jeecg.modules.pay.MpWxPayService; @@ -66,11 +70,17 @@ public class ExamServiceImpl implements ExamService { //用户测评答案记录信息 @Resource private IAssessmentAnswerLogService assessmentAnswerLogService; - //用户测评答案记录信息 + //用户测评信息 + @Resource + private IAssessmentReportUserService assessmentReportUserService; + //用户测评结果记录信息 @Resource private IAssessmentExamReportService assessmentExamReportService; //支付记录信息 @Resource + private IAssessmentCodeService assessmentCodeService; + //支付记录信息 + @Resource private IAssessmentPayLogService assessmentPayLogService; /******************************************************************************************************************/ @@ -265,6 +275,16 @@ public class ExamServiceImpl implements ExamService { } } + //剔除已经获取报告的答题 + List batchNos = new ArrayList<>(); + List reportList = assessmentReportUserService.lambdaQuery().eq(AssessmentReportUser::getUserId, hanHaiMember.getId()).list(); + for (AssessmentReportUser assessmentReportUser : reportList) { + batchNos.add(assessmentReportUser.getBatchNo()); + } + if(batchNos.size() > 0){ + query.notIn(AssessmentExamLog::getBatchNo, batchNos); + } + //随机排列 query.orderByDesc(AssessmentExamLog::getCreateTime); @@ -349,13 +369,52 @@ public class ExamServiceImpl implements ExamService { } } + //查询兑换码 + @Override + public Result queryCodeById(String code) { + log.info("开始查询兑换码详情"); + //返回信息 + String massege = ""; + + try{ + AssessmentCode assessmentCode = assessmentCodeService + .lambdaQuery() + .eq(AssessmentCode::getCode, code) + .eq(AssessmentCode::getIsUse, "0") + .one(); + if(null == assessmentCode){ + return Result.error("兑换码不存在或已被使用"); + } + + log.info("兑换码详情查询结束"); + return Result.OK("兑换码详情", assessmentCode); + }catch (Exception e){ + log.error("兑换码详情查询失败"); + e.printStackTrace(); + return Result.error("兑换码查询失败"); + } + } + //支付-创建订单 @Override public Result createOrder(String token, AssessmentPayLog assessmentPayLog) { //权限验证 HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token);//小程序权限验证 + //HanHaiMember hanHaiMember = hanHaiMemberService.getById(token); try{ + //如果有兑换码,判断兑换码是否可用 + if(StringUtils.isNotEmpty(assessmentPayLog.getCode())){ + AssessmentCode assessmentCode = assessmentCodeService + .lambdaQuery() + .eq(AssessmentCode::getCode, assessmentPayLog.getCode()) + .eq(AssessmentCode::getIsUse, "0") + .one(); + if(null == assessmentCode){ + return Result.error("兑换码不存在或已被使用"); + } + } + //订单信息 String payNo = IdWorker.getIdStr();//生成订单号 assessmentPayLog.setId(payNo); @@ -401,6 +460,16 @@ public class ExamServiceImpl implements ExamService { assessmentPayLog.setStatus("1");//订单状态 assessmentPayLog.setPayTime(CommonUtils.getCurrentTime());//订单支付时间 assessmentPayLogService.updateById(assessmentPayLog); + + //修改兑换码信息 + if(StringUtils.isNotEmpty(assessmentPayLog.getCode())){ + AssessmentCode code = assessmentCodeService.lambdaQuery().eq(AssessmentCode::getCode, assessmentPayLog.getCode()).one(); + code.setBatchNo(assessmentPayLog.getBatchNo()); + code.setIsUse("1"); + code.setUseTime(CommonUtils.getCurrentTime()); + code.setUserId(assessmentPayLog.getUserId()); + assessmentCodeService.updateById(code); + } } } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ReportServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ReportServiceImpl.java index da28a70..5570d4c 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ReportServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/service/impl/ReportServiceImpl.java @@ -170,10 +170,10 @@ public class ReportServiceImpl implements ReportService { map.put("pageList", pageList); //风险等级数量 - long level0Num = assessmentExamReportService.lambdaQuery().eq(AssessmentExamReport::getUserId, hanHaiMember.getId()).eq(AssessmentExamReport::getLevel, "0").count(); - long level1Num = assessmentExamReportService.lambdaQuery().eq(AssessmentExamReport::getUserId, hanHaiMember.getId()).eq(AssessmentExamReport::getLevel, "1").count(); - long level2Num = assessmentExamReportService.lambdaQuery().eq(AssessmentExamReport::getUserId, hanHaiMember.getId()).eq(AssessmentExamReport::getLevel, "2").count(); - long level3Num = assessmentExamReportService.lambdaQuery().eq(AssessmentExamReport::getUserId, hanHaiMember.getId()).eq(AssessmentExamReport::getLevel, "3").count(); + long level0Num = assessmentExamReportService.lambdaQuery().eq(AssessmentExamReport::getBatchNo, batchNo).eq(AssessmentExamReport::getUserId, hanHaiMember.getId()).eq(AssessmentExamReport::getLevel, "0").count(); + long level1Num = assessmentExamReportService.lambdaQuery().eq(AssessmentExamReport::getBatchNo, batchNo).eq(AssessmentExamReport::getUserId, hanHaiMember.getId()).eq(AssessmentExamReport::getLevel, "1").count(); + long level2Num = assessmentExamReportService.lambdaQuery().eq(AssessmentExamReport::getBatchNo, batchNo).eq(AssessmentExamReport::getUserId, hanHaiMember.getId()).eq(AssessmentExamReport::getLevel, "2").count(); + long level3Num = assessmentExamReportService.lambdaQuery().eq(AssessmentExamReport::getBatchNo, batchNo).eq(AssessmentExamReport::getUserId, hanHaiMember.getId()).eq(AssessmentExamReport::getLevel, "3").count(); map.put("level0Num", level0Num); map.put("level1Num", level1Num); map.put("level2Num", level2Num); diff --git a/jeecg-boot-module-system/src/main/resources/pay_weixin.properties b/jeecg-boot-module-system/src/main/resources/pay_weixin.properties index a3dec94..baf8d70 100644 --- a/jeecg-boot-module-system/src/main/resources/pay_weixin.properties +++ b/jeecg-boot-module-system/src/main/resources/pay_weixin.properties @@ -1,8 +1,8 @@ -pay.mchId=1681494138 -pay.appId=wx15be4225a7e41a1e +pay.mchId=1728609644 +pay.appId=wxb7de5370f825e878 pay.mchKey=0fdb77429ffdf206c151af76a663041c -pay.keyPath=classpath:apiclient_cert.pem -pay.notifyUrl=http://h5.xzaiyp.top/massage-api/post/create -pay.notifyUrlDev=http://h5.xzaiyp.top/massage-api/post/notify +pay.keyPath= +pay.notifyUrl= +pay.notifyUrlDev=