Browse Source

0513lhl改登录报错信息和图片路径

hqz
huangqizhen 4 days ago
parent
commit
cb45a66c99
  1. 4
      src/main/java/com/example/demo/controller/AdminController.java
  2. 1
      src/main/java/com/example/demo/domain/vo/RechargeVo.java
  3. 4
      src/main/java/com/example/demo/mapper/AdminMapper.java
  4. 10
      src/main/java/com/example/demo/security/SecurityConfig.java
  5. 56
      src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java
  6. 2
      src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java
  7. 3
      src/main/resources/application.yml
  8. 89
      src/main/resources/mapper/OneMapper.xml
  9. 3
      src/test/java/test.java

4
src/main/java/com/example/demo/controller/AdminController.java

@ -58,13 +58,9 @@ public class AdminController {
@PostMapping("/login") @PostMapping("/login")
public Result login(@RequestBody Admin admin){ public Result login(@RequestBody Admin admin){
try { try {
admin = adminService.login(admin); admin = adminService.login(admin);
String token = JWTUtil.createJWT(admin); String token = JWTUtil.createJWT(admin);
admin.setPassword(null); admin.setPassword(null);
return Result.success(token,admin); return Result.success(token,admin);
} catch (Exception e) { } catch (Exception e) {

1
src/main/java/com/example/demo/domain/vo/RechargeVo.java

@ -24,6 +24,7 @@ public class RechargeVo implements Serializable { // 实现 Serializable 接口
private BigDecimal rechargeGold; private BigDecimal rechargeGold;
private String payWay; private String payWay;
private String rechargeWay; private String rechargeWay;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date rechargeTime; private Date rechargeTime;
private String rechargeVoucher; private String rechargeVoucher;
private Integer adminId; private Integer adminId;

4
src/main/java/com/example/demo/mapper/AdminMapper.java

@ -7,6 +7,8 @@ import org.apache.ibatis.annotations.*;
import java.util.List; import java.util.List;
import static net.sf.jsqlparser.parser.feature.Feature.select;
@Mapper @Mapper
public interface AdminMapper { public interface AdminMapper {
@Insert({ @Insert({
@ -87,4 +89,6 @@ public interface AdminMapper {
}) })
Admin selectByJwcode(String jwcode); Admin selectByJwcode(String jwcode);
@Select({"select jwcode from admin where jwcode=#{jwcode}"})
String checkJwcode(String jwcode);
} }

10
src/main/java/com/example/demo/security/SecurityConfig.java

@ -60,13 +60,16 @@ public class SecurityConfig {
request request
.requestMatchers( HttpMethod.POST, .requestMatchers( HttpMethod.POST,
// 用户不登录就可以访问的路径 // 用户不登录就可以访问的路径
"/admin/login","/upload/**","/detailY/ERP").permitAll()
"/admin/login","/upload/**","/detailY/ERP","/home/java/haiwaiyanfa/gold1/**","/home/java/haiwaiyanfa/**").permitAll()
.requestMatchers( .requestMatchers(
"/error","alipay/**","/upload/**"
"/error","alipay/**","/upload/**","/home/java/haiwaiyanfa/gold1/**","/home/java/haiwaiyanfa/**"
).permitAll() ).permitAll()
.anyRequest().authenticated() // 其它路径必须要登录后才能访问 .anyRequest().authenticated() // 其它路径必须要登录后才能访问
); );
http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); // 然后是TokenFilter http.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class); // 然后是TokenFilter
return http.build(); return http.build();
@ -89,6 +92,9 @@ public class SecurityConfig {
* @return * @return
*/ */
@Bean @Bean
public PasswordEncoder passwordEncoder() { public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder(); return new BCryptPasswordEncoder();
} }

56
src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java

@ -3,6 +3,7 @@ package com.example.demo.serviceImpl;
import com.example.demo.domain.entity.Admin; import com.example.demo.domain.entity.Admin;
import com.example.demo.mapper.AdminMapper; import com.example.demo.mapper.AdminMapper;
import com.example.demo.mapper.UserMapper;
import com.example.demo.security.SecurityConfig; import com.example.demo.security.SecurityConfig;
import com.example.demo.sevice.AdminService; import com.example.demo.sevice.AdminService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -25,6 +26,8 @@ import org.springframework.util.ObjectUtils;
import java.util.List; import java.util.List;
import java.util.Objects;
@Transactional @Transactional
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@ -37,6 +40,8 @@ public class AdminServiceImpl implements AdminService {
private AuthenticationManager authenticationManager; private AuthenticationManager authenticationManager;
@Autowired @Autowired
private PasswordEncoder passwordEncoder; private PasswordEncoder passwordEncoder;
@Autowired
private UserMapper userMapper;
@Override @Override
public int add(Admin admin) { public int add(Admin admin) {
@ -83,30 +88,37 @@ public class AdminServiceImpl implements AdminService {
} }
@Override @Override
public Admin login(Admin admin) throws Exception { public Admin login(Admin admin) throws Exception {
try {
Admin admin1 = adminMapper.selectByJwcode(admin.getJwcode());
String[] machineIds = admin1.getMachineId().split(",");
boolean flag = false;
for (String machineId : machineIds) {
if (admin.getMachineId() != null && admin.getMachineId().equals(machineId))
flag = true;
}
if (!flag) {
throw new RuntimeException("你没有使用该机器的权限!");
}
System.out.println(admin.getJwcode());
System.out.println(admin.getPassword());
UsernamePasswordAuthenticationToken token =
new UsernamePasswordAuthenticationToken(admin.getJwcode(),admin.getPassword());
Authentication authentication = authenticationManager.authenticate(token);
Admin loginAdmin = (Admin) authentication.getPrincipal();
return loginAdmin;
}catch (NullPointerException e){
throw new RuntimeException("无此精网号");
}catch(BadCredentialsException exception){
throw new BadCredentialsException("密码错误");
}catch (Exception e){
throw new RuntimeException("你没有使用该机器的权限!");
}
Admin admin1=adminMapper.selectByJwcode(admin.getJwcode());
String[] machineIds = admin1.getMachineId().split(",");
boolean flag = false;
for(String machineId:machineIds) {
if (admin.getMachineId() != null && admin.getMachineId().equals(machineId))
flag = true;
}
if (!flag) {
throw new RuntimeException("你没有使用该机器的权限!");
}
System.out.println(admin.getJwcode());
System.out.println(admin.getPassword());
UsernamePasswordAuthenticationToken token =
new UsernamePasswordAuthenticationToken(admin.getJwcode(),admin.getPassword());
try {
Authentication authentication = authenticationManager.authenticate(token);
Admin loginAdmin = (Admin) authentication.getPrincipal();
return loginAdmin;
}catch (BadCredentialsException exception){
throw new BadCredentialsException("用户或密码错误");
}
} }
@Override @Override

2
src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java

@ -29,9 +29,9 @@ public class DetailYServiceImpl implements DetailYService {
public int add(DetailY detailY) { public int add(DetailY detailY) {
return detailYMapper.add(detailY); return detailYMapper.add(detailY);
} }
@Cacheable(key = "#root.method.name + ':' + #detailY.hashCode()")
@Override @Override
public DetailY getCount(DetailY detailY) { public DetailY getCount(DetailY detailY) {
return detailYMapper.getCount(detailY); return detailYMapper.getCount(detailY);
} }

3
src/main/resources/application.yml

@ -79,6 +79,9 @@ mybatis:
upload: upload:
path: /home/java/haiwaiyanfa/gold1 path: /home/java/haiwaiyanfa/gold1
server: server:
port: 8080 port: 8080

89
src/main/resources/mapper/OneMapper.xml

@ -87,79 +87,30 @@
<!-- 第二个查询:getTwo --> <!-- 第二个查询:getTwo -->
<select id="getTwo" resultType="com.example.demo.domain.work.Two"> <select id="getTwo" resultType="com.example.demo.domain.work.Two">
SELECT SELECT
COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS totalgold,
COALESCE((SELECT SUM(recharge_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS totalcoin,
COALESCE((SELECT SUM(recharge_coin + free_coin + task_coin)
FROM detail_y
WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS yesterdaytotal,
COALESCE((SELECT SUM(recharge_coin)
FROM detail_y
WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS yesterdayrecharge,
COALESCE((SELECT SUM(recharge_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS rechargegold,
COALESCE((SELECT SUM(free_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>), 0) AS freegold,
COALESCE((SELECT SUM(task_coin)
FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
COALESCE(SUM(CASE WHEN year_flag = 1 THEN total_coin ELSE 0 END), 0) AS totalgold,
COALESCE(SUM(CASE WHEN year_flag = 1 THEN recharge_coin ELSE 0 END), 0) AS totalcoin,
COALESCE(SUM(CASE WHEN yesterday_flag = 1 THEN total_coin ELSE 0 END), 0) AS yesterdaytotal,
COALESCE(SUM(CASE WHEN yesterday_flag = 1 THEN recharge_coin ELSE 0 END), 0) AS yesterdayrecharge,
COALESCE(SUM(CASE WHEN year_flag = 1 THEN recharge_coin ELSE 0 END), 0) AS rechargegold,
COALESCE(SUM(CASE WHEN year_flag = 1 THEN free_coin ELSE 0 END), 0) AS freegold,
COALESCE(SUM(CASE WHEN year_flag = 1 THEN task_coin ELSE 0 END), 0) AS taskgold
FROM (
SELECT
recharge_coin,
free_coin,
task_coin,
recharge_coin + free_coin + task_coin AS total_coin,
YEAR(create_time) = YEAR(CURDATE()) AS year_flag,
DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS yesterday_flag
FROM detail_y
WHERE update_type = 0
<if test="areas != null"> <if test="areas != null">
AND area IN AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")"> <foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
#{area}
</foreach> </foreach>
</if>), 0) AS taskgold
</if>
) AS subquery
</select> </select>
<!-- 第三个查询:getThree --> <!-- 第三个查询:getThree -->

3
src/test/java/test.java

@ -0,0 +1,3 @@
public class test {
}
Loading…
Cancel
Save