23 Commits

Author SHA1 Message Date
lihuilin 004ed60472 拉取黄其振代码无报错 11 months ago
lihuilin 47b07b88bb 测试 11 months ago
huangqizhen cb45a66c99 0513lhl改登录报错信息和图片路径 11 months ago
huangqizhen 8a2aea0989 4.29 时间排序 11 months ago
huangqizhen 919f81cabb Merge branch 'refs/heads/ljl' into hqz 11 months ago
huangqizhen 35f6b254ec 4.26 修复工作台 11 months ago
jianlin f3a9264e74 4.27bug修改 明细金币统计,消费明细商品名查询 11 months ago
huangqizhen 6226e2cfd3 Merge branch 'refs/heads/Huang' into hqz 11 months ago
huangqizhen 8f62f0305c 4.26 修复金豆充值明细地区查询页面 11 months ago
jianlin 1f32297c7a 4.26修复bug:商品名称对应错误 11 months ago
jianlin 249c9d8805 4.26修改活动页面查询 11 months ago
huangqizhen 9307b8672a 4.26 新增用户默认加入123密码 11 months ago
huangqizhen 31b27a2fa5 Merge remote-tracking branch 'origin/hqz' into hqz 11 months ago
huangqizhen e0d2073597 4.25 修复bug 11 months ago
jianlin 3ce0e27871 金币bug修改 11 months ago
jianlin be7d1d3392 Merge branch 'hqz' of http://39.101.133.168:8807/yanjiaqing/gold_java into ljl 11 months ago
jianlin ffcefb3547 删除测试readme 12 months ago
jianlin f306abce4d Merge branch 'hqz' of http://39.101.133.168:8807/yanjiaqing/gold_java into ljl 12 months ago
jianlin 49925178c2 恢复测试文件readme 12 months ago
jianlin 00f5f921ca 删除测试文件readme 12 months ago
jianlin f06b8f2ca2 新增测试2 12 months ago
jianlin 75c958d7f9 新增测试1 12 months ago
huangqizhen e4935be7da 后端整合模块 1 year ago
  1. 1
      src/main/java/com/example/demo/controller/ActivityController.java
  2. 4
      src/main/java/com/example/demo/controller/AdminController.java
  3. 9
      src/main/java/com/example/demo/controller/DouController.java
  4. 5
      src/main/java/com/example/demo/controller/ProductController.java
  5. 29
      src/main/java/com/example/demo/domain/dou/Total.java
  6. 1
      src/main/java/com/example/demo/domain/vo/RechargeVo.java
  7. 4
      src/main/java/com/example/demo/mapper/AdminMapper.java
  8. 2
      src/main/java/com/example/demo/mapper/ConsumeMapper.java
  9. 3
      src/main/java/com/example/demo/mapper/ProductMapper.java
  10. 3
      src/main/java/com/example/demo/mapperLink/DouMapper.java
  11. 1
      src/main/java/com/example/demo/mapperPay/PayMapper.java
  12. 10
      src/main/java/com/example/demo/security/SecurityConfig.java
  13. 11
      src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java
  14. 24
      src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java
  15. 2
      src/main/java/com/example/demo/serviceImpl/AuditServiceImpl.java
  16. 2
      src/main/java/com/example/demo/serviceImpl/DetailYServiceImpl.java
  17. 10
      src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java
  18. 2
      src/main/java/com/example/demo/serviceImpl/OtherServiceImpl.java
  19. 5
      src/main/java/com/example/demo/serviceImpl/ProductServiceImpl.java
  20. 3
      src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java
  21. 3
      src/main/java/com/example/demo/sevice/DouService.java
  22. 3
      src/main/java/com/example/demo/sevice/ProductService.java
  23. 3
      src/main/resources/application.yml
  24. 11
      src/main/resources/mapper/ConsumeMapper.xml
  25. 2
      src/main/resources/mapper/DetailYMapper.xml
  26. 87
      src/main/resources/mapper/OneMapper.xml
  27. 5
      src/main/resources/mapper/ProductMapper.xml
  28. 16
      src/main/resources/mapper/StatisticsMapper.xml
  29. 38
      src/main/resources/mapperLink/DouMapper.xml
  30. 8
      src/main/resources/mapperPay/PayMapper.xml
  31. 3
      src/test/java/test.java

