From 0cef1f9856d98fdc97623f89f40e5015b862cdd3 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 30 九月 2024 14:17:19 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 57 --
ruoyi-api/ruoyi-api-chargingPile/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 3
ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml | 2
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java | 2
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java | 10
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml | 2
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInvoiceInformationController.java | 3
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java | 4
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java | 6
ruoyi-api/ruoyi-api-order/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 3
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 4
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java | 4
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 18
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java | 10
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TExchangeOrderMapper.xml | 20
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 2
ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java | 8
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ShoppingOrderFallbackFactory.java | 31 +
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserCarClient.java | 2
ruoyi-auth/pom.xml | 4
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml | 2
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java | 27 +
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 12
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml | 21
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java | 32 +
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 796 ++++++++++++++++++--------------------
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java | 21
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ShoppingOrderClient.java | 29 +
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java | 48 +
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysLoginLogClient.java | 2
30 files changed, 656 insertions(+), 529 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserCarClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserCarClient.java
index 80a88a5..a0a477c 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserCarClient.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserCarClient.java
@@ -26,7 +26,7 @@
* @param carIds 车辆id集合
* @return
*/
- @PostMapping(value = "/t-app-user-car/getCarByIds")
+ @PostMapping(value = "/t-app-user-car/t-app-user-car/getCarByIds")
public R<List<TAppUserCar>> getCarByIds(@RequestBody List<Long> carIds);
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java
new file mode 100644
index 0000000..d2f3666
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java
@@ -0,0 +1,32 @@
+package com.ruoyi.chargingPile.api.factory;
+
+import com.ruoyi.chargingPile.api.feignClient.PartnerClient;
+import com.ruoyi.chargingPile.api.model.Partner;
+import com.ruoyi.common.core.domain.R;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * 充电桩服务降级处理
+ *
+ * @author ruoyi
+ */
+@Component
+public class PartnerFallbackFactory implements org.springframework.cloud.openfeign.FallbackFactory<PartnerClient> {
+ private static final Logger log = LoggerFactory.getLogger(PartnerFallbackFactory.class);
+
+ @Override
+ public PartnerClient create(Throwable throwable) {
+ log.error("调用失败:{}", throwable.getMessage());
+ return new PartnerClient() {
+
+
+ @Override
+ public R<Partner> getPartnerById(Integer id) {
+ return R.fail("根据id获取合作商信息失败:" + throwable.getMessage());
+ }
+ };
+ }
+}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java
new file mode 100644
index 0000000..198aeaa
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java
@@ -0,0 +1,27 @@
+package com.ruoyi.chargingPile.api.feignClient;
+
+import com.ruoyi.chargingPile.api.factory.PartnerFallbackFactory;
+import com.ruoyi.chargingPile.api.model.Partner;
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/9/30 9:36
+ */
+@FeignClient(contextId = "PartnerClient", value = ServiceNameConstants.CHARGINGPILE_SERVICE, fallbackFactory = PartnerFallbackFactory.class)
+public interface PartnerClient {
+
+
+ /**
+ * 根据id获取合作商信息
+ * @param id
+ * @return
+ */
+ @PostMapping("/partner/getPartnerById/{id}")
+ R<Partner> getPartnerById(@PathVariable("id") Integer id);
+}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 3de243c..ed69db2 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -5,4 +5,5 @@
com.ruoyi.chargingPile.api.factory.AccountingStrategyDetailFallbackFactory
com.ruoyi.chargingPile.api.factory.AccountingStrategyFallbackFactory
com.ruoyi.chargingPile.api.factory.ParkingRecordFallbackFactory
-com.ruoyi.chargingPile.api.factory.FaultMessageFallbackFactory
\ No newline at end of file
+com.ruoyi.chargingPile.api.factory.FaultMessageFallbackFactory
+com.ruoyi.chargingPile.api.factory.PartnerFallbackFactory
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ShoppingOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ShoppingOrderFallbackFactory.java
new file mode 100644
index 0000000..9ce69c9
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ShoppingOrderFallbackFactory.java
@@ -0,0 +1,31 @@
+package com.ruoyi.order.api.factory;
+
+import com.ruoyi.order.api.feignClient.ShoppingOrderClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * 充电订单服务降级处理
+ *
+ * @author ruoyi
+ */
+@Component
+public class ShoppingOrderFallbackFactory implements org.springframework.cloud.openfeign.FallbackFactory<ShoppingOrderClient> {
+ private static final Logger log = LoggerFactory.getLogger(ShoppingOrderFallbackFactory.class);
+
+
+ @Override
+ public ShoppingOrderClient create(Throwable cause) {
+ log.error("调用失败:{}", cause.getMessage());
+ return new ShoppingOrderClient() {
+
+
+ @Override
+ public void cancelShoppingOrderWxRefund(String out_refund_no, String refund_id, String tradeState, String success_time) {
+ log.error("商城订单去掉退款回调通知失败:" + cause.getMessage());
+ }
+ };
+ }
+}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ShoppingOrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ShoppingOrderClient.java
new file mode 100644
index 0000000..94901e0
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ShoppingOrderClient.java
@@ -0,0 +1,29 @@
+package com.ruoyi.order.api.feignClient;
+
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.ruoyi.order.api.factory.ShoppingOrderFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/9/29 16:23
+ */
+@FeignClient(contextId = "ShoppingOrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = ShoppingOrderFallbackFactory.class)
+public interface ShoppingOrderClient {
+
+
+ /**
+ * 商城订单去掉退款回调通知
+ * @param out_refund_no
+ * @param refund_id
+ * @param tradeState
+ * @param success_time
+ */
+ @PostMapping("/t-shopping-order/cancelShoppingOrderWxRefund")
+ void cancelShoppingOrderWxRefund(@RequestParam("out_refund_no") String out_refund_no,
+ @RequestParam("refund_id") String refund_id,
+ @RequestParam("tradeState") String tradeState,
+ @RequestParam("success_time") String success_time);
+}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-order/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index afa46fb..108adca 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/ruoyi-api/ruoyi-api-order/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -3,4 +3,5 @@
com.ruoyi.order.api.factory.ExchangeOrderFallbackFactory
com.ruoyi.order.api.factory.ChargingOrderAccountingStrategyFallbackFactory
com.ruoyi.order.api.factory.AccountingStrategyDetailOrderFallbackFactory
-com.ruoyi.order.api.factory.AccountingStrategyOrderFallbackFactory
\ No newline at end of file
+com.ruoyi.order.api.factory.AccountingStrategyOrderFallbackFactory
+com.ruoyi.order.api.factory.ShoppingOrderFallbackFactory
\ No newline at end of file
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java
index 1c74644..326c448 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java
@@ -8,6 +8,7 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@@ -66,6 +67,7 @@
@TableField("login_time")
@ApiModelProperty(value = "登录时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime loginTime;
/**
* 登录状态(1=成功,2=失败)
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysLoginLogClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysLoginLogClient.java
index e7d3e70..cc7712c 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysLoginLogClient.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysLoginLogClient.java
@@ -21,6 +21,6 @@
* @param loginLog
* @return
*/
- @PostMapping("/saveLoginLog")
+ @PostMapping("/sysLoginLog/saveLoginLog")
R saveLoginLog(@RequestBody SysLoginLog loginLog);
}
diff --git a/ruoyi-auth/pom.xml b/ruoyi-auth/pom.xml
index 17035c7..6be75c3 100644
--- a/ruoyi-auth/pom.xml
+++ b/ruoyi-auth/pom.xml
@@ -89,6 +89,10 @@
<artifactId>hutool-crypto</artifactId>
<version>${hutool.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.ruoyi</groupId>
+ <artifactId>ruoyi-api-chargingPile</artifactId>
+ </dependency>
</dependencies>
diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
index 1cc1d79..da2ac38 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -3,6 +3,8 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import com.ruoyi.chargingPile.api.feignClient.PartnerClient;
+import com.ruoyi.chargingPile.api.model.Partner;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
@@ -40,6 +42,12 @@
@Resource
private SysUserClient userClient;
+ @Resource
+ private PartnerClient partnerClient;
+
+
+
+
@PostMapping("login")
@GlobalTransactional(rollbackFor = Exception.class)//分布式事务
@@ -55,6 +63,10 @@
map.put("roleName",roles.get(0).getRoleName());
map.put("info", userInfo);
+ if(userInfo.getSysUser().getRoleType() == 2){
+ Partner partner = partnerClient.getPartnerById(userInfo.getSysUser().getObjectId()).getData();
+ map.put("partnerName", partner.getName());
+ }
// 修改用户最后登录时间
SysUser sysUser = new SysUser();
sysUser.setUserId(userInfo.getSysUser().getUserId());
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java
index ca886c7..1598576 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java
@@ -60,12 +60,12 @@
/**
* 登录成功状态
*/
- public static final String LOGIN_SUCCESS_STATUS = "0";
+ public static final String LOGIN_SUCCESS_STATUS = "1";
/**
* 登录失败状态
*/
- public static final String LOGIN_FAIL_STATUS = "1";
+ public static final String LOGIN_FAIL_STATUS = "2";
/**
* 登录成功
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
index e5cc275..3c52cfc 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -29,427 +29,389 @@
/**
* 角色 业务层处理
- *
+ *
* @author ruoyi
*/
@Service
-public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService
-{
- @Autowired
- private SysRoleMapper roleMapper;
-
- @Autowired
- private SysRoleMenuMapper roleMenuMapper;
-
- @Autowired
- private SysUserRoleMapper userRoleMapper;
-
- @Autowired
- private SysRoleDeptMapper roleDeptMapper;
-
- /**
- * 根据条件分页查询角色数据
- *
- * @param role 角色信息
- * @return 角色数据集合信息
- */
- @Override
- @DataScope(deptAlias = "d")
- public List<SysRole> selectRoleList(SysRole role)
- {
- return roleMapper.selectRoleList(role);
- }
-
- /**
- * 根据用户ID查询角色
- *
- * @param userId 用户ID
- * @return 角色列表
- */
- @Override
- public List<SysRole> selectRolesByUserId(Long userId)
- {
- List<SysRole> userRoles = roleMapper.selectRolePermissionByUserId(userId);
- List<SysRole> roles = selectRoleAll();
- for (SysRole role : roles)
- {
- for (SysRole userRole : userRoles)
- {
- if (role.getRoleId().longValue() == userRole.getRoleId().longValue())
- {
- role.setFlag(true);
- break;
- }
- }
- }
- return roles;
- }
-
- /**
- * 根据用户ID查询权限
- *
- * @param userId 用户ID
- * @return 权限列表
- */
- @Override
- public Set<String> selectRolePermissionByUserId(Long userId)
- {
- List<SysRole> perms = roleMapper.selectRolePermissionByUserId(userId);
- Set<String> permsSet = new HashSet<>();
- for (SysRole perm : perms)
- {
- if (StringUtils.isNotNull(perm))
- {
- permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(",")));
- }
- }
- return permsSet;
- }
-
- /**
- * 查询所有角色
- *
- * @return 角色列表
- */
- @Override
- public List<SysRole> selectRoleAll()
- {
- return SpringUtils.getAopProxy(this).selectRoleList(new SysRole());
- }
-
- /**
- * 根据用户ID获取角色选择框列表
- *
- * @param userId 用户ID
- * @return 选中角色ID列表
- */
- @Override
- public List<Long> selectRoleListByUserId(Long userId)
- {
- return roleMapper.selectRoleListByUserId(userId);
- }
-
- /**
- * 通过角色ID查询角色
- *
- * @param roleId 角色ID
- * @return 角色对象信息
- */
- @Override
- public SysRole selectRoleById(Long roleId)
- {
- return roleMapper.selectRoleById(roleId);
- }
-
- /**
- * 校验角色名称是否唯一
- *
- * @param role 角色信息
- * @return 结果
- */
- @Override
- public boolean checkRoleNameUnique(SysRole role)
- {
- Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
- SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName());
- if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue())
- {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
- }
-
- /**
- * 校验角色权限是否唯一
- *
- * @param role 角色信息
- * @return 结果
- */
- @Override
- public boolean checkRoleKeyUnique(SysRole role)
- {
- Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
- SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey());
- if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue())
- {
- return UserConstants.NOT_UNIQUE;
- }
- return UserConstants.UNIQUE;
- }
-
- /**
- * 校验角色是否允许操作
- *
- * @param role 角色信息
- */
- @Override
- public void checkRoleAllowed(SysRole role)
- {
- if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin())
- {
- throw new ServiceException("不允许操作超级管理员角色");
- }
- }
-
- /**
- * 校验角色是否有数据权限
- *
- * @param roleId 角色id
- */
- @Override
- public void checkRoleDataScope(Long roleId)
- {
- if (!SysUser.isAdmin(SecurityUtils.getUserId()))
- {
- SysRole role = new SysRole();
- role.setRoleId(roleId);
- List<SysRole> roles = SpringUtils.getAopProxy(this).selectRoleList(role);
- if (StringUtils.isEmpty(roles))
- {
- throw new ServiceException("没有权限访问角色数据!");
- }
- }
- }
-
- /**
- * 通过角色ID查询角色使用数量
- *
- * @param roleId 角色ID
- * @return 结果
- */
- @Override
- public int countUserRoleByRoleId(Long roleId)
- {
- return userRoleMapper.countUserRoleByRoleId(roleId);
- }
-
- /**
- * 新增保存角色信息
- *
- * @param role 角色信息
- * @return 结果
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public int insertRole(SysRole role)
- {
- // 新增角色信息
- roleMapper.insertRole(role);
- return insertRoleMenu(role);
- }
-
- /**
- * 修改保存角色信息
- *
- * @param role 角色信息
- * @return 结果
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public int updateRole(SysRole role)
- {
- // 修改角色信息
+public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
+ @Autowired
+ private SysRoleMapper roleMapper;
+
+ @Autowired
+ private SysRoleMenuMapper roleMenuMapper;
+
+ @Autowired
+ private SysUserRoleMapper userRoleMapper;
+
+ @Autowired
+ private SysRoleDeptMapper roleDeptMapper;
+
+ /**
+ * 根据条件分页查询角色数据
+ *
+ * @param role 角色信息
+ * @return 角色数据集合信息
+ */
+ @Override
+ @DataScope(deptAlias = "d")
+ public List<SysRole> selectRoleList(SysRole role) {
+ return roleMapper.selectRoleList(role);
+ }
+
+ /**
+ * 根据用户ID查询角色
+ *
+ * @param userId 用户ID
+ * @return 角色列表
+ */
+ @Override
+ public List<SysRole> selectRolesByUserId(Long userId) {
+ List<SysRole> userRoles = roleMapper.selectRolePermissionByUserId(userId);
+ List<SysRole> roles = selectRoleAll();
+ for (SysRole role : roles) {
+ for (SysRole userRole : userRoles) {
+ if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) {
+ role.setFlag(true);
+ break;
+ }
+ }
+ }
+ return roles;
+ }
+
+ /**
+ * 根据用户ID查询权限
+ *
+ * @param userId 用户ID
+ * @return 权限列表
+ */
+ @Override
+ public Set<String> selectRolePermissionByUserId(Long userId) {
+ List<SysRole> perms = roleMapper.selectRolePermissionByUserId(userId);
+ Set<String> permsSet = new HashSet<>();
+ for (SysRole perm : perms) {
+ if (StringUtils.isNotNull(perm)) {
+ permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(",")));
+ }
+ }
+ return permsSet;
+ }
+
+ /**
+ * 查询所有角色
+ *
+ * @return 角色列表
+ */
+ @Override
+ public List<SysRole> selectRoleAll() {
+ return SpringUtils.getAopProxy(this).selectRoleList(new SysRole());
+ }
+
+ /**
+ * 根据用户ID获取角色选择框列表
+ *
+ * @param userId 用户ID
+ * @return 选中角色ID列表
+ */
+ @Override
+ public List<Long> selectRoleListByUserId(Long userId) {
+ return roleMapper.selectRoleListByUserId(userId);
+ }
+
+ /**
+ * 通过角色ID查询角色
+ *
+ * @param roleId 角色ID
+ * @return 角色对象信息
+ */
+ @Override
+ public SysRole selectRoleById(Long roleId) {
+ return roleMapper.selectRoleById(roleId);
+ }
+
+ /**
+ * 校验角色名称是否唯一
+ *
+ * @param role 角色信息
+ * @return 结果
+ */
+ @Override
+ public boolean checkRoleNameUnique(SysRole role) {
+ Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
+ SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName());
+ if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
+ return UserConstants.NOT_UNIQUE;
+ }
+ return UserConstants.UNIQUE;
+ }
+
+ /**
+ * 校验角色权限是否唯一
+ *
+ * @param role 角色信息
+ * @return 结果
+ */
+ @Override
+ public boolean checkRoleKeyUnique(SysRole role) {
+ Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
+ SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey());
+ if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
+ return UserConstants.NOT_UNIQUE;
+ }
+ return UserConstants.UNIQUE;
+ }
+
+ /**
+ * 校验角色是否允许操作
+ *
+ * @param role 角色信息
+ */
+ @Override
+ public void checkRoleAllowed(SysRole role) {
+ if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin()) {
+ throw new ServiceException("不允许操作超级管理员角色");
+ }
+ }
+
+ /**
+ * 校验角色是否有数据权限
+ *
+ * @param roleId 角色id
+ */
+ @Override
+ public void checkRoleDataScope(Long roleId) {
+ if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
+ SysRole role = new SysRole();
+ role.setRoleId(roleId);
+ List<SysRole> roles = SpringUtils.getAopProxy(this).selectRoleList(role);
+ if (StringUtils.isEmpty(roles)) {
+ throw new ServiceException("没有权限访问角色数据!");
+ }
+ }
+ }
+
+ /**
+ * 通过角色ID查询角色使用数量
+ *
+ * @param roleId 角色ID
+ * @return 结果
+ */
+ @Override
+ public int countUserRoleByRoleId(Long roleId) {
+ return userRoleMapper.countUserRoleByRoleId(roleId);
+ }
+
+ /**
+ * 新增保存角色信息
+ *
+ * @param role 角色信息
+ * @return 结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int insertRole(SysRole role) {
+ // 新增角色信息
+ roleMapper.insertRole(role);
+ return insertRoleMenu(role);
+ }
+
+ /**
+ * 修改保存角色信息
+ *
+ * @param role 角色信息
+ * @return 结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int updateRole(SysRole role) {
+ // 修改角色信息
// roleMapper.updateRole(role);
- // 删除角色与菜单关联
+ // 删除角色与菜单关联
// roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId());
- return roleMapper.updateRole(role);
- }
-
- /**
- * 修改角色状态
- *
- * @param role 角色信息
- * @return 结果
- */
- @Override
- public int updateRoleStatus(SysRole role)
- {
- return roleMapper.updateRole(role);
- }
-
- /**
- * 修改数据权限信息
- *
- * @param role 角色信息
- * @return 结果
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public int authDataScope(SysRole role)
- {
- // 修改角色信息
- roleMapper.updateRole(role);
- // 删除角色与部门关联
- roleDeptMapper.deleteRoleDeptByRoleId(role.getRoleId());
- // 新增角色和部门信息(数据权限)
- return insertRoleDept(role);
- }
-
- /**
- * 新增角色菜单信息
- *
- * @param role 角色对象
- */
- public int insertRoleMenu(SysRole role)
- {
- int rows = 1;
- // 新增用户与角色管理
- List<SysRoleMenu> list = new ArrayList<SysRoleMenu>();
- Long[] menuIds = role.getMenuIds();
+ return roleMapper.updateRole(role);
+ }
+
+ /**
+ * 修改角色状态
+ *
+ * @param role 角色信息
+ * @return 结果
+ */
+ @Override
+ public int updateRoleStatus(SysRole role) {
+ return roleMapper.updateRole(role);
+ }
+
+ /**
+ * 修改数据权限信息
+ *
+ * @param role 角色信息
+ * @return 结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int authDataScope(SysRole role) {
+ // 修改角色信息
+ roleMapper.updateRole(role);
+ // 删除角色与部门关联
+ roleDeptMapper.deleteRoleDeptByRoleId(role.getRoleId());
+ // 新增角色和部门信息(数据权限)
+ return insertRoleDept(role);
+ }
+
+ /**
+ * 新增角色菜单信息
+ *
+ * @param role 角色对象
+ */
+ public int insertRoleMenu(SysRole role) {
+ int rows = 1;
+ // 新增用户与角色管理
+ List<SysRoleMenu> list = new ArrayList<SysRoleMenu>();
+ Long[] menuIds = role.getMenuIds();
// List<Long> longs = Arrays.asList(menuIds);
- List<Long> longs = new ArrayList<>();
- for (Long menuId : menuIds) {
- longs.add(menuId);
- }
- if(!longs.contains(1061L)){
- longs.add(1061L);
- longs.add(1062L);
- longs.add(1065L);
- longs.add(1073L);
- longs.add(1161L);
- longs.add(1203L);
- }
-
- for (Long menuId : longs)
- {
- SysRoleMenu rm = new SysRoleMenu();
- rm.setRoleId(role.getRoleId());
- rm.setMenuId(menuId);
- list.add(rm);
- }
- if (list.size() > 0)
- {
- rows = roleMenuMapper.batchRoleMenu(list);
- }
- return rows;
- }
-
- /**
- * 新增角色部门信息(数据权限)
- *
- * @param role 角色对象
- */
- public int insertRoleDept(SysRole role)
- {
- int rows = 1;
- // 新增角色与部门(数据权限)管理
- List<SysRoleDept> list = new ArrayList<SysRoleDept>();
- for (Long deptId : role.getDeptIds())
- {
- SysRoleDept rd = new SysRoleDept();
- rd.setRoleId(role.getRoleId());
- rd.setDeptId(deptId);
- list.add(rd);
- }
- if (list.size() > 0)
- {
- rows = roleDeptMapper.batchRoleDept(list);
- }
- return rows;
- }
-
- /**
- * 通过角色ID删除角色
- *
- * @param roleId 角色ID
- * @return 结果
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public int deleteRoleById(Long roleId)
- {
- // 删除角色与菜单关联
- roleMenuMapper.deleteRoleMenuByRoleId(roleId);
- // 删除角色与部门关联
- roleDeptMapper.deleteRoleDeptByRoleId(roleId);
- return roleMapper.deleteRoleById(roleId);
- }
-
- /**
- * 批量删除角色信息
- *
- * @param roleIds 需要删除的角色ID
- * @return 结果
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public int deleteRoleByIds(Long[] roleIds) {
- for (Long roleId : roleIds)
- {
- checkRoleAllowed(new SysRole(roleId));
- checkRoleDataScope(roleId);
- SysRole role = selectRoleById(roleId);
- if (countUserRoleByRoleId(roleId) > 0)
- {
- throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName()));
- }
- }
- // 删除角色与菜单关联
- roleMenuMapper.deleteRoleMenu(roleIds);
- // 删除角色与部门关联
- roleDeptMapper.deleteRoleDept(roleIds);
- return roleMapper.deleteRoleByIds(roleIds);
- }
-
- /**
- * 取消授权用户角色
- *
- * @param userRole 用户和角色关联信息
- * @return 结果
- */
- @Override
- public int deleteAuthUser(SysUserRole userRole)
- {
- return userRoleMapper.deleteUserRoleInfo(userRole);
- }
-
- /**
- * 批量取消授权用户角色
- *
- * @param roleId 角色ID
- * @param userIds 需要取消授权的用户数据ID
- * @return 结果
- */
- @Override
- public int deleteAuthUsers(Long roleId, Long[] userIds)
- {
- return userRoleMapper.deleteUserRoleInfos(roleId, userIds);
- }
-
- /**
- * 批量选择授权用户角色
- *
- * @param roleId 角色ID
- * @param userIds 需要授权的用户数据ID
- * @return 结果
- */
- @Override
- public int insertAuthUsers(Long roleId, Long[] userIds)
- {
- // 新增用户与角色管理
- List<SysUserRole> list = new ArrayList<SysUserRole>();
- for (Long userId : userIds)
- {
- SysUserRole ur = new SysUserRole();
- ur.setUserId(userId);
- ur.setRoleId(roleId);
- list.add(ur);
- }
- return userRoleMapper.batchUserRole(list);
- }
-
- @Override
- public List<SysRole> isExitUpdate(String roleName, Long roleId,Integer companyId) {
- return roleMapper.isExitUpdate(roleName,roleId,companyId);
- }
-
- /**
- * 根据id获取数据
- * @param ids 数据id集合
- * @return
- */
- @Override
- public List<SysRole> getSysRoleByIds(List<Integer> ids) {
- return this.baseMapper.getSysRoleByIds(ids);
- }
+ List<Long> longs = new ArrayList<>();
+ for (Long menuId : menuIds) {
+ longs.add(menuId);
+ }
+ if (!longs.contains(1061L)) {
+ longs.add(1061L);
+ longs.add(1062L);
+ longs.add(1065L);
+ longs.add(1073L);
+ longs.add(1161L);
+ longs.add(1203L);
+ }
+
+ for (Long menuId : longs) {
+ SysRoleMenu rm = new SysRoleMenu();
+ rm.setRoleId(role.getRoleId());
+ rm.setMenuId(menuId);
+ list.add(rm);
+ }
+ if (list.size() > 0) {
+ rows = roleMenuMapper.batchRoleMenu(list);
+ }
+ return rows;
+ }
+
+ /**
+ * 新增角色部门信息(数据权限)
+ *
+ * @param role 角色对象
+ */
+ public int insertRoleDept(SysRole role) {
+ int rows = 1;
+ // 新增角色与部门(数据权限)管理
+ List<SysRoleDept> list = new ArrayList<SysRoleDept>();
+ for (Long deptId : role.getDeptIds()) {
+ SysRoleDept rd = new SysRoleDept();
+ rd.setRoleId(role.getRoleId());
+ rd.setDeptId(deptId);
+ list.add(rd);
+ }
+ if (list.size() > 0) {
+ rows = roleDeptMapper.batchRoleDept(list);
+ }
+ return rows;
+ }
+
+ /**
+ * 通过角色ID删除角色
+ *
+ * @param roleId 角色ID
+ * @return 结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int deleteRoleById(Long roleId) {
+ // 删除角色与菜单关联
+ roleMenuMapper.deleteRoleMenuByRoleId(roleId);
+ // 删除角色与部门关联
+ roleDeptMapper.deleteRoleDeptByRoleId(roleId);
+ return roleMapper.deleteRoleById(roleId);
+ }
+
+ /**
+ * 批量删除角色信息
+ *
+ * @param roleIds 需要删除的角色ID
+ * @return 结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int deleteRoleByIds(Long[] roleIds) {
+ for (Long roleId : roleIds) {
+ checkRoleAllowed(new SysRole(roleId));
+ checkRoleDataScope(roleId);
+ SysRole role = selectRoleById(roleId);
+ if (countUserRoleByRoleId(roleId) > 0) {
+ throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName()));
+ }
+ }
+ // 删除角色与菜单关联
+ roleMenuMapper.deleteRoleMenu(roleIds);
+ // 删除角色与部门关联
+ roleDeptMapper.deleteRoleDept(roleIds);
+ return roleMapper.deleteRoleByIds(roleIds);
+ }
+
+ /**
+ * 取消授权用户角色
+ *
+ * @param userRole 用户和角色关联信息
+ * @return 结果
+ */
+ @Override
+ public int deleteAuthUser(SysUserRole userRole) {
+ return userRoleMapper.deleteUserRoleInfo(userRole);
+ }
+
+ /**
+ * 批量取消授权用户角色
+ *
+ * @param roleId 角色ID
+ * @param userIds 需要取消授权的用户数据ID
+ * @return 结果
+ */
+ @Override
+ public int deleteAuthUsers(Long roleId, Long[] userIds) {
+ return userRoleMapper.deleteUserRoleInfos(roleId, userIds);
+ }
+
+ /**
+ * 批量选择授权用户角色
+ *
+ * @param roleId 角色ID
+ * @param userIds 需要授权的用户数据ID
+ * @return 结果
+ */
+ @Override
+ public int insertAuthUsers(Long roleId, Long[] userIds) {
+ // 新增用户与角色管理
+ List<SysUserRole> list = new ArrayList<SysUserRole>();
+ for (Long userId : userIds) {
+ SysUserRole ur = new SysUserRole();
+ ur.setUserId(userId);
+ ur.setRoleId(roleId);
+ list.add(ur);
+ }
+ return userRoleMapper.batchUserRole(list);
+ }
+
+ @Override
+ public List<SysRole> isExitUpdate(String roleName, Long roleId, Integer companyId) {
+ return roleMapper.isExitUpdate(roleName, roleId, companyId);
+ }
+
+ /**
+ * 根据id获取数据
+ *
+ * @param ids 数据id集合
+ * @return
+ */
+ @Override
+ public List<SysRole> getSysRoleByIds(List<Integer> ids) {
+ return this.baseMapper.getSysRoleByIds(ids);
+ }
}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
index e17f179..f675847 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -223,6 +223,7 @@
*/
@PostMapping("/grantCoupon")
public R grantCoupon(@RequestBody GrantCouponDto dto){
+ dto.setWaysToObtain(3);
List<TAppCoupon> res = new ArrayList<>();
TCoupon coupon = otherClient.getCouponById(dto.getCouponId()).getData();
@@ -246,9 +247,20 @@
break;
case 2:
// 根据市codes 查询用户ids
- List<Long> collect1 = appUserService.list(new QueryWrapper<TAppUser>()
- .in("city_code", Arrays.asList(dto.getCityCode().split(","))))
- .stream().map(TAppUser::getId).collect(Collectors.toList());
+ List<Long> collect1 = new ArrayList<>();
+ // 根据市codes 查询用户ids
+ if (StringUtils.hasLength(dto.getProvinceCode())){
+ List<Long> collect2 = appUserService.list(new QueryWrapper<TAppUser>()
+ .in("province_code", Arrays.asList(dto.getProvinceCode().split(","))))
+ .stream().map(TAppUser::getId).collect(Collectors.toList());
+ collect1.addAll(collect2);
+ }
+ if (StringUtils.hasLength(dto.getCityCode())){
+ List<Long> collect2 = appUserService.list(new QueryWrapper<TAppUser>()
+ .in("city_code", Arrays.asList(dto.getCityCode().split(","))))
+ .stream().map(TAppUser::getId).collect(Collectors.toList());
+ collect1.addAll(collect2);
+ }
for (Long l : collect1) {
TAppCoupon tAppCoupon = new TAppCoupon();
tAppCoupon.setAppUserId(l);
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInvoiceInformationController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInvoiceInformationController.java
index 3383c94..f501947 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInvoiceInformationController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInvoiceInformationController.java
@@ -39,7 +39,8 @@
@ApiOperation(value = "获取开票抬头数据列表", tags = {"小程序-充电发票"})
public AjaxResult<List<InvoiceInformationVo>> getInvoiceInformationList(){
Long userId = tokenService.getLoginUserApplet().getUserId();
- List<TInvoiceInformation> list = invoiceInformationService.list(new LambdaQueryWrapper<TInvoiceInformation>().eq(TInvoiceInformation::getAppUserId, userId).eq(TInvoiceInformation::getDelFlag, 0));
+ List<TInvoiceInformation> list = invoiceInformationService.list(new LambdaQueryWrapper<TInvoiceInformation>()
+ .eq(TInvoiceInformation::getAppUserId, userId).eq(TInvoiceInformation::getDelFlag, 0).orderByDesc(TInvoiceInformation::getIsDefault));
List<InvoiceInformationVo> lists = new ArrayList<>();
for (TInvoiceInformation tInvoiceInformation : list) {
InvoiceInformationVo vo = new InvoiceInformationVo();
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
index 46ae69f..9739d0d 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
@@ -148,4 +148,14 @@
}
+ /**
+ * 根据id获取合作商信息
+ * @param id
+ * @return
+ */
+ @PostMapping("/getPartnerById/{id}")
+ public R<Partner> getPartnerById(@PathVariable("id") Integer id){
+ Partner partner = partnerService.getPartner(id);
+ return R.ok(partner);
+ }
}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
index 1add52d..82e9536 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -164,6 +164,8 @@
PageInfo<GetSiteListDTO> list = siteService.getSiteList(siteList);
return AjaxResult.success(list);
}
+
+
@GetMapping("/getSiteList/byUserId")
@ApiOperation(value = "获取站点列表", tags = {"管理后台-站点管理"})
public R<List<GetSiteListDTO>> getSiteListByUserId(@RequestParam("userId") Long userId){
@@ -424,7 +426,7 @@
@ResponseBody
@PostMapping("/getSiteByIds")
public R<List<Site>> getSiteByIds(@RequestBody List<Integer> ids){
- List<Site> sites = siteService.listByIds(ids);
+ List<Site> sites = siteService.list(new LambdaQueryWrapper<Site>().in(Site::getId, ids).eq(Site::getDelFlag, 0));
return R.ok(sites);
}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java
index 2ad2b83..5bb8860 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java
@@ -94,10 +94,10 @@
List<SysRole> data = r.getData();
for (PartnerListDTO partnerListDTO : list) {
Integer roleId = partnerListDTO.getRoleId();
- if(null != roleId){
+ if(null == roleId){
continue;
}
- SysRole sysRole = data.stream().filter(s -> roleId.equals(s.getRoleId())).findFirst().get();
+ SysRole sysRole = data.stream().filter(s -> roleId.compareTo(s.getRoleId().intValue()) == 0).findFirst().get();
if(null != sysRole){
partnerListDTO.setRoleName(sysRole.getRoleName());
}
@@ -286,12 +286,12 @@
//站点
long count = siteService.count(new LambdaQueryWrapper<Site>().in(Site::getPartnerId, Arrays.asList(ids)).eq(Site::getDelFlag, 0));
if(count > 0){
- return AjaxResult.error("当前合作商有关联站点,删除失败!");
+ return AjaxResult.error("该合作商已关联站点不可删除!");
}
//充电桩
- long count1 = chargingPileService.count(new LambdaQueryWrapper<TChargingPile>().eq(TChargingPile::getPartnerId, Arrays.asList(ids)).eq(TChargingPile::getDelFlag, 0));
+ long count1 = chargingPileService.count(new LambdaQueryWrapper<TChargingPile>().in(TChargingPile::getPartnerId, Arrays.asList(ids)).eq(TChargingPile::getDelFlag, 0));
if(count1 > 0){
- return AjaxResult.error("当前合作商有关联充电桩,删除失败!");
+ return AjaxResult.error("该合作商已关联充电桩不可删除!");
}
for (Integer id : ids) {
Partner partner = this.getById(id);
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
index 9badeb7..0a3d4e7 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
@@ -111,7 +111,7 @@
return ajaxResult;
}
long count = this.count(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getCode, dto.getCode())
- .eq(TChargingGun::getDelFlag, 0));
+ .eq(TChargingGun::getDelFlag, 0).eq(TChargingGun::getChargingPileId, dto.getChargingPileId()));
if(count > 0){
return AjaxResult.error("接口编码已存在");
}
@@ -136,7 +136,7 @@
return ajaxResult;
}
TChargingGun one = this.getOne(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getCode, dto.getCode())
- .eq(TChargingGun::getDelFlag, 0));
+ .eq(TChargingGun::getDelFlag, 0).eq(TChargingGun::getChargingPileId, dto.getChargingPileId()));
if(null != one && !dto.getId().equals(one.getId())){
return AjaxResult.error("接口编码已存在");
}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml
index 24c1227..af5069b 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml
@@ -46,7 +46,7 @@
enabled: true
application-id: ${spring.application.name}
tx-service-group: seata_tx_group #此处配置自定义的seata事务分组名称
- enable-auto-data-source-proxy: true
+ enable-auto-data-source-proxy: false
service:
vgroup-mapping:
seata_tx_group: default
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
index 2acbc96..759a7b1 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml
@@ -61,7 +61,7 @@
a.phone,
a.service_phone as servicePhone,
a.parking_space as parkingSpace,
- DATE_FORMAT('%Y-%m-%d %H:%i:%s', a.establishment_time) as establishmentTime,
+ DATE_FORMAT(a.establishment_time, '%Y-%m-%d %H:%i:%s') as establishmentTime,
c.num as chargingPileNumber,
a.sort,
a.accounting_strategy_id as accountingStrategyId,
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
index 26c049f..42d7456 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
@@ -202,14 +202,16 @@
for (int i = 0; i < split1.length; i++) {
Integer reduce = tShoppingOrderService.list(new QueryWrapper<TShoppingOrder>()
.eq("order_type",1)
- .ne("refund_status", 2))
+ .eq("goods_id", split1[i])
+ .isNull("refund_status"))
.stream().map(TShoppingOrder::getPurchaseQuantity).reduce(0, Integer::sum);
res.add(reduce);
}
break;
case 2:
for (int i = 0; i < split1.length; i++) {
- Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>().eq("order_type",1).ne("status",4).eq("goods_id", split1[i]))
+ Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>().eq("order_type",1)
+ .ne("status",4).eq("goods_id", split1[i]))
.stream().map(TExchangeOrder::getPurchaseQuantity).reduce(0, Integer::sum);
res.add(reduce);
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
index 397c94d..85a3ca5 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
@@ -281,11 +281,11 @@
public AjaxResult<Map<String, Object>> getMyShoppingOrderListNum() {
Long userId = tokenService.getLoginUserApplet().getUserId();
long dfh = shoppingOrderService.count(new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0)
- .eq(TShoppingOrder::getStatus, 1).eq(TShoppingOrder::getAppUserId, userId));
+ .eq(TShoppingOrder::getStatus, 1).eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2));
long dsh = shoppingOrderService.count(new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0)
- .eq(TShoppingOrder::getStatus, 2).eq(TShoppingOrder::getAppUserId, userId));
+ .eq(TShoppingOrder::getStatus, 2).eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2));
long ywc = shoppingOrderService.count(new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0)
- .eq(TShoppingOrder::getStatus, 3).eq(TShoppingOrder::getAppUserId, userId));
+ .eq(TShoppingOrder::getStatus, 3).eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2));
Map<String, Object> map = new HashMap<>();
map.put("dfh", dfh);
map.put("dsh", dsh);
@@ -316,6 +316,7 @@
return AjaxResult.error("订单已取消,不允许操作。");
}
shoppingOrder.setStatus(3);
+ shoppingOrder.setReceivingTime(LocalDateTime.now());
shoppingOrderService.updateById(shoppingOrder);
return AjaxResult.success();
}
@@ -331,15 +332,11 @@
* 商城订单取消微信退款回调
*/
@PostMapping("/cancelShoppingOrderWxRefund")
- public void cancelShoppingOrderWxRefund(HttpServletRequest request) {
-// WxRefundNotifyResp data = wxPaymentClient.refundNotify(request).getData();
-// if (null != data) {
-// String out_refund_no = data.getOut_refund_no();
-// String refund_id = data.getRefund_id();
-// String tradeState = data.getTradeState();
-// String success_time = data.getSuccess_time();
-// shoppingOrderService.cancelShoppingOrderWxRefund(out_refund_no, refund_id, tradeState, success_time);
-// }
+ public void cancelShoppingOrderWxRefund(@RequestParam("out_refund_no") String out_refund_no,
+ @RequestParam("refund_id") String refund_id,
+ @RequestParam("tradeState") String tradeState,
+ @RequestParam("success_time") String success_time) {
+ shoppingOrderService.cancelShoppingOrderWxRefund(out_refund_no, refund_id, tradeState, success_time);
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
index 685ecea..38cd013 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
@@ -119,13 +119,17 @@
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String code = Double.valueOf(Math.random() * 1000).intValue() + sdf.format(new Date());
+ //获取开票类型
+ TInvoiceType invoiceType = invoiceTypeClient.getInvoiceType(addOrderInvoice.getInvoiceTypeId()).getData();
+ addOrderInvoice.setInvoicingCompany(invoiceType.getInvoicingCompany());
+ addOrderInvoice.setInvoiceType(invoiceType.getName());
+ addOrderInvoice.setInvoiceMaterial(2);
+ addOrderInvoice.setInvoicingMethod(invoiceType.getInvoicingMethod());
addOrderInvoice.setAppUserId(userId);
addOrderInvoice.setCode(code);
addOrderInvoice.setStatus(1);
addOrderInvoice.setCreateTime(LocalDateTime.now());
this.save(addOrderInvoice);
- //获取开票类型
- TInvoiceType invoiceType = invoiceTypeClient.getInvoiceType(addOrderInvoice.getInvoiceTypeId()).getData();
for (Long orderId : orderIds) {
List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.list(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>()
.eq(TChargingOrderAccountingStrategy::getChargingOrderId, orderId));
@@ -263,31 +267,37 @@
List<TOrderInvoiceVO> list = this.baseMapper.pageList(query,pageInfo);
for (TOrderInvoiceVO tOrderInvoiceVO : list) {
tOrderInvoiceVO.setUid(tOrderInvoiceVO.getId().toString());
- List<Long> collect = orderInvoiceDetailService.lambdaQuery().eq(TOrderInvoiceDetail::getOrderInvoiceId, tOrderInvoiceVO.getId())
- .eq(TOrderInvoiceDetail::getOrderType, 1).list().stream()
+ List<Long> collect = orderInvoiceDetailService.lambdaQuery().eq(TOrderInvoiceDetail::getOrderInvoiceId, tOrderInvoiceVO.getId()).list().stream()
.map(TOrderInvoiceDetail::getOrderId).collect(Collectors.toList());
// 将其全部转化为String
tOrderInvoiceVO.setIds(collect.stream().map(String::valueOf).collect(Collectors.toList()));
}
// 查询这个开票的订单ids
- List<Long> ids = list.stream().map(TOrderInvoiceVO::getId).collect(Collectors.toList());
+ if (!list.isEmpty()){
+ List<Long> ids = list.stream().map(TOrderInvoiceVO::getId).collect(Collectors.toList());
- List<TOrderInvoiceDetail> orderInvoiceDetailList = orderInvoiceDetailService.list(new LambdaQueryWrapper<TOrderInvoiceDetail>()
- .in(TOrderInvoiceDetail::getOrderInvoiceId, ids));
+ List<TOrderInvoiceDetail> orderInvoiceDetailList = orderInvoiceDetailService.list(new LambdaQueryWrapper<TOrderInvoiceDetail>()
+ .in(TOrderInvoiceDetail::getOrderInvoiceId, ids));
- List<TAppUser> finalTAppUsers = tAppUsers;
- list.forEach(e->{
- e.setServiceTariff(orderInvoiceDetailList.get(0).getServiceTariff());
- e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
- e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
- e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
- e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
- e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
- if (e.getBillingUserId()!=null){
- e.setUserPhone(finalTAppUsers.stream().filter(t->t.getId()!=null).filter(m->m.getId().equals(Long.parseLong(e.getAppUserId().toString()))).findFirst().get().getPhone());
- }
- });
+ List<TAppUser> finalTAppUsers = tAppUsers;
+ list.forEach(e->{
+ if (e.getOrderType()!=null&&e.getOrderType()==1){
+ e.setServiceTariff(orderInvoiceDetailList.get(0).getServiceTariff());
+ }else{
+ e.setServiceTariff(new BigDecimal("0"));
+ }
+ e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
+ e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
+ e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
+ e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
+ e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
+ if (e.getBillingUserId()!=null){
+ e.setUserPhone(finalTAppUsers.stream().filter(t->t.getId()!=null).filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
+ }
+ });
+ }
+
pageInfo.setRecords(list);
return pageInfo;
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
index 30d8358..1093912 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -202,7 +202,7 @@
public Map<String, Object> getMyShoppingOrderList(GetMyShoppingOrderList query) {
Long userId = tokenService.getLoginUserApplet().getUserId();
LambdaQueryWrapper<TShoppingOrder> wrapper = new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0)
- .eq(TShoppingOrder::getAppUserId, userId);
+ .eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2);
if(query.getStatus() != 0){
wrapper.eq(TShoppingOrder::getStatus, query.getStatus());
}
@@ -255,7 +255,7 @@
TAppUserAddress userAddress = appUserAddressClient.getAppUserAddressById(shoppingOrder.getAppUserAddressId()).getData();
info.setConsignee(userAddress.getName());
info.setPhone(userAddress.getPhone());
- info.setAddress(userAddress.getAddress());
+ info.setAddress(userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getAddress());
info.setExpressCompany(shoppingOrder.getExpressCompany());
info.setExpressNumber(shoppingOrder.getExpressNumber());
String name = "";
@@ -364,6 +364,9 @@
shoppingOrderRefund.setRefundRemark("全额退款");
shoppingOrderRefund.setRefundTotalAmount(refundAmount.add(bigDecimal));
shoppingOrderRefund.setPayAmount(shoppingOrder.getPaymentAmount());
+
+ shoppingOrder.setCancellationTime(LocalDateTime.now());
+ shoppingOrder.setCancellationId(shoppingOrder.getAppUserId());
if(1 == paymentType){
WxPaymentRefundModel model = new WxPaymentRefundModel();
model.setOut_trade_no(shoppingOrder.getCode());
@@ -378,6 +381,7 @@
model.setAmount(amount);
R<String> orderR = wxPaymentClient.refundOrderR(model);
if(200 == orderR.getCode()){
+ this.updateById(shoppingOrder);
shoppingOrderRefundService.save(shoppingOrderRefund);
}
}
@@ -389,49 +393,9 @@
dto.setRefundReason("取消订单");
RefundResp resp = aliPaymentClient.refund(dto).getData();
if(null != resp){
+ this.updateById(shoppingOrder);
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-DDTHH:mm:ss+TIMEZONE");
AjaxResult success = cancelShoppingOrderWxRefund(resp.getOutTradeNo(), resp.getTradeNo(), "SUCCESS", sdf1.format(new Date()));
- if(success.isSuccess()){
- shoppingOrderRefundService.save(shoppingOrderRefund);
- //商品
- if(shoppingOrder.getOrderType() == 1){
- //redis锁 和支付使用同一个锁
- RedisLock redisLock = new RedisLock(redisTemplate, "SHOPPING_GOODS_LOCK", 5, 30000);
- try {
- redisLock.lock();
- TGoods goods = goodsClient.getGoodsById(shoppingOrder.getGoodsId()).getData();
- Integer inventory = goods.getInventory();
- if(-1 != inventory){
- goods.setInventory(inventory + shoppingOrder.getPurchaseQuantity());
- goodsClient.updateGoods(goods);
- }
- }catch (Exception e){
- e.printStackTrace();
- }finally {
- //解锁
- redisLock.unlock();
- }
- }
- //优惠券
- if(shoppingOrder.getOrderType() == 2){
- //redis锁 和支付使用同一个锁
- RedisLock redisLock = new RedisLock(redisTemplate, "SHOPPING_COUPON_LOCK", 5, 30000);
- try {
- redisLock.lock();
- TCoupon coupon = couponClient.getCouponById1(shoppingOrder.getCouponId()).getData();
- Integer inventory = coupon.getInventoryQuantity();
- if(-1 != inventory){
- coupon.setInventoryQuantity(inventory + shoppingOrder.getPurchaseQuantity());
- couponClient.updateCoupon(coupon);
- }
- }catch (Exception e){
- e.printStackTrace();
- }finally {
- //解锁
- redisLock.unlock();
- }
- }
- }
}
}
return AjaxResult.success();
@@ -457,6 +421,13 @@
shoppingOrderRefundService.updateById(one);
//判断是否需要回退库存
TShoppingOrder shoppingOrder = this.getById(one.getShoppingOrderId());
+ shoppingOrder.setStatus(4);
+ shoppingOrder.setRefundCode(one.getRefundSerialNumber());
+ shoppingOrder.setRefundAmount(one.getRefundAmount());
+ shoppingOrder.setRefundStatus(2);
+ shoppingOrder.setRefundTime(one.getRefundTime());
+ this.updateById(shoppingOrder);
+
//商品
if(shoppingOrder.getOrderType() == 1){
//redis锁 和支付使用同一个锁
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
index ed7f52c..a1b1e71 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -62,7 +62,7 @@
</if>
</select>
<select id="getNoInvoicedOrder" resultMap="BaseResultMap">
- select * from t_charging_order where del_flag = 0 and app_user_id = #{appUserId}
+ select * from t_charging_order where del_flag = 0 and status = 5 and recharge_payment_status = 2 and payment_amount is null and app_user_id = #{appUserId}
<if test="null != month and '' != month">
and DATE_FORMAT(end_time, '%Y-%m') = #{month}
</if>
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TExchangeOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TExchangeOrderMapper.xml
index d69a772..2cad0b5 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TExchangeOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TExchangeOrderMapper.xml
@@ -37,23 +37,33 @@
<if test="null != req.code and req.code!=''">
and t1.code LIKE CONCAT('%',#{req.code},'%')
</if>
+ <if test="null != req.status">
+ and t1.status = #{req.status}
+ </if>
<if test="null != req.userIds and req.userIds.size()>0" >
and t1.app_user_id in
<foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
</if>
- <if test="null != req.couponIds and req.couponIds.size()>0 or null != req.couponIds and req.couponIds.size()>0" >
- and (t1.goods_id in
- <foreach collection="req.goodsIds" item="item" index="index" separator="," open="(" close=")">
+ <if test="null != req.userIds and req.userIds.size()>0" >
+ and t1.app_user_id in
+ <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
- or
+ </if>
+
+ <if test="null != req.couponIds and req.couponIds.size()>0" >
and t1.coupon_id in
<foreach collection="req.couponIds" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
- )
+ </if>
+ <if test="null != req.goodsIds and req.goodsIds.size()>0" >
+ and t1.goods_id in
+ <foreach collection="req.goodsIds" item="item" index="index" separator="," open="(" close=")">
+ #{item}
+ </foreach>
</if>
<if test="startTime1 != null and startTime1!=''">
and (t1.create_time between #{startTime1} and #{startTime2})
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
index e6933bf..514f70e 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
@@ -214,7 +214,7 @@
<select id="getNoInvoicedOrder" resultMap="BaseResultMap">
- select * from t_shopping_order where del_flag = 0 and app_user_id = #{appUserId}
+ select * from t_shopping_order where del_flag = 0 and payment_status = 2 and status = 3 and app_user_id = #{appUserId}
<if test="null != month and '' != month">
and DATE_FORMAT(create_time, '%Y-%m') = #{month}
</if>
@@ -227,9 +227,12 @@
<select id="pageList" resultType="com.ruoyi.order.api.model.TShoppingOrder">
select t1.*
from t_shopping_order t1
- where 1=1
+ where 1 = 1
<if test="null != req.code and req.code!=''">
and t1.code LIKE CONCAT('%',#{req.code},'%')
+ </if>
+ <if test="null != req.status">
+ and t1.status = #{req.status}
</if>
<if test="null != req.userIds and req.userIds.size()>0" >
and t1.app_user_id in
@@ -238,17 +241,17 @@
</foreach>
</if>
- <if test="null != req.couponIds and req.couponIds.size()>0 or null != req.couponIds and req.couponIds.size()>0" >
- and (t1.goods_id in
- <foreach collection="req.goodsIds" item="item" index="index" separator="," open="(" close=")">
- #{item}
- </foreach>
- or
+ <if test="null != req.couponIds and req.couponIds.size()>0" >
and t1.coupon_id in
<foreach collection="req.couponIds" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
- )
+ </if>
+ <if test="null != req.goodsIds and req.goodsIds.size()>0" >
+ and t1.goods_id in
+ <foreach collection="req.goodsIds" item="item" index="index" separator="," open="(" close=")">
+ #{item}
+ </foreach>
</if>
<if test="startTime1 != null and startTime1!=''">
and (t1.create_time between #{startTime1} and #{startTime2})
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
index ca0b516..739d696 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
@@ -42,7 +42,7 @@
and t1.vip_id = #{req.vipId}
</if>
<if test="startTime1 != null and startTime1!=''">
- and (t1.create_time between #{startTime1} and #{startTime2}
+ and t1.create_time between #{startTime1} and #{startTime2}
</if>
and t1.payment_status = 2
AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
diff --git a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java
index 985ca03..04048b4 100644
--- a/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java
+++ b/ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java
@@ -5,6 +5,7 @@
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.feignClient.OrderClient;
+import com.ruoyi.order.api.feignClient.ShoppingOrderClient;
import com.ruoyi.payment.api.vo.PaymentOrder;
import com.ruoyi.payment.api.vo.WxRefundNotifyResp;
import com.ruoyi.payment.wx.enums.RefundEnum;
@@ -41,6 +42,9 @@
@Resource
private ChargingOrderClient chargingOrderClient;
+
+ @Resource
+ private ShoppingOrderClient shoppingOrderClient;
@@ -196,6 +200,10 @@
chargingOrderClient.chargingOrderStartupFailureWxRefund(out_refund_no, refund_id, tradeState, success_time);
System.err.println("----充电启动失败退款回调通知");
break;
+ case "GDF":
+ shoppingOrderClient.cancelShoppingOrderWxRefund(out_refund_no, refund_id, tradeState, success_time);
+ System.err.println("----商城订单取消退款回调通知");
+ break;
//充电订单
case "GWF":
chargingOrderClient.shoppingOrderWxRefund(out_refund_no, refund_id, tradeState, success_time);
--
Gitblit v1.7.1