| trading-order-admin/src/main/java/com/yami/trading/admin/controller/dz/AdminStockDzController.java | ●●●●● patch | view | raw | blame | history | |
| trading-order-bean/src/main/java/com/yami/trading/bean/dz/StockDz.java | ●●●●● patch | view | raw | blame | history | |
| trading-order-service/src/main/java/com/yami/trading/dao/dz/StockDzMapper.java | ●●●●● patch | view | raw | blame | history | |
| trading-order-service/src/main/java/com/yami/trading/service/dz/StockDzService.java | ●●●●● patch | view | raw | blame | history | |
| trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
| trading-order-service/src/main/resources/mapper/dz/StockDzMapper.xml | ●●●●● patch | view | raw | blame | history |
trading-order-admin/src/main/java/com/yami/trading/admin/controller/dz/AdminStockDzController.java
New file @@ -0,0 +1,74 @@ package com.yami.trading.admin.controller.dz; import com.yami.trading.bean.dz.StockDz; import com.yami.trading.common.domain.Result; import com.yami.trading.service.dz.StockDzService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @RestController @CrossOrigin @Api(tags = "后台股票大宗订单") @RequestMapping("stockDz") @Slf4j public class AdminStockDzController { @Resource StockDzService stockDzService; /** * @Description: 获取大宗列表 * @Param: * @return: */ @ApiOperation("获取大宗列表") @RequestMapping({"getDzListByAdmin.do"}) public Result getDzListByAdmin(String keywords) { return stockDzService.getDzListByAdmin(keywords); } /** * @Description: 新增大宗 * @Param: * @return: */ @ApiOperation("新增大宗") @RequestMapping({"addByAdmin.do"}) public Result addByAdmin(@RequestParam(value = "stockCode") String stockCode, @RequestParam(value = "stockNum") String stockNum, @RequestParam(value = "password", required = false) String password, @RequestParam(value = "startTime") String startTime, @RequestParam(value = "endTime") String endTime, @RequestParam(value = "discount", required = false) String discount, @RequestParam(value = "period") Integer period, @RequestParam(value = "nowPrice") String nowPrice, @RequestParam(value = "switchType", defaultValue = "0") Integer switchType) { return stockDzService.addByAdmin(stockCode, stockNum, password, startTime, endTime, discount, period,nowPrice,switchType); } /** * 删除大宗 */ @ApiOperation("删除大宗") @RequestMapping({"deleteByAdmin.do"}) public Result deleteByAdmin(@RequestParam(value = "id") String id) { return stockDzService.deleteByAdmin(id); } /** * 修改大宗 */ @ApiOperation("修改大宗") @RequestMapping({"updateByAdmin.do"}) public Result updateByAdmin(StockDz model) { return stockDzService.updByAdmin(model); } } trading-order-bean/src/main/java/com/yami/trading/bean/dz/StockDz.java
New file @@ -0,0 +1,61 @@ package com.yami.trading.bean.dz; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.yami.trading.common.domain.UUIDEntity; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; @TableName("t_stock_dz") @Data public class StockDz extends UUIDEntity { private String stockName; private String stockCode; private String stockType; private String stockGid; private String stockSpell; private Integer isLock; private Integer isShow; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date addTime; /*点差费率*/ private BigDecimal spreadRate; // 涨幅比例 private BigDecimal increaseRatio; //最小购买数量 private Integer stockNum; @TableField(updateStrategy = FieldStrategy.IGNORED) private String password; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; private BigDecimal discount; /** * 周期 */ private Integer period; /** * 大宗审核开关(0:关闭 1:打开) */ private Integer switchType = 0; private static final long serialVersionUID = 1L; //价格 private BigDecimal nowPrice; } trading-order-service/src/main/java/com/yami/trading/dao/dz/StockDzMapper.java
New file @@ -0,0 +1,17 @@ package com.yami.trading.dao.dz; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yami.trading.bean.dz.StockDz; import org.apache.ibatis.annotations.Param; public interface StockDzMapper extends BaseMapper<StockDz> { Page findStockTypeDz(Page page, @Param("orderBy") String orderBy, @Param("keyWords") String keyWords , @Param("formatDate") String formatDate); } trading-order-service/src/main/java/com/yami/trading/service/dz/StockDzService.java
New file @@ -0,0 +1,22 @@ package com.yami.trading.service.dz; import com.baomidou.mybatisplus.extension.service.IService; import com.yami.trading.bean.dz.StockDz; import com.yami.trading.common.domain.Result; import javax.servlet.http.HttpServletRequest; public interface StockDzService extends IService<StockDz> { Result getDzList(int pageNum, int pageSize, String orderBy, String keyWords, HttpServletRequest request); Result addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer period,String nowPrice,Integer switchType); Result getDzListByAdmin(String keywords); Result updByAdmin(StockDz model); Result deleteByAdmin(String id); } trading-order-service/src/main/java/com/yami/trading/service/dz/impl/StockDzServiceImpl.java
New file @@ -0,0 +1,117 @@ package com.yami.trading.service.dz.impl; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yami.trading.bean.dz.StockDz; import com.yami.trading.common.domain.Result; import com.yami.trading.dao.dz.StockDzMapper; import com.yami.trading.service.dz.StockDzService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.Date; import java.util.List; @Service @Slf4j public class StockDzServiceImpl extends ServiceImpl<StockDzMapper, StockDz> implements StockDzService { @Resource private StockDzMapper stockDzMapper; @Override public Result getDzList(int pageNum, int pageSize, String orderBy, String keyWords, HttpServletRequest request) { try { String formatDate = DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN); Page page = new Page(pageNum, pageSize); stockDzMapper.findStockTypeDz(page,orderBy,keyWords,formatDate); return Result.succeed(page); } catch (Exception e) { log.error(e.getMessage()); } return Result.failed("获取失败"); } @Override public Result addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer period,String nowPrice,Integer switchType) { if (stockCode == null || stockCode.isEmpty() ||stockNum == null || stockNum.isEmpty() || startTime == null || startTime.isEmpty() ||endTime == null || endTime.isEmpty() || period == null || nowPrice == null){ return Result.failed("参数不能为空"); } Long count = stockDzMapper.selectCount(new LambdaQueryWrapper<StockDz>() .eq(StockDz::getStockCode,stockCode)); if(count > 0){ return Result.failed("股票代码已存在"); } StockDz stockDz = new StockDz(); /*stockDz.setStockName(stock.getStockName()); stockDz.setStockCode(stock.getStockCode()); stockDz.setStockType(stock.getStockType()); stockDz.setStockGid(stock.getStockGid()); stockDz.setStockSpell(stock.getStockSpell()); stockDz.setIsLock(stock.getIsLock()); stockDz.setSpreadRate(stock.getSpreadRate());*/ stockDz.setStockCode(stockCode); stockDz.setIsShow(1); stockDz.setAddTime(new Date()); stockDz.setIncreaseRatio(BigDecimal.ZERO); stockDz.setStockNum(Integer.valueOf(stockNum)); stockDz.setPassword(password); stockDz.setStartTime(DateUtil.parseDateTime(startTime)); stockDz.setEndTime(DateUtil.parseDateTime(endTime)); // stockDz.setDiscount(new BigDecimal(discount)); stockDz.setPeriod(period); stockDz.setSwitchType(switchType); stockDz.setNowPrice(new BigDecimal(nowPrice)); if (save(stockDz)) { return Result.succeed("添加成功"); } return Result.failed("添加失败"); } @Override public Result getDzListByAdmin(String Keywords) { List<StockDz> list ; if (Keywords != null && !Keywords.isEmpty()){ list = stockDzMapper.selectList(new QueryWrapper<StockDz>().like("stock_name", Keywords).or().like("stock_code", Keywords).or().like("stock_type", Keywords)); }else { list = stockDzMapper.selectList(new QueryWrapper<StockDz>().orderByDesc("id")); } return Result.succeed(list); } @Override public Result updByAdmin(StockDz model) { Long count = stockDzMapper.selectCount(new LambdaQueryWrapper<StockDz>() .eq(StockDz::getStockCode, model.getStockCode()) .ne(StockDz::getUuid, model.getUuid())); if(count > 0){ return Result.failed("股票代码已存在"); } return stockDzMapper.updateById(model) > 0 ? Result.succeed("修改成功") : Result.failed("修改失败"); } @Override public Result deleteByAdmin(String id) { int res = stockDzMapper.deleteById(id); if (res > 0) { return Result.succeed(); } return Result.failed("删除失败"); } } trading-order-service/src/main/resources/mapper/dz/StockDzMapper.xml
New file @@ -0,0 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yami.trading.dao.dz.StockDzMapper"> <select id="findStockTypeDz" resultType="java.util.HashMap" parameterType="map"> SELECT * FROM stock_dz WHERE start_time < #{formatDate} AND end_time > #{formatDate} <if test="keyWords != null and keyWords != '' "> AND (stock_spell LIKE #{keyWords} OR stock_name LIKE #{keyWords}) </if> <if test="orderBy != null"> ORDER BY increase_ratio <if test="orderBy == 'desc'"> DESC </if> <if test="orderBy == 'asc'"> ASC </if> </if> </select> </mapper>