1
src/main/java/com/example/demo/controller/ActivityController.java

@ -55,6 +55,7 @@ public class ActivityController {
Integer pageSize=page.getPageSize(); Integer pageSize=page.getPageSize();
Activity activity= page.getActivity(); Activity activity= page.getActivity();
if (ObjectUtils.isEmpty(pageNum)){ if (ObjectUtils.isEmpty(pageNum)){
return Result.success(activityService.search(activity)); return Result.success(activityService.search(activity));
} }
return Result.success(activityService.searchForPage(pageNum,pageSize,activity)); return Result.success(activityService.searchForPage(pageNum,pageSize,activity));

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) {

9
src/main/java/com/example/demo/controller/DouController.java

@ -110,4 +110,13 @@ public class DouController {
public Result SearchPayIp(){ public Result SearchPayIp(){
return Result.success(douService.SearchPayIp()); return Result.success(douService.SearchPayIp());
} }
@RequestMapping("/getTotal")
public Result getTotal(@RequestBody Total total){
return Result.success(douService.getTotal(total));
}
// 获取充值类型填充下拉框现在还没有下拉框好有下拉框了但是它好长
@RequestMapping("/getType")
public Result getType(){
return Result.success(douService.getType());
}
} }

5
src/main/java/com/example/demo/controller/ProductController.java

@ -20,6 +20,11 @@ public class ProductController {
public Result Product(@RequestBody Product product){ public Result Product(@RequestBody Product product){
return Result.success(productService.findAll(product)); return Result.success(productService.findAll(product));
} }
// 所有消费明细---获取商品名
@PostMapping("/findProductName")
public Result getProductName(){
return Result.success(productService.findAllProductName());
}
@PostMapping("/add") @PostMapping("/add")
public Result add(@RequestBody Product product){ public Result add(@RequestBody Product product){
return Result.success(productService.add(product)); return Result.success(productService.add(product));

29
src/main/java/com/example/demo/domain/dou/Total.java

@ -0,0 +1,29 @@
package com.example.demo.domain.dou;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Total {
private String token;
private String jwcode;
private String orderNo;
private String type;
private String ipAddress;
private String deptName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime;
private Integer count;
private Integer price;
}

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);
} }

2
src/main/java/com/example/demo/mapper/ConsumeMapper.java

@ -35,7 +35,7 @@ public interface ConsumeMapper {
"(jwcode,order_code,activity_id,recharge_way,product_id,consume_platform,consume_type,refund_type,refund_goods," + "(jwcode,order_code,activity_id,recharge_way,product_id,consume_platform,consume_type,refund_type,refund_goods," +
"contact_id,remark,recharge_coin,free_coin,task_coin,admin_id,update_type,detail_flag,refund_flag,create_time,first_recharge,`name`,username,area,product_name)", "contact_id,remark,recharge_coin,free_coin,task_coin,admin_id,update_type,detail_flag,refund_flag,create_time,first_recharge,`name`,username,area,product_name)",
"values ", "values ",
"(#{jwcode},#{orderCode},#{activityId},#{rechargeWay},#{productId},'金币系统','购买商品',#{refundType}" +
"(#{jwcode},#{orderCode},#{activityId},#{rechargeWay},#{productId},'4','购买商品',#{refundType}" +
",#{refundGoods},#{contactId},#{remark},#{rechargeCoin}" + ",#{refundGoods},#{contactId},#{remark},#{rechargeCoin}" +
",#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,1,now(),#{firstRecharge},#{name},#{username},#{area},#{productName})" ",#{freeCoin},#{taskCoin},#{adminId},#{updateType},1,1,now(),#{firstRecharge},#{name},#{username},#{area},#{productName})"
}) })

3
src/main/java/com/example/demo/mapper/ProductMapper.java

@ -19,4 +19,7 @@ public interface ProductMapper {
"select * from product" "select * from product"
}) })
public List<Product> findAll(Product product); public List<Product> findAll(Product product);
// 查询消费表的所有商品名称
List<String> findAllProductName();
} }

3
src/main/java/com/example/demo/mapperLink/DouMapper.java

