Browse Source

测试

detached
zhangluping 5 months ago
parent
commit
be7d2d7607
  1. 41
      src/main/java/com/example/demo/controller/RateController.java
  2. 8
      src/main/java/com/example/demo/domain/entity/Rate.java
  3. 16
      src/main/java/com/example/demo/mapper/RateMapper.java
  4. 29
      src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java
  5. 3
      src/main/java/com/example/demo/sevice/RateService.java

41
src/main/java/com/example/demo/controller/RateController.java

@ -34,59 +34,22 @@ public class RateController {
} }
@PostMapping("/update") // PUT 改为 POST @PostMapping("/update") // PUT 改为 POST
public Result update(@RequestBody Rate rate) throws Exception { public Result update(@RequestBody Rate rate) throws Exception {
// try {
rateService.edit(rate); rateService.edit(rate);
return Result.success(); return Result.success();
// } catch (Exception e) {
// log.warn(Arrays.toString(e.getStackTrace()));
// return Result.error(e.getMessage());
// }
} }
// @PutMapping("/update")
// public Result update(@RequestBody Rate rate) {
// try {
// rateService.edit(rate);
// return Result.success();
// } catch (Exception e) {
// log.warn(Arrays.toString(e.getStackTrace()));
// return Result.error(e.getMessage());
// }
// }
@PostMapping("/delete/{rateId}") // DELETE 改为 POST @PostMapping("/delete/{rateId}") // DELETE 改为 POST
public Result delete(@PathVariable("rateId") Integer rateId) { public Result delete(@PathVariable("rateId") Integer rateId) {
try { try {
rateService.delete(rateId);
rateService.softDelete(rateId);
return Result.success(); return Result.success();
} catch (Exception e) { } catch (Exception e) {
log.warn(Arrays.toString(e.getStackTrace())); log.warn(Arrays.toString(e.getStackTrace()));
return Result.error(e.getMessage()); return Result.error(e.getMessage());
} }
} }
// @DeleteMapping("/{rateId}")
// public Result delete(@PathVariable("rateId") Integer rateId) {
// try {
// rateService.delete(rateId);
// return Result.success();
// } catch (Exception e) {
// log.warn(Arrays.toString(e.getStackTrace()));
// return Result.error(e.getMessage());
// }
// }
// @GetMapping("/{rateId}")
// public Result get(@PathVariable Integer rateId) {
// return Result.success(rateService.getById(rateId));
// }
//
// @GetMapping
// public Result search(Integer pageNum, Integer pageSize,Rate rate) {
// if(ObjectUtils.isEmpty(pageNum)){
// return Result.success(rateService.search(rate));
// }else{
// return Result.success(rateService.searchForPage(pageNum,pageSize,rate));
// }
// }
@PostMapping("/search") // 改为 POST 请求 @PostMapping("/search") // 改为 POST 请求
public Result search(@RequestBody Page page) { public Result search(@RequestBody Page page) {
Integer pageNum = page.getPageNum(); Integer pageNum = page.getPageNum();

8
src/main/java/com/example/demo/domain/entity/Rate.java

@ -11,17 +11,23 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
public class Rate { public class Rate {
private Integer rateId; private Integer rateId;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startTime; private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime; private Date endTime;
private String currency; private String currency;
private String exchangeRate; private String exchangeRate;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createTime; private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date updateTime; private Date updateTime;
private Integer adminId; private Integer adminId;
private String adminName; private String adminName;
private String updateId;
private Integer flag;
private String token; private String token;
} }

16
src/main/java/com/example/demo/mapper/RateMapper.java

@ -13,16 +13,17 @@ public interface RateMapper {
@Insert({ @Insert({
"insert into rate", "insert into rate",
"(start_time,end_time,currency,exchange_rate,create_time,update_time,admin_id)",
"(start_time,end_time,currency,exchange_rate,create_time,update_time,admin_id,flag)",
"values", "values",
"(#{startTime},#{endTime},#{currency},#{exchangeRate},now(),#{updateTime},#{adminId})"
"(#{startTime},#{endTime},#{currency},#{exchangeRate},now(),#{updateTime},#{adminId},1)"
}) })
// 获取自增主键 // 获取自增主键
@Options(useGeneratedKeys = true,keyColumn = "rate_id",keyProperty = "rateId") @Options(useGeneratedKeys = true,keyColumn = "rate_id",keyProperty = "rateId")
int insert(Rate rate); int insert(Rate rate);
@Delete({
"delete from rate where rate_id=#{rateId}"
//软删除
@Update({
"update rate set flag = 0 where rate_id=#{rateId}"
}) })
int deleteById(Integer rateId); int deleteById(Integer rateId);
@ -35,7 +36,7 @@ public interface RateMapper {
"<if test='currency!=null and currency.length>0'>currency=#{currency},</if>", "<if test='currency!=null and currency.length>0'>currency=#{currency},</if>",
"<if test='exchangeRate!=null'>exchange_rate=#{exchangeRate},</if>", "<if test='exchangeRate!=null'>exchange_rate=#{exchangeRate},</if>",
"<if test='updateTime!=null'>update_time=#{updateTime},</if>", "<if test='updateTime!=null'>update_time=#{updateTime},</if>",
"<if test='updateId!=null'>update_id=#{updateId},</if>",
"<if test='adminId!=null'>admin_id=#{adminId},</if>",
"</set>", "</set>",
"where rate_id = #{rateId}", "where rate_id = #{rateId}",
"</script>" "</script>"
@ -43,7 +44,7 @@ public interface RateMapper {
int update(Rate rate); int update(Rate rate);
@Select({ @Select({
"select rate_id from rate where rate_id=#{rateId}"
"select * from rate where rate_id=#{rateId}"
}) })
Rate selectById(Integer rateId); Rate selectById(Integer rateId);
@ -53,7 +54,7 @@ public interface RateMapper {
"FROM rate r", "FROM rate r",
"LEFT JOIN admin a ON r.admin_id = a.admin_id", "LEFT JOIN admin a ON r.admin_id = a.admin_id",
"LEFT JOIN admin u ON r.admin_id = u.admin_id", "LEFT JOIN admin u ON r.admin_id = u.admin_id",
"<where>",
"WHERE r.flag =1 ",
"<if test='rateId != null'>AND r.rate_id = #{rateId}</if>", "<if test='rateId != null'>AND r.rate_id = #{rateId}</if>",
"<if test='startTime != null'>AND r.start_time &gt;= #{startTime}</if>", "<if test='startTime != null'>AND r.start_time &gt;= #{startTime}</if>",
"<if test='endTime != null'>AND r.end_time &lt;= #{endTime}</if>", "<if test='endTime != null'>AND r.end_time &lt;= #{endTime}</if>",
@ -62,7 +63,6 @@ public interface RateMapper {
"<if test='updateTime != null'>AND r.update_time LIKE CONCAT('%', #{updateTime}, '%')</if>", "<if test='updateTime != null'>AND r.update_time LIKE CONCAT('%', #{updateTime}, '%')</if>",
"<if test='adminId != null'>AND r.admin_id = #{adminId}</if>", "<if test='adminId != null'>AND r.admin_id = #{adminId}</if>",
"<if test='updateId != null'>AND r.update_id = #{updateId}</if>", "<if test='updateId != null'>AND r.update_id = #{updateId}</if>",
"</where>",
"</script>" "</script>"
}) })

29
src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java

@ -26,17 +26,36 @@ public class RateServiceImpl implements RateService {
return rateMapper.insert(rate); return rateMapper.insert(rate);
} }
//自动软删除数据加更新数据
@Transactional @Transactional
@Override @Override
@CacheEvict(value = "rate",allEntries = true) @CacheEvict(value = "rate",allEntries = true)
public int edit(Rate rate) { public int edit(Rate rate) {
return rateMapper.update(rate);
//获取旧的明细记录
Rate oldRate = rateMapper.selectById(rate.getRateId());
if (oldRate == null || oldRate.getFlag() ==0 ) {
throw new IllegalArgumentException("该记录不存在或已被隐藏!");
}
rateMapper.deleteById(oldRate.getRateId());
//如果字段被修改显示修改后的内容没有被修改的字段保持原来的值
if(rate.getStartTime() ==null) rate.setStartTime(oldRate.getStartTime());
if(rate.getEndTime() ==null) rate.setEndTime(oldRate.getEndTime());
if(rate.getCurrency() ==null) rate.setCurrency(oldRate.getCurrency());
if(rate.getAdminId() ==null) rate.setAdminId(oldRate.getAdminId());
if(rate.getExchangeRate() ==null) rate.setExchangeRate(oldRate.getExchangeRate());
//插入新纪录
rate.setRateId(null);
return rateMapper.insert(rate);
} }
// @CachePut(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #rate.hashCode() ")
//软删除
@CacheEvict(value = "rate",allEntries = true) @CacheEvict(value = "rate",allEntries = true)
@Override @Override
public void delete(Integer rateId) throws Exception {
public void softDelete(Integer rateId) throws Exception {
int result = rateMapper.deleteById(rateId); int result = rateMapper.deleteById(rateId);
if(result == 0){ if(result == 0){
throw new Exception("未找到对应的记录,删除失败"); throw new Exception("未找到对应的记录,删除失败");
@ -47,11 +66,13 @@ public class RateServiceImpl implements RateService {
public Rate getById(Integer rateId) { public Rate getById(Integer rateId) {
return rateMapper.selectById(rateId); return rateMapper.selectById(rateId);
} }
@Cacheable(key="#root.method.name") @Cacheable(key="#root.method.name")
@Override @Override
public List<Rate> search(Rate rate) { public List<Rate> search(Rate rate) {
return rateMapper.select(rate); return rateMapper.select(rate);
} }
@Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #rate.hashCode() ") @Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #rate.hashCode() ")
@Override @Override
public PageInfo<Rate> searchForPage(Integer pageNum, Integer pageSize, Rate rate) { public PageInfo<Rate> searchForPage(Integer pageNum, Integer pageSize, Rate rate) {

3
src/main/java/com/example/demo/sevice/RateService.java

@ -9,7 +9,8 @@ import java.util.List;
public interface RateService { public interface RateService {
int add(Rate rate) throws Exception; int add(Rate rate) throws Exception;
int edit(Rate rate) throws Exception; int edit(Rate rate) throws Exception;
void delete(Integer rateId) throws Exception;
void softDelete(Integer rateId) throws Exception;
Rate getById(Integer rateId); Rate getById(Integer rateId);
List<Rate> search(Rate rate); List<Rate> search(Rate rate);
PageInfo<Rate> searchForPage(Integer pageNum, Integer pageSize, Rate rate); PageInfo<Rate> searchForPage(Integer pageNum, Integer pageSize, Rate rate);

Loading…
Cancel
Save