jack
2024-04-22 f7f24fd4361c4cdccd665f05657e026efe1902ff
增加流水日志
12 files modified
4 files added
278 ■■■■ changed files
src/main/java/com/nq/controller/backend/AdminController.java 38 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/controller/backend/AdminUserController.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/controller/protol/UserController.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/dao/ApplyLeverMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/enums/EConfigKey.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/pojo/ApplyLever.java 37 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/pojo/User.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/IApplyLeverServices.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/ApplyLeverServicesimpl.java 89 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/MoneyLogServcesimpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/RateServicesImpl.java 48 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java 9 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/resources/application.yml 2 ●●● patch | view | raw | blame | history
src/main/resources/mapper/UserMapper.xml 4 ●●● patch | view | raw | blame | history
target/classes/application.yml 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/controller/backend/AdminController.java
@@ -7,10 +7,7 @@
import com.nq.common.ServerResponse;
import com.nq.pojo.DkJgBean;
import com.nq.pojo.EChoBean;
import com.nq.pojo.PayChnnel;
import com.nq.pojo.SiteAdmin;
import com.nq.pojo.*;
import com.nq.service.*;
@@ -72,12 +69,41 @@
    @Autowired
    IUserAssetsServices iUserAssetsServices;
    @Autowired
    IApplyLeverServices iApplyLeverServices;
    //分页查询管理设置 所有管理列表数据及模糊查询
    @RequestMapping({"list.do"})
    @ResponseBody
    public ServerResponse<PageInfo> list(@RequestParam(value = "adminName", required = false) String adminName, @RequestParam(value = "adminPhone", required = false) String adminPhone, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, HttpServletRequest request) {
    public ServerResponse<PageInfo> list(@RequestParam(value = "adminName", required = false) String adminName,
                                         @RequestParam(value = "adminPhone", required = false) String adminPhone,
                                         @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                         @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
                                         HttpServletRequest request) {
        return this.iSiteAdminService.listByAdmin(adminName, adminPhone, request, pageNum, pageSize);
    }
    @RequestMapping({"queryApplyLever.do"})
    @ResponseBody
    public ServerResponse queryApplyLever(@RequestParam(value = "phone", required = false) String adminName,
                                          @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                          @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
                                          HttpServletRequest request
                                          ) {
        return this.iApplyLeverServices.queryApplyLever(adminName,pageNum,pageSize, request);
    }
    @RequestMapping({"examineApplyLever.do"})
    @ResponseBody
    public ServerResponse examineApplyLever(@RequestParam(value = "id", required = true) String id,
                                            @RequestParam(value = "state", defaultValue = "1") String state,
                                            HttpServletRequest request) {
        return this.iApplyLeverServices.examineApplyLever(id,state,request);
    }
    //修改管理员状态 锁定管理员/解锁管理员
    @RequestMapping({"updateLock.do"})
@@ -158,6 +184,8 @@
    }
    @RequestMapping("dksp.do")
    @ResponseBody
    public ServerResponse dksp(@RequestParam("dkId") Integer dkid,
src/main/java/com/nq/controller/backend/AdminUserController.java
@@ -4,6 +4,7 @@
import com.nq.common.ServerResponse;
import com.nq.pojo.User;
import com.nq.pojo.UserBank;
import com.nq.service.IApplyLeverServices;
import com.nq.service.IUserBankService;
import com.nq.service.IUserService;
import javax.servlet.http.HttpServletRequest;
@@ -26,6 +27,7 @@
    @Autowired
    IUserBankService iUserBankService;
    //分页查询所有用户列表信息 及模糊查询用户信息
    @RequestMapping({"list.do"})
@@ -95,4 +97,6 @@
    public ServerResponse delete(Integer userId, HttpServletRequest request) {
        return this.iUserService.delete(userId, request);
    }
}
src/main/java/com/nq/controller/protol/UserController.java
@@ -4,6 +4,7 @@
import com.google.common.collect.Maps;
import com.nq.common.ServerResponse;
import com.nq.enums.EStockType;
import com.nq.pojo.ApplyLever;
import com.nq.pojo.StockSubscribe;
import com.nq.pojo.UserStockSubscribe;
import com.nq.service.*;
@@ -56,6 +57,12 @@
    @Autowired
    IUserRechargeService iUserRechargeService;
    @Autowired
    IApplyLeverServices iApplyLeverServices;
    //添加到自选股
    @RequestMapping({"addOption.do"})
@@ -350,4 +357,11 @@
    }
    @RequestMapping({"applyLever.do"})
    @ResponseBody
    public ServerResponse applyLever(ApplyLever applyLever,HttpServletRequest request) {
        return iApplyLeverServices.applyLever(applyLever,request);
    }
}
src/main/java/com/nq/dao/ApplyLeverMapper.java
New file
@@ -0,0 +1,7 @@
package com.nq.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nq.pojo.ApplyLever;
public interface ApplyLeverMapper  extends BaseMapper<ApplyLever> {
}
src/main/java/com/nq/enums/EConfigKey.java
@@ -8,7 +8,7 @@
    LIMIT_UP_IS_BUY("limit_up_is_buy","涨停是否可以购买"),
    LIMIT_DOWN_POINT("limit_down_point","跌停点位"),
    PERCENTAGE_OF_FUNDS("percentage_of_funds","资金百分比"),
    WITHDRAW_TIME_SETTING("WITHDRAW_TIME_SETTING","提现时间设置"),
    MAX_BUY("MAX_BUY","最大买入"),