@ -18,6 +18,7 @@ public interface DouMapper {
Integer getSpendTotal(SpendTotal spendTotal); Integer getSpendTotal(SpendTotal spendTotal);
List<Pay> getPay(Pay pay); List<Pay> getPay(Pay pay);
List<String> getPayIp(); List<String> getPayIp();
RechargeTotal getRechargeTotal(RechargeTotal rechargeTotal);
Total getTotal(Total total);
List<String> getType();
} }

1
src/main/java/com/example/demo/mapperPay/PayMapper.java

@ -13,4 +13,5 @@ public interface PayMapper {
List<String> getStyle(); List<String> getStyle();
RechargeTotal getRechargeTotal(RechargeTotal rechargeTotal); RechargeTotal getRechargeTotal(RechargeTotal rechargeTotal);
} }

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();
} }

11
src/main/java/com/example/demo/serviceImpl/ActivityServiceImpl.java

@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -33,8 +34,9 @@ public class ActivityServiceImpl implements ActivityService {
public int add(Activity activity) { public int add(Activity activity) {
return activityMapper.add(activity); return activityMapper.add(activity);
} }
@CacheEvict(value = "activity",allEntries = true)
@Override @Override
@CacheEvict(value = {"activity"}, allEntries = true)
public int edit(Activity activity) { public int edit(Activity activity) {
activity.setActivityFlag(0); activity.setActivityFlag(0);
return activityMapper.edit(activity); return activityMapper.edit(activity);
@ -46,8 +48,9 @@ public class ActivityServiceImpl implements ActivityService {
return activityMapper.select(activity); return activityMapper.select(activity);
} }
@CacheEvict(value = {"activity"}, allEntries = true)
@Override @Override
@Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #activity.hashCode() ")
public PageInfo<Activity> searchForPage(Integer pageNum, Integer pageSize, Activity activity) { public PageInfo<Activity> searchForPage(Integer pageNum, Integer pageSize, Activity activity) {
// PageHelper.startPage(pageNum, pageSize); // PageHelper.startPage(pageNum, pageSize);
// List<Activity> list = activityMapper.select(activity); // List<Activity> list = activityMapper.select(activity);
@ -62,9 +65,9 @@ public class ActivityServiceImpl implements ActivityService {
Date endTime = activity1.getEndTime(); Date endTime = activity1.getEndTime();
// 使用 Date 类的 before after 方法进行比较 // 使用 Date 类的 before after 方法进行比较
if (nowDate.before(startTime)) {
if (startTime != null &&nowDate.before(startTime)) {
activity1.setStatus(0); // 设置状态为 0 activity1.setStatus(0); // 设置状态为 0
} else if (nowDate.after(endTime)) {
} else if (endTime != null &&nowDate.after(endTime)) {
activity1.setStatus(2); // 设置状态为 2 activity1.setStatus(2); // 设置状态为 2
} else { } else {
activity1.setStatus(1); // 设置状态为 1 activity1.setStatus(1); // 设置状态为 1

24
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,11 +88,12 @@ public class AdminServiceImpl implements AdminService {
} }
@Override @Override
public Admin login(Admin admin) throws Exception { public Admin login(Admin admin) throws Exception {
Admin admin1=adminMapper.selectByJwcode(admin.getJwcode());
try {
Admin admin1 = adminMapper.selectByJwcode(admin.getJwcode());
String[] machineIds = admin1.getMachineId().split(","); String[] machineIds = admin1.getMachineId().split(",");
boolean flag = false; boolean flag = false;
for(String machineId:machineIds) {
for (String machineId : machineIds) {
if (admin.getMachineId() != null && admin.getMachineId().equals(machineId)) if (admin.getMachineId() != null && admin.getMachineId().equals(machineId))
flag = true; flag = true;
} }
@ -98,15 +104,21 @@ public class AdminServiceImpl implements AdminService {
System.out.println(admin.getPassword()); System.out.println(admin.getPassword());
UsernamePasswordAuthenticationToken token = UsernamePasswordAuthenticationToken token =
new UsernamePasswordAuthenticationToken(admin.getJwcode(),admin.getPassword()); new UsernamePasswordAuthenticationToken(admin.getJwcode(),admin.getPassword());
try {
Authentication authentication = authenticationManager.authenticate(token); Authentication authentication = authenticationManager.authenticate(token);
Admin loginAdmin = (Admin) authentication.getPrincipal(); Admin loginAdmin = (Admin) authentication.getPrincipal();
return loginAdmin; return loginAdmin;
}catch (BadCredentialsException exception){
throw new BadCredentialsException("用户或密码错误");
}catch (NullPointerException e){
throw new RuntimeException("无此精网号");
}catch(BadCredentialsException exception){
throw new BadCredentialsException("密码错误");
}catch (Exception e){
throw new RuntimeException("你没有使用该机器的权限!");
} }
} }
@Override @Override

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

@ -149,7 +149,7 @@ public class AuditServiceImpl implements AuditService {
GoldTistV2.addCoinNew(jwcode, 64, paidGold.doubleValue()/100, remark, 0, name, "金币充值"); GoldTistV2.addCoinNew(jwcode, 64, paidGold.doubleValue()/100, remark, 0, name, "金币充值");
} }
if(freeGold != null && freeGold.compareTo(BigDecimal.ZERO) != 0) { if(freeGold != null && freeGold.compareTo(BigDecimal.ZERO) != 0) {
GoldTistV2.addCoinNew(jwcode, 63, freeGold.doubleValue()/100, remark, 0, name, "金币充值 ");
GoldTistV2.addCoinNew(jwcode, 63, freeGold.doubleValue()/100, remark, 0, name, "金币充值");
} }
} }
return auditMapper.update(audit); return auditMapper.update(audit);

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);
} }

10
src/main/java/com/example/demo/serviceImpl/DouServiceImpl.java

@ -185,4 +185,14 @@ public class DouServiceImpl implements DouService {
List<Pay> list= payMapper.getPay(pay); List<Pay> list= payMapper.getPay(pay);
return new PageInfo<>(list); return new PageInfo<>(list);
} }
@Override
public Total getTotal(Total total) {
return douMapper.getTotal(total);
}
@Override
public List<String> getType() {
return douMapper.getType();
}
} }

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

