From be4bfd2dac75cf4249ef30f85c4fbb07d0dcc67f Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 24 十月 2023 18:15:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java    |    2 +-
 server/services/src/main/resources/mappers/SystemUserMapper.xml                             |    9 ++++++++-
 server/services/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java             |    4 ++++
 server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java |    4 ++--
 server/services/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java             |   10 +++++++++-
 server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java   |    7 +++++--
 server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java                       |    6 +++++-
 server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java |    4 ++--
 8 files changed, 36 insertions(+), 10 deletions(-)

diff --git a/server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java b/server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java
index b824008..94a7e98 100644
--- a/server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java
+++ b/server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java
@@ -26,6 +26,7 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 鑷畾涔塕ealm锛屽鐞嗚璇佸拰鏉冮檺
@@ -71,7 +72,7 @@
      * @date 2022/03/15 09:54
      */
     @Override
-    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException{
+    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
         // 鑾峰彇鐢ㄦ埛鍚�
         String username = authenticationToken.getPrincipal().toString();
         // 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
@@ -82,6 +83,9 @@
         if(user == null){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿鎴栧瘑鐮佷笉姝g‘锛�");
         }
+        if(Objects.equals(user.getStatus(),Constants.ONE)){
+            throw new AuthenticationException("鐢ㄦ埛宸茶绂佺敤锛岃鑱旂郴绠$悊鍛�");
+        }
         // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
         List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
         List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
diff --git a/server/services/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java b/server/services/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
index a3f1165..2c0cb31 100644
--- a/server/services/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
+++ b/server/services/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
@@ -20,6 +20,7 @@
 import com.doumee.service.system.SystemPositionUserService;
 import com.doumee.service.system.SystemUserRoleService;
 import com.doumee.service.system.SystemUserService;
+import com.google.common.base.Objects;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -56,6 +57,9 @@
         }
         if (Constants.formatIntegerNum(user.getFixed())==Constants.ONE ) {
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇峰嬁鍒犻櫎" + user.getUsername() + "锛屽洜涓鸿繖鏄浐瀹氱敤鎴�");
+        }
+        if ("admin".equals(user.getUsername())){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瓒呯骇绠$悊鍛樿处鍙蜂笉鍏佽鍒犻櫎");
         }
         systemUserService.deleteById(id);
     }
@@ -117,7 +121,7 @@
         queryUserDto.setUsername(systemUser.getMobile());
         SystemUser user = systemUserService.findOne(queryUserDto);
         if (user != null) {
-            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鐢ㄦ埛鍚嶅凡瀛樺湪");
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙风爜宸插瓨鍦�");
         }
          // 楠岃瘉宸ュ彿
         if (StringUtils.isNotBlank(systemUser.getEmpNo())) {
@@ -165,6 +169,7 @@
     public void updateById(CreateSystemUserDTO systemUser) {
         // 楠岃瘉鐢ㄦ埛鍚�
         SystemUser queryUserDto = new SystemUser();
+        queryUserDto.setId(systemUser.getId());
         queryUserDto.setUsername(systemUser.getUsername());
         queryUserDto.setDeleted(Constants.ZERO);
         SystemUser user = systemUserService.findOne(queryUserDto);
@@ -182,6 +187,9 @@
                 throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "宸ュ彿宸插瓨鍦�");
             }
         }
+        if ("admin".equals(user.getUsername()) && Objects.equal(systemUser.getStatus(),1)){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瓒呯骇绠$悊鍛樿处鍙蜂笉鍏佽绂佺敤");
+        }
         // 淇敼鐢ㄦ埛
         systemUserService.updateById(systemUser);
         // 璁剧疆閮ㄩ棬
diff --git a/server/services/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java b/server/services/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java
index 84785c1..799d553 100644
--- a/server/services/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java
+++ b/server/services/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java
@@ -36,5 +36,9 @@
     @ApiModelProperty(value = "鎵嬫満鍙风爜")
     private String mobile;
 
+    @ApiModelProperty(value = "鐢ㄦ埛鐘舵��")
+    private Integer status;
 