src/main/java/com/nq/pojo/ApplyLever.java
New file
@@ -0,0 +1,37 @@
package com.nq.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class ApplyLever {
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;
    /**
     *
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    // 用户id
    private String userId;
    // 用户手机号码
    private String phone;
    // 杠杆
    private String lever;
    private String state;
    private String descs;
}
src/main/java/com/nq/pojo/User.java
@@ -34,5 +34,7 @@
    private String authMsg;
    private String withdrawalPwd;
    private String vaildNumber;
    private String lever;
    private String fundRatio;
}
src/main/java/com/nq/service/IApplyLeverServices.java
New file
@@ -0,0 +1,17 @@
package com.nq.service;
import com.nq.common.ServerResponse;
import com.nq.pojo.ApplyLever;
import javax.servlet.http.HttpServletRequest;
public interface IApplyLeverServices {
    ServerResponse  applyLever(ApplyLever applyLever, HttpServletRequest request);
    ServerResponse  examineApplyLever(String  id,String states, HttpServletRequest request);
    ServerResponse  queryApplyLever(String phone, Integer page,Integer pageSize,HttpServletRequest request);
}
src/main/java/com/nq/service/impl/ApplyLeverServicesimpl.java
New file
@@ -0,0 +1,89 @@
package com.nq.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nq.common.ServerResponse;
import com.nq.dao.ApplyLeverMapper;
import com.nq.dao.UserMapper;
import com.nq.pojo.ApplyLever;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nq.pojo.User;
import com.nq.service.IApplyLeverServices;
import com.nq.service.IUserService;
import org.apache.http.util.TextUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
@Service
public class ApplyLeverServicesimpl  implements IApplyLeverServices {
    @Resource
    ApplyLeverMapper applyLeverMapper;
    @Resource
    IUserService userService;
    @Resource
    UserMapper userMapper;
    @Override
    public ServerResponse applyLever(ApplyLever applyLever, HttpServletRequest request) {
        QueryWrapper<ApplyLever> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("user_id",userService.getCurrentUser(request).getId());
        if(applyLeverMapper.selectCount(queryWrapper)>0){
            return ServerResponse.createByErrorMsg("你已经申请杠杆了",request);
        }
        User user = userService.getCurrentUser(request);
        applyLever.setPhone(user.getPhone());
        applyLever.setUserId(user.getId()+"");
        applyLever.setState("0");
        applyLever.setCreateTime(new Date());
        if(applyLeverMapper.insert(applyLever)>0){
            return ServerResponse.createBySuccess("申请成功,请联系客服",request);
        }else{
            return ServerResponse.createByErrorMsg("申请失败",request);
        }
    }
    @Transactional
    @Override
    public ServerResponse examineApplyLever(String  id,String states, HttpServletRequest request) {
        ApplyLever applyLever = applyLeverMapper.selectById(id);
        applyLever.setState(states);
        applyLeverMapper.updateById(applyLever);
       User user =  userMapper.selectById(applyLever.getUserId());
       user.setLever(applyLever.getLever());
       userMapper.updateById(user);
       return ServerResponse.createBySuccess();
    }
    @Override
    public ServerResponse queryApplyLever(String phone, Integer page, Integer pageSize, HttpServletRequest request) {
        Integer userId = null;
        Page<ApplyLever> page1 = new Page<>(page, pageSize);
        if(!TextUtils.isEmpty(phone)){
            QueryWrapper<User> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("phone",phone);
            User user = userMapper.selectOne(queryWrapper);
            if(user != null ){
                userId = user.getId();
            }else{
                QueryWrapper<ApplyLever> queryWrapper1 = new QueryWrapper<>();
                queryWrapper1.eq("user_id",phone);
                return ServerResponse.createBySuccess(applyLeverMapper.selectPage(page1,queryWrapper1));
            }
        }
        QueryWrapper<ApplyLever> queryWrapper1 = new QueryWrapper<>();
        if(userId != null){
            queryWrapper1.eq("user_id",userId);
        }
        queryWrapper1.orderByDesc("create_time");
       return ServerResponse.createBySuccess(applyLeverMapper.selectPage(page1,queryWrapper1));
    }
}
src/main/java/com/nq/service/impl/MoneyLogServcesimpl.java
@@ -18,7 +18,7 @@
    MoneyLogMapper moneyLogMapper;
    @Override
    public Page<MoneyLog> queryMoneyLog(String user, Integer page, Integer pageSize) {
        Page<MoneyLog> page1 = new Page<>(1, 10);
        Page<MoneyLog> page1 = new Page<>(page, pageSize);
        QueryWrapper<MoneyLog> queryWrapper = new QueryWrapper<>();
        if(!TextUtils.isEmpty(user)){
src/main/java/com/nq/service/impl/RateServicesImpl.java
@@ -17,30 +17,30 @@
    ISiteSettingService iSiteSettingService;
    @Override
    public BigDecimal currencyRate(EStockType fromStockType, EStockType tofromStockType) {
        if(fromStockType == null || tofromStockType == null){
            return new BigDecimal(1);
        }
       BigDecimal rate =  iSiteSettingService.getSiteSetting().getExchangeRate();
        BigDecimal rate1 =  new BigDecimal(7.35);
        if(fromStockType==EStockType.US){
            if(tofromStockType==EStockType.MAS){
                return rate;
            }else if(tofromStockType==EStockType.HK){
                return rate1;
            }
        }if(fromStockType==EStockType.HK){
            if(tofromStockType==EStockType.MAS){
               return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN).multiply(rate);
            }else if(tofromStockType==EStockType.US){
                return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN);
            }
        } else {
            if(tofromStockType==EStockType.US){
                return   new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN);
            }else{
                return   new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN).multiply(rate1);
            }
        }
//        if(fromStockType == null || tofromStockType == null){
//            return new BigDecimal(1);
//        }
//       BigDecimal rate =  iSiteSettingService.getSiteSetting().getExchangeRate();
//        BigDecimal rate1 =  new BigDecimal(7.35);
//        if(fromStockType==EStockType.US){
//            if(tofromStockType==EStockType.MAS){
//                return rate;
//            }else if(tofromStockType==EStockType.HK){
//                return rate1;
//            }
//        }if(fromStockType==EStockType.HK){
//            if(tofromStockType==EStockType.MAS){
//               return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN).multiply(rate);
//            }else if(tofromStockType==EStockType.US){
//                return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN);
//            }
//        } else {
//            if(tofromStockType==EStockType.US){
//                return   new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN);
//            }else{
//                return   new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN).multiply(rate1);
//            }
//        }
     
        return new BigDecimal(1);
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -174,7 +174,9 @@
        BigDecimal orderFree = siteSettingBuyFee.multiply(buyAmt);
        UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(stock.getStockType(), user.getId());
        if (userAssets.getAvailableBalance().compareTo(buyAmt.add(orderFree)) < 0) {
        BigDecimal   fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
        BigDecimal availableBalance =  fundratio.multiply(userAssets.getAvailableBalance());
        if (availableBalance.compareTo(buyAmt.add(orderFree)) < 0) {
            return ServerResponse.createByErrorMsg("订单失败,余额不足", request);
        }
        UserPosition userPosition = new UserPosition();
@@ -1545,7 +1547,10 @@
            return ServerResponse.createByErrorMsg("最小购买数据" + stockDz.getStockNum(), request);
        }
        BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(num.intValue()));
        if (buyAmt.compareTo(userAssetsServices.getAvailableBalance(EStockType.IN.getCode(), user.getId())) > 0) {
        UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(stock.getStockType(), user.getId());
        BigDecimal   fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
        BigDecimal availableBalance =  fundratio.multiply(userAssets.getAvailableBalance());
        if (buyAmt.compareTo(availableBalance) > 0) {
            return ServerResponse.createByErrorMsg("订单失败,余额不足", request);
        }
        UserPosition userPosition = new UserPosition();
src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -121,7 +121,6 @@
    public ServerResponse reg(String yzmCode, String agentCode, String phone, String userPwd, HttpServletRequest request) {
        if (StringUtils.isBlank(agentCode) || StringUtils.isBlank(phone) ||
                StringUtils.isBlank(userPwd) || StringUtils.isBlank(yzmCode)) {
src/main/resources/application.yml
@@ -122,7 +122,7 @@
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/zyqsstock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    url: jdbc:mysql://127.0.0.1:3306/caicai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
#    url: jdbc:mysql://127.0.0.1:3306/cgstock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: 123456
src/main/resources/mapper/UserMapper.xml
@@ -24,13 +24,15 @@
        <result column="auth_msg" property="authMsg"/>
        <result column="withdrawal_Pwd" property="withdrawalPwd"/>
        <result column="vaild_number"  property="vaildNumber"/>
        <result column="lever" property="lever"/>
        <result column="fund_ratio"  property="fundRatio"/>
    </resultMap>
    <sql id="Base_Column_List">
    id, agent_id, agent_name, phone, user_pwd, with_pwd, nick_name, real_name, id_card, 
    account_type, is_lock, is_login,
    reg_time, reg_ip, reg_address, img1_key, img2_key, img3_key, is_active, auth_msg,
    withdrawal_Pwd,vaild_number
    withdrawal_Pwd,vaild_number,lever,fund_ratio
  </sql>
target/classes/application.yml
@@ -122,7 +122,7 @@
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/zyqsstock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    url: jdbc:mysql://127.0.0.1:3306/caicai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
#    url: jdbc:mysql://127.0.0.1:3306/cgstock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: 123456