@ -98,9 +98,9 @@ public class OtherServiceImpl implements OtherService {
typesToUpdateOne.add("43"); typesToUpdateOne.add("43");
typesToUpdateOne.add("50"); typesToUpdateOne.add("50");
typesToUpdateOne.add("51"); typesToUpdateOne.add("51");
typesToUpdateOne.add("52");
typesToUpdateOne.add("62"); typesToUpdateOne.add("62");
typesToUpdateTwo.add("52");
typesToUpdateTwo.add("55"); typesToUpdateTwo.add("55");
typesToUpdateTwo.add("56"); typesToUpdateTwo.add("56");
typesToUpdateTwo.add("57"); typesToUpdateTwo.add("57");

5
src/main/java/com/example/demo/serviceImpl/ProductServiceImpl.java

@ -32,4 +32,9 @@ public class ProductServiceImpl implements ProductService {
public List<Index> findIndex(Index index) { public List<Index> findIndex(Index index) {
return productMapper.findIndex(index); return productMapper.findIndex(index);
} }
@Override
public List<String> findAllProductName() {
return productMapper.findAllProductName();
}
} }

3
src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java

@ -9,6 +9,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheConfig;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
@ -58,6 +59,8 @@ public class UserServiceImpl implements UserSevice {
if (!ObjectUtils.isEmpty(sUser)){ if (!ObjectUtils.isEmpty(sUser)){
throw new Exception("已存在此用户"); throw new Exception("已存在此用户");
} }
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
user.setPassword(passwordEncoder.encode("123"));
return userMapper.add(user); return userMapper.add(user);
} }

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

@ -27,5 +27,8 @@ public interface DouService {
List<String> SearchStyle(); List<String> SearchStyle();
List<String> SearchPayIp(); List<String> SearchPayIp();
Object SearchPay(Integer pageNum, Integer pageSize, Pay pay); Object SearchPay(Integer pageNum, Integer pageSize, Pay pay);
Total getTotal(Total total);
public List<String> getType();
} }

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

