diff --git a/db/800pjcloudx_wallet.sql b/db/800pjcloudx_wallet.sql index 378dc1e2c..de2887da7 100644 --- a/db/800pjcloudx_wallet.sql +++ b/db/800pjcloudx_wallet.sql @@ -95,7 +95,7 @@ CREATE TABLE wallet_rule_price_config id bigint NOT NULL COMMENT '主键', rule_price_type varchar(64) NOT NULL COMMENT '规则类型', base_price bigint NOT NULL COMMENT '基础金额', - multiple bigint NOT NULL COMMENT '金额的倍数必须大于1', + multiple bigint NOT NULL COMMENT '额外支付的倍数', create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人', create_time datetime DEFAULT NULL COMMENT '创建时间', update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人', diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java index 54797610b..21d951643 100644 --- a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java +++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java @@ -7,8 +7,8 @@ import lombok.RequiredArgsConstructor; @Getter public enum MerchantTypeEnum { CANTEEN("1", "食堂"), - SUPERMARKET("3", "合作超市"), SELF_SUPERMARKET("2", "自营超市"), + SUPERMARKET("3", "合作超市"), ; /** diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/CurrentUserHardTypeInfoDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/CurrentUserHardTypeInfoDto.java index 6ba63a131..e8bf9c0ba 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/CurrentUserHardTypeInfoDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/hard/CurrentUserHardTypeInfoDto.java @@ -1,7 +1,6 @@ package com.bsd.pjcloud.hard.api.dto.hard; -import cn.hutool.core.util.ObjectUtil; -import com.bsd.pjcloud.hard.api.constant.HardTypeEnum; +import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; import lombok.Data; import java.util.ArrayList; @@ -29,10 +28,11 @@ public class CurrentUserHardTypeInfoDto { List list = new ArrayList<>(); if (isAll()) return list; if (this.getCanteenView() != null && this.getCanteenView()) { - list.add(HardTypeEnum.CANTEEN.getType()); + list.add(MerchantTypeEnum.CANTEEN.getType()); } if (this.getSupermarket() != null && this.getSupermarket()) { - list.add(HardTypeEnum.SUPERMARKET.getType()); + list.add(MerchantTypeEnum.SELF_SUPERMARKET.getType()); + list.add(MerchantTypeEnum.CANTEEN.getType()); } return list; } diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java index 8d913d157..b9cd8c701 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/HardOrderDto.java @@ -23,12 +23,12 @@ public class HardOrderDto extends HardOrderEntity implements BaseIsIncludeTreeIn private List hardIds; - private List hardTypeCodes; - private String hardTypeCode; private List mchIds; + private List mchTypeCodes; + private List orderStatusCodes; private LocalDate[] createTimeList; diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/order/HardOrderEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/order/HardOrderEntity.java index 446a6bcd8..211de98ff 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/order/HardOrderEntity.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/order/HardOrderEntity.java @@ -56,6 +56,13 @@ public class HardOrderEntity extends Model { @Schema(description = "商户id") private Long merchantId; + /** + * 商户类型 + */ + @Schema(description = "商户类型") + private String merchantType; + + /** * 设备id */ diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java index f4f388602..2f01ab08b 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardOrderVo.java @@ -40,6 +40,8 @@ public class HardOrderVo extends HardOrderEntity implements BaseUserInterface, B private String hardType; + private List hardTypeCodes; + /** * 购物车 */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 8c6e43c36..11194f570 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -155,7 +155,7 @@ public class HardOrderController { dataScope.setScopeDeptName("user_dept_id"); PjcloudUser user = SecurityUtils.getUser(); CurrentUserHardTypeInfoDto hardTypeInfo = hardManagerService.getCurrentUserHardTypeInfo(user); - dto.setHardTypeCodes(hardTypeInfo.getHardTypeList()); + dto.setMchTypeCodes(hardTypeInfo.getHardTypeList()); return R.ok(hardwareOrderService.scopePageList(page, dto, dataScope)); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index 5a97dc52a..ee045c4bb 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -264,6 +264,7 @@ public class HardOrderServiceImpl extends ServiceImpl carList = hardCarService.getByParentCarId(dto.getCarParentId()); if (ObjectUtil.isEmpty(carList)) throw new RuntimeException("购物车不存在"); @@ -327,6 +331,7 @@ public class HardOrderServiceImpl extends ServiceImpl + @@ -45,6 +46,7 @@ a.user_id, a.user_dept_id, a.merchant_id, + a.merchant_type, a.hard_id, a.dept_id, a.wallet_id, @@ -78,6 +80,9 @@ a.del_flag = '0' + + and a.merchant_type = #{dto.merchantType} + and a.hour_type = #{dto.hourType} @@ -174,6 +179,12 @@ #{v} + + and a.merchant_type in + + #{v} + + order by a.create_time desc, a.user_id desc diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java index 98161371f..c6ab6dcd3 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/impl/zy/ThirdZySelfServiceImpl.java @@ -137,32 +137,37 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService { refundDto.setSerialNum(dto.getSerialNum()); HardCallbackRefundVo refundRes = hardCallback.refund(refundDto).getData(); result.setCode(refundRes.getCode().getType()); + result.setCode(refundRes.getCode().getDescription()); + ZySelfPayVo zySelfPayVo = new ZySelfPayVo(); + // 人员编号 + ThirdZyIdDictEntity userIdDict = thirdZyIdDictMapper.getBySelfId(ThirdZyBizEnumType.SYNC_ACCOUNT_INFO, String.valueOf(refundRes.getUserId())); + String userZyId = userIdDict.getZyId(); + zySelfPayVo.setAccNum(userZyId); + zySelfPayVo.setAccName(refundRes.getUsername()); + zySelfPayVo.setPerCode(userZyId); + zySelfPayVo.setSerialNum(refundRes.getOrderNo()); + zySelfPayVo.setRecDate(LocalDateTimeUtil.format(refundRes.getRefundTime(), DatePattern.NORM_DATETIME_PATTERN)); switch (refundRes.getCode()) { case SUCCESS -> { - ThirdZyIdDictEntity userIdDict = thirdZyIdDictMapper.getBySelfId(ThirdZyBizEnumType.SYNC_ACCOUNT_INFO, String.valueOf(refundRes.getUserId())); - String userZyId = userIdDict.getZyId(); ZySelfPayVo success = new ZySelfPayVo(); - success.setAccNum(userZyId); - success.setAccName(refundRes.getUsername()); - success.setPerCode(userZyId); success.setPlatformSerialNum(String.valueOf(refundRes.getRefundId())); - success.setSerialNum(refundRes.getOrderNo()); - success.setRecDate(LocalDateTimeUtil.format(refundRes.getRefundTime(), DatePattern.NORM_DATETIME_PATTERN)); success.setAmount(dto.getAmount()); result.setMsg(ZyBaseVo.selfSuccessMsg); - Map resMap = BeanUtil.beanToMap(result); - Map dataMap = BeanUtil.beanToMap(success); - dataMap.put("sign", zyApiTool.generateSign(dataMap, false)); - resMap.put("data", Base64.encode(JSONUtil.toJsonStr(dataMap))); - entity.setOrgRes(JSONUtil.toJsonStr(success)); - entity.setEncipherRes(JSONUtil.toJsonStr(resMap)); - long elapsedTime = System.currentTimeMillis() - startTime; - entity.setTimeConsuming(Long.toString(elapsedTime)); - thirdZyLogService.save(entity); - return resMap; } - default -> throw new RuntimeException(); + default -> { + zySelfPayVo.setPlatformSerialNum("temporary_" + dto.getSerialNum()); + } } + Map resMap = BeanUtil.beanToMap(result); + Map dataMap = BeanUtil.beanToMap(zySelfPayVo); + dataMap.put("sign", zyApiTool.generateSign(dataMap, false)); + resMap.put("data", Base64.encode(JSONUtil.toJsonStr(dataMap))); + entity.setOrgRes(JSONUtil.toJsonStr(zySelfPayVo)); + entity.setEncipherRes(JSONUtil.toJsonStr(resMap)); + long elapsedTime = System.currentTimeMillis() - startTime; + entity.setTimeConsuming(Long.toString(elapsedTime)); + thirdZyLogService.save(entity); + return resMap; } catch (Exception e) { String error = String.format("|%s||correct|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace())); log.error(error); @@ -229,30 +234,32 @@ public class ThirdZySelfServiceImpl implements ThirdZySelfService { payDto.setOrderNo(dto.getSerialNum()); HardCallbackPayVo payRes = hardCallback.pay(payDto).getData(); result.setCode(payRes.getCode().getType()); + result.setMsg(payRes.getCode().getDescription()); + ZySelfPayVo zySelfPayVo = new ZySelfPayVo(); + zySelfPayVo.setSerialNum(dto.getSerialNum()); + zySelfPayVo.setRecDate(LocalDateTimeUtil.format(payRes.getPayTime(), DatePattern.NORM_DATETIME_PATTERN)); switch (payRes.getCode()) { case SUCCESS -> { - ZySelfPayVo success = new ZySelfPayVo(); - success.setAccNum(payRes.getUserId().toString()); - success.setAccName(payRes.getUsername()); - success.setPerCode(payRes.getUserId().toString()); - success.setPlatformSerialNum(payRes.getOrderId().toString()); - success.setSerialNum(dto.getSerialNum()); - success.setAmount(amount); - success.setRecDate(LocalDateTimeUtil.format(payRes.getPayTime(), DatePattern.NORM_DATETIME_PATTERN)); - result.setMsg(ZyBaseVo.selfSuccessMsg); - Map resMap = BeanUtil.beanToMap(result); - Map dataMap = BeanUtil.beanToMap(success); - dataMap.put("sign", zyApiTool.generateSign(dataMap, false)); - resMap.put("data", Base64.encode(JSONUtil.toJsonStr(dataMap))); - entity.setOrgRes(JSONUtil.toJsonStr(success)); - entity.setEncipherRes(JSONUtil.toJsonStr(resMap)); - long elapsedTime = System.currentTimeMillis() - startTime; - entity.setTimeConsuming(Long.toString(elapsedTime)); - thirdZyLogService.save(entity); - return resMap; + zySelfPayVo.setAccNum(payRes.getUserId().toString()); + zySelfPayVo.setAccName(payRes.getUsername()); + zySelfPayVo.setPerCode(payRes.getUserId().toString()); + zySelfPayVo.setPlatformSerialNum(payRes.getOrderId().toString()); + zySelfPayVo.setAmount(amount); + } + default -> { + zySelfPayVo.setPlatformSerialNum("temporary_" + dto.getSerialNum()); } - default -> throw new RuntimeException(); } + Map resMap = BeanUtil.beanToMap(result); + Map dataMap = BeanUtil.beanToMap(zySelfPayVo); + dataMap.put("sign", zyApiTool.generateSign(dataMap, false)); + resMap.put("data", Base64.encode(JSONUtil.toJsonStr(dataMap))); + entity.setOrgRes(JSONUtil.toJsonStr(zySelfPayVo)); + entity.setEncipherRes(JSONUtil.toJsonStr(resMap)); + long elapsedTime = System.currentTimeMillis() - startTime; + entity.setTimeConsuming(Long.toString(elapsedTime)); + thirdZyLogService.save(entity); + return resMap; } catch (Exception e) { String error = String.format("|%s||pay|意外的错误error|%s|stack|%s|", TAG, e.getMessage(), Arrays.toString(e.getStackTrace())); log.error(error); diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRuleMchConfigEntity.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRuleMchConfigEntity.java index 967c45e1d..99a581cb7 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRuleMchConfigEntity.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRuleMchConfigEntity.java @@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import com.bsd.pjcloud.common.core.util.TenantTable; + import java.time.LocalDateTime; /** @@ -22,69 +23,70 @@ import java.time.LocalDateTime; public class WalletRuleMchConfigEntity extends Model { - /** - * 主键 - */ - @Schema(description="主键") + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "主键") private Long id; - /** - * 源商户id - */ - @Schema(description="源商户id") + /** + * 源商户id + */ + @Schema(description = "源商户id") private Long sourceMchId; - /** - * 目标商户id - */ - @Schema(description="目标商户id") + /** + * 目标商户id + */ + @Schema(description = "目标商户id") private Long tragetMchId; - /** - * 规则配置id - */ - @Schema(description="规则配置id") + /** + * 规则配置id + */ + @Schema(description = "规则配置id") private Long rulePriceConfigId; - /** - * 创建人 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建人") + /** + * 创建人 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建人") private String createBy; - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建时间") + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description = "创建时间") private LocalDateTime createTime; - /** - * 修改人 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改人") + /** + * 修改人 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "修改人") private String updateBy; - /** - * 修改时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="修改时间") + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description = "修改时间") private LocalDateTime updateTime; - /** - * 删除标记 - */ + /** + * 删除标记 + */ @TableLogic - @TableField(fill = FieldFill.INSERT) - @Schema(description="删除标记") + @TableField(fill = FieldFill.INSERT) + @Schema(description = "删除标记") private String delFlag; - /** - * 租户ID - */ - @Schema(description="租户ID") + /** + * 租户ID + */ + @Schema(description = "租户ID") private Long tenantId; } \ No newline at end of file diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRulePriceConfigEntity.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRulePriceConfigEntity.java index fd3d183ca..f0708f310 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRulePriceConfigEntity.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/entity/rule/WalletRulePriceConfigEntity.java @@ -21,6 +21,7 @@ public class WalletRulePriceConfigEntity extends Model