k94314517
2023-10-24 be4bfd2dac75cf4249ef30f85c4fbb07d0dcc67f
Merge remote-tracking branch 'origin/dev' into dev
已修改8个文件
44 ■■■■ 文件已修改
server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/system/dto/QuerySystemUserDTO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/resources/mappers/SystemUserMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
/**
 * 自定义Realm,处理认证和权限
@@ -82,6 +83,9 @@
        if(user == null){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,账号或密码不正确!");
        }
        if(Objects.equals(user.getStatus(),Constants.ONE)){
            throw new AuthenticationException("用户已被禁用,请联系管理员");
        }
        // 获取登录用户信息
        List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
        List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
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);
        // 设置部门
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;
}
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;
    }
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();
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(),"字典值解析有误");
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());
        }
    }
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>