@ -10,4 +10,7 @@ public interface ProductService {
int add(Product product); int add(Product product);
List<Product> findAll(Product product); List<Product> findAll(Product product);
List<Index> findIndex(Index index); List<Index> findIndex(Index index);
//查询 消费表的商品名
List<String> findAllProductName();
} }

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

11
src/main/resources/mapper/ConsumeMapper.xml

@ -10,11 +10,10 @@
sum(recharge_coin) as SumRcion, sum(recharge_coin) as SumRcion,
sum(recharge_coin+free_coin+task_coin) as Sumcion sum(recharge_coin+free_coin+task_coin) as Sumcion
from detail_y from detail_y
left join product on detail_y.product_id= product.product_id
<where> <where>
update_type = '1' update_type = '1'
<if test='jwcode!=null and jwcode.length>0'>and detail_y.jwcode =#{jwcode}</if> <if test='jwcode!=null and jwcode.length>0'>and detail_y.jwcode =#{jwcode}</if>
<if test='productName!=null and productName.length>0'>and product.name = #{productName}</if>
<if test='productName!=null and productName.length>0'>and detail_y.product_name = #{productName}</if>
<if test='consumePlatform!=null and consumePlatform.length>0'>and detail_y.consume_platform=#{consumePlatform}</if> <if test='consumePlatform!=null and consumePlatform.length>0'>and detail_y.consume_platform=#{consumePlatform}</if>
<if test='consumeType!=null and consumeType.length>0'>and detail_y.consume_type= #{consumeType}</if> <if test='consumeType!=null and consumeType.length>0'>and detail_y.consume_type= #{consumeType}</if>
<if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if> <if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if>
@ -30,19 +29,19 @@
<select id="select" resultType="com.example.demo.domain.vo.ConsumeDetail"> <select id="select" resultType="com.example.demo.domain.vo.ConsumeDetail">
SELECT SELECT
detail_y.*, detail_y.*,
admin.name AS adminName,
product.name AS productName
admin.name AS adminName
FROM detail_y FROM detail_y
LEFT JOIN `admin` ON detail_y.admin_id = admin.admin_id LEFT JOIN `admin` ON detail_y.admin_id = admin.admin_id
LEFT JOIN `user` ON detail_y.jwcode = user.jwcode LEFT JOIN `user` ON detail_y.jwcode = user.jwcode
LEFT JOIN product ON detail_y.product_id = product.product_id
<where> <where>
update_type = 1 update_type = 1
<if test='jwcode != null'> <if test='jwcode != null'>
AND detail_y.jwcode = #{jwcode} AND detail_y.jwcode = #{jwcode}
</if> </if>
<if test='productName != null and productName.length > 0'> <if test='productName != null and productName.length > 0'>
AND product.name = #{productName}
AND detail_y.product_name = #{productName}
</if> </if>
<if test='consumePlatform != null and consumePlatform.length > 0'> <if test='consumePlatform != null and consumePlatform.length > 0'>
AND detail_y.consume_platform = #{consumePlatform} AND detail_y.consume_platform = #{consumePlatform}

2
src/main/resources/mapper/DetailYMapper.xml

@ -179,7 +179,7 @@
types; types;
</select> </select>
<select id="getarea" resultType="java.lang.String"> <select id="getarea" resultType="java.lang.String">
SELECT DISTINCT area FROM detail_y
SELECT DISTINCT area FROM detail_y WHERE area IS NOT NULL
</select> </select>
<select id="selectgold" resultType="com.example.demo.domain.vo.DetailYgold"> <select id="selectgold" resultType="com.example.demo.domain.vo.DetailYgold">
SELECT SELECT

87
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)
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 FROM detail_y
WHERE YEAR(create_time) = YEAR(CURDATE())
AND update_type = 0
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 -->

5
src/main/resources/mapper/ProductMapper.xml

@ -10,4 +10,9 @@
<select id="findIndex" resultType="com.example.demo.domain.entity.Index"> <select id="findIndex" resultType="com.example.demo.domain.entity.Index">
SELECT * FROM `index` WHERE type = #{type} SELECT * FROM `index` WHERE type = #{type}
</select> </select>
<!--查询消费表的商品名-->
<select id="findAllProductName" resultType="java.lang.String">
select DISTINCT product_name from detail_y where product_name is not null and update_type = 1
</select>
</mapper> </mapper>