+    @ApiModelProperty(value = "鐢ㄦ埛瑙掕壊")
+    private Integer roleId;
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 397bdae..28af173 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -395,6 +395,8 @@
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     @Override
     public void closeGoodsorder( Goodsorder goodsorder ,int type ) {
+
+        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         List<MemberRides> memberRides = getMemberRidesForClose(goodsorder.getId());
         //榛樿缁撶畻涓烘娂閲戦噾棰�
         BigDecimal closeMoney = new BigDecimal(0.00);
@@ -442,6 +444,7 @@
             refundDTO.setTotalAmount(goodsorder.getMoney());
             refundDTO.setMemberId(goodsorder.getMemberId());
             refundDTO.setReason(Constants.REFUND_TYPE.get(type).getName());
+            refundDTO.setCreator(principal.getId());
             refundDTO.setType(type);
             Refund refund = wxMiniUtilService.wxRefund(refundDTO);
             update.setCloseId(refund.getId());
@@ -530,7 +533,7 @@
         BigDecimal refundMoney = total == null?new BigDecimal(0):Constants.formatDecimalNum(total.getMoney());
         //鍙��鍓╀綑 鍗曚綅鍏�
         BigDecimal canBalance =Constants.translateMoney(Constants.formatDecimalNum(goodsorder.getMoney()).subtract(refundMoney));
-        if(canBalance.compareTo(money) > Constants.ZERO){
+        if(canBalance.compareTo(money) >= Constants.ZERO){
             RefundDTO refundDTO = new RefundDTO();
             refundDTO.setOrderId(orderId);
             refundDTO.setCanBalance(canBalance);
@@ -566,7 +569,7 @@
         BigDecimal reduce =  total!=null?Constants.formatDecimalNum(total.getMoney()):new BigDecimal(0);
         goodsorderCanBanlanceDTO.setHasRefundMoney(Constants.translateMoney(reduce));
 
-        BigDecimal subtract = Constants.translateMoney(goodsorder.getMoney()).subtract(goodsorderCanBanlanceDTO.getCloseMoney()).subtract(goodsorderCanBanlanceDTO.getHasRefundMoney());
+        BigDecimal subtract = Constants.translateMoney(goodsorder.getMoney()).subtract(goodsorderCanBanlanceDTO.getHasRefundMoney());
         goodsorderCanBanlanceDTO.setCanBanlanceMoney(subtract.compareTo(new BigDecimal("0")) > 0 ? subtract : new BigDecimal("0"));
         return goodsorderCanBanlanceDTO;
     }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java
index 53664f0..d7d1f1f 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java
@@ -118,9 +118,9 @@
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ュ畾浠锋柟妗堜笅娌℃湁閰嶇疆浠锋牸");
             }
             List<String> collect = pricingDetails.stream().map(s -> s.getBikeTypeId()).collect(Collectors.toList());
-            boolean b = baseParams.stream().map(s -> s.getId()).anyMatch(s -> collect.contains(s));
+            boolean b = baseParams.stream().map(s -> s.getId()).allMatch(s -> collect.contains(s));
 
-            if (b){
+            if (!b){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ュ畾浠锋柟妗堜笅娌℃湁閰嶇疆瀹屾暣");
             }
             PricingParam pricingParam1 = new PricingParam();
diff --git a/server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java b/server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
index 54931bf..53a5c43 100644
--- a/server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
@@ -142,13 +142,13 @@
             String jasonStr = MiniProgrammeDTO.toUnderlineJSONString(miniProgrammeDTO);
             JSONObject parse = (JSONObject) JSONObject.parse(jasonStr);
             parse.entrySet().forEach(s->{
-                if (StringUtils.isNotBlank((String)s.getValue())){
+//                if (StringUtils.isNotBlank((String)s.getValue())){
                     UpdateWrapper<SystemDictData> wrapper = new UpdateWrapper<>();
                     wrapper.lambda()
                             .eq(SystemDictData::getLabel,s.getKey().toUpperCase())
                             .set(SystemDictData::getCode,s.getValue());
                     systemDictDataMapper.update(null,wrapper);
-                }
+//                }
             });
         } catch (JsonProcessingException e) {
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀛楀吀鍊艰В鏋愭湁璇�");
diff --git a/server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index 6df9cbf..8c22890 100644
--- a/server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -120,7 +120,7 @@
             loginLog.setReason(e.getMessage().length() > 200 ? (e.getMessage().substring(0, 190) + "...") : e.getMessage());
             loginLog.setSuccess(Constants.ONE);
             systemLoginLogService.create(loginLog);
-            throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
+            throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT.getCode(),e.getMessage());
         }
     }
 
diff --git a/server/services/src/main/resources/mappers/SystemUserMapper.xml b/server/services/src/main/resources/mappers/SystemUserMapper.xml
index 4e3503d..9ae4ea2 100644
--- a/server/services/src/main/resources/mappers/SystemUserMapper.xml
+++ b/server/services/src/main/resources/mappers/SystemUserMapper.xml
@@ -63,12 +63,13 @@
     select
     distinct
     usr.id, usr.birthday, usr.email, usr.emp_no, usr.mobile, usr.avatar, usr.username, usr.realname, usr.sex, usr.fixed, usr.create_time, usr.update_time,
-    usr.nickname,
+    usr.nickname,usr.status,
     create_user.id create_user_id, create_user.username create_user_name,
     update_user.id updete_user_id, update_user.username update_user_name
     from "system_user" usr
     left join "system_user" create_user on create_user.id = usr.create_user
     left join "system_user" update_user on update_user.id = usr.update_user
+    left join "system_user_role" sur on sur.user_id = usr.id
     <where>
       usr.deleted = 0
       <if test="dto.username != null and dto.username != ''">
@@ -80,6 +81,12 @@
       <if test="dto.mobile != null and dto.mobile != ''">
         AND usr.mobile  LIKE '%'||#{dto.mobile}||'%'
       </if>
+      <if test="dto.status != null ">
+        AND usr.status  = #{dto.status}
+      </if>
+      <if test="dto.roleId != null and dto.roleId != ''">
+        AND sur.role_id  = #{dto.roleId}
+      </if>
 
     </where>
   </select>

--
Gitblit v1.9.3