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
public Result update(@RequestBody Rate rate) throws Exception {
// try {
rateService.edit(rate);
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
public Result delete(@PathVariable("rateId") Integer rateId) {
try {
rateService.delete(rateId);
rateService.softDelete(rateId);
return Result.success();
} catch (Exception e) {
log.warn(Arrays.toString(e.getStackTrace()));
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 请求
public Result search(@RequestBody Page page) {
Integer pageNum = page.getPageNum();

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

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

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

@ -13,16 +13,17 @@ public interface RateMapper {
@Insert({
"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",
"(#{startTime},#{endTime},#{currency},#{exchangeRate},now(),#{updateTime},#{adminId})"
"(#{startTime},#{endTime},#{currency},#{exchangeRate},now(),#{updateTime},#{adminId},1)"
})
// 获取自增主键
@Options(useGeneratedKeys = true,keyColumn = "rate_id",keyProperty = "rateId")
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);
@ -35,7 +36,7 @@ public interface RateMapper {
"<if test='currency!=null and currency.length>0'>currency=#{currency},</if>",
"<if test='exchangeRate!=null'>exchange_rate=#{exchangeRate},</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>",
"where rate_id = #{rateId}",
"</script>"
@ -43,7 +44,7 @@ public interface RateMapper {
int update(Rate rate);
@Select({
"select rate_id from rate where rate_id=#{rateId}"
"select * from rate where rate_id=#{rateId}"
})
Rate selectById(Integer rateId);
@ -53,7 +54,7 @@ public interface RateMapper {
"FROM rate r",
"LEFT JOIN admin a ON r.admin_id = a.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='startTime != null'>AND r.start_time &gt;= #{startTime}</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='adminId != null'>AND r.admin_id = #{adminId}</if>",
"<if test='updateId != null'>AND r.update_id = #{updateId}</if>",
"</where>",
"</script>"
})

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

@ -26,17 +26,36 @@ public class RateServiceImpl implements RateService {
return rateMapper.insert(rate);
}
//自动软删除数据加更新数据
@Transactional
@Override
@CacheEvict(value = "rate",allEntries = true)
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)
@Override
public void delete(Integer rateId) throws Exception {
public void softDelete(Integer rateId) throws Exception {
int result = rateMapper.deleteById(rateId);
if(result == 0){
throw new Exception("未找到对应的记录,删除失败");
@ -47,11 +66,13 @@ public class RateServiceImpl implements RateService {
public Rate getById(Integer rateId) {
return rateMapper.selectById(rateId);
}
@Cacheable(key="#root.method.name")
@Override
public List<Rate> search(Rate rate) {
return rateMapper.select(rate);
}
@Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #rate.hashCode() ")
@Override
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 {
int add(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);
List<Rate> search(Rate rate);
PageInfo<Rate> searchForPage(Integer pageNum, Integer pageSize, Rate rate);

Loading…
Cancel
Save