16
src/main/resources/mapper/StatisticsMapper.xml

@ -114,7 +114,7 @@
SUM(free_coin) / 100 AS freeSumCoin, SUM(free_coin) / 100 AS freeSumCoin,
SUM(task_coin) / 100 AS taskSumCoin SUM(task_coin) / 100 AS taskSumCoin
FROM detail_y FROM detail_y
WHERE AND create_time BETWEEN #{searchStartTime} AND #{searchEndTime}
WHERE create_time BETWEEN #{searchStartTime} AND #{searchEndTime}
AND update_type = 1 AND update_type = 1
<if test="areas != null and areas.size > 0"> <if test="areas != null and areas.size > 0">
AND area IN AND area IN
@ -124,4 +124,18 @@
</if> </if>
GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d') GROUP BY DATE_FORMAT(create_time, '%Y-%m-%d')
</select> </select>
<select id="getMediuPayCoinday" resultType="com.example.demo.domain.vo.SumCoin">
SELECT
DATE_FORMAT(create_time, '%Y-%m-%d') AS day,
IFNULL(SUM(recharge_coin) / 100, 0) AS rechargeSumCoin,
IFNULL(SUM(free_coin) / 100, 0) AS freeSumCoin,
IFNULL(SUM(task_coin) / 100, 0) AS taskSumCoin
FROM
detail_y
WHERE
DATE(create_time) = #{searchEndTime}
AND update_type = #{updateType}
GROUP BY
DATE_FORMAT(create_time, '%Y-%m-%d')
</select>
</mapper> </mapper>

38
src/main/resources/mapperLink/DouMapper.xml

@ -106,27 +106,27 @@
<if test="ipAddress != null and ipAddress.length > 0"> <if test="ipAddress != null and ipAddress.length > 0">
AND fm.ip_address = #{ipAddress} AND fm.ip_address = #{ipAddress}
</if> </if>
<if test="sourceName != null and sourceName.length > 0">
AND fy.source_name = #{sourceName}
</if>
<if test="payType != null"> <if test="payType != null">
AND fy.pay_type = #{payType} AND fy.pay_type = #{payType}
</if> </if>
<if test="sourceType != null"> <if test="sourceType != null">
AND fy.source_type = #{good}
AND fy.source_type = #{sourceType}
</if> </if>
<if test="startTime != null and endTime != null"> <if test="startTime != null and endTime != null">
AND FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime} AND FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime}
</if> </if>
) AS subquery ) AS subquery
WHERE 1=1 WHERE 1=1
<if test="room != null and room.length > 0">
AND room LIKE CONCAT('%', #{room}, '%')
<if test="sourceName != null and sourceName.length > 0">
AND room LIKE CONCAT('%', #{sourceName}, '%')
</if> </if>
<choose> <choose>
<when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0"> <when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0">
ORDER BY ${sortField} ${sortOrder} ORDER BY ${sortField} ${sortOrder}
</when> </when>
<otherwise>
ORDER BY createTime DESC
</otherwise>
</choose> </choose>
</select> </select>
<select id="getSpendTotal" resultType="java.lang.Integer"> <select id="getSpendTotal" resultType="java.lang.Integer">
@ -177,10 +177,10 @@
and fy.order_no = #{orderNo} and fy.order_no = #{orderNo}
</if> </if>
<if test="type != null and type.length > 0"> <if test="type != null and type.length > 0">
and type LIKE CONCAT('%', #{type}, '%')
and content LIKE CONCAT('%', #{type}, '%')
</if> </if>
<if test="ipAddress != null and ipAddress.length > 0">
and fm.ip_address = #{ipAddress}
<if test="deptName != null and deptName.length > 0">
and fm.ip_address = #{deptName}
</if> </if>
<if test="startTime != null and endTime != null"> <if test="startTime != null and endTime != null">
and FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime} and FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime}
@ -190,35 +190,41 @@
<when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0"> <when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0">
ORDER BY ${sortField} ${sortOrder} ORDER BY ${sortField} ${sortOrder}
</when> </when>
<otherwise>
ORDER BY fy.`time` DESC
</otherwise>
</choose> </choose>
</select> </select>
<select id="getPayIp" resultType="java.lang.String"> <select id="getPayIp" resultType="java.lang.String">
select DISTINCT ip_address from fx_member WHERE ip_address is not null select DISTINCT ip_address from fx_member WHERE ip_address is not null
</select> </select>
<select id="getRechargeTotal" resultType="com.example.demo.domain.dou.RechargeTotal">
<select id="getTotal" resultType="com.example.demo.domain.dou.Total">
SELECT SELECT
sum(money)/50 as priceTotal,
sum(money) as countTotal
sum(money)/50 as price,
sum(money) as count
from fx_yaoqing_records as fy from fx_yaoqing_records as fy
LEFT JOIN fx_member as fm on fy.uid = fm.id LEFT JOIN fx_member as fm on fy.uid = fm.id
<where> <where>
`data`=0 `data`=0
<if test="jwcode != null">
<if test="jwcode != null and jwcode.length > 0">
and fm.jwcode = #{jwcode} and fm.jwcode = #{jwcode}
</if> </if>
<if test="orderNo != null and orderNo.length > 0"> <if test="orderNo != null and orderNo.length > 0">
and fy.order_no = #{orderNo} and fy.order_no = #{orderNo}
</if> </if>
<if test="type != null and type.length > 0"> <if test="type != null and type.length > 0">
and type LIKE CONCAT('%', #{type}, '%')
and `content` LIKE CONCAT('%', #{type}, '%')
</if> </if>
<if test="ipAddress != null and ipAddress.length > 0">
and fm.ip_address = #{ipAddress}
<if test="deptName != null and deptName.length > 0">
and fm.ip_address = #{deptName}
</if> </if>
<if test="startTime != null and endTime != null"> <if test="startTime != null and endTime != null">
and FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime} and FROM_UNIXTIME(fy.`time`) BETWEEN #{startTime} AND #{endTime}
</if> </if>
</where> </where>
</select> </select>
<select id="getType" resultType="java.lang.String">
SELECT DISTINCT content FROM fx_yaoqing_records
</select>
</mapper> </mapper>

8
src/main/resources/mapperPay/PayMapper.xml

@ -4,7 +4,9 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapperPay.PayMapper"> <mapper namespace="com.example.demo.mapperPay.PayMapper">
<select id="getPay" resultType="com.example.demo.domain.dou.Pay"> <select id="getPay" resultType="com.example.demo.domain.dou.Pay">
SELECT gps.`name` as payStyle,go.jwcode,mi.name,mi.deptName,mi.shopName,go.type,go.order_no,go.price,go.count,gps.`name`,go.success_time from g_order as go
SELECT gps.`name` as payStyle,go.jwcode,mi.name,mi.deptName,mi.shopName,
go.type,go.order_no,go.price,go.count,gps.`name`,go.success_time
from g_order as go
LEFT JOIN member_info as mi on go.jwcode = mi.jwcode LEFT JOIN member_info as mi on go.jwcode = mi.jwcode
LEFT JOIN g_pay_style gps on go.pay_style=gps.id LEFT JOIN g_pay_style gps on go.pay_style=gps.id
<where> <where>
@ -31,6 +33,9 @@ LEFT JOIN member_info as mi on go.jwcode = mi.jwcode
<when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0"> <when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0">
ORDER BY ${sortField} ${sortOrder} ORDER BY ${sortField} ${sortOrder}
</when> </when>
<otherwise>
ORDER BY go.success_time DESC
</otherwise>
</choose> </choose>
</select> </select>
<select id="getPayIp" resultType="java.lang.String"> <select id="getPayIp" resultType="java.lang.String">
@ -45,6 +50,7 @@ LEFT JOIN member_info as mi on go.jwcode = mi.jwcode
sum(count) as countTotal sum(count) as countTotal
FROM g_order as go FROM g_order as go
LEFT JOIN g_pay_style gps on go.pay_style=gps.id LEFT JOIN g_pay_style gps on go.pay_style=gps.id
LEFT JOIN member_info as mi on go.jwcode = mi.jwcode
<where> <where>
<if test="jwcode != null"> <if test="jwcode != null">
and go.jwcode = #{jwcode} and go.jwcode = #{jwcode}

3
src/test/java/test.java

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