Browse Source

10-15 获取汇率中的货币名称列表

lijianlin/feature-202509231533026-现金管理-收款管理
lijianlin 1 month ago
parent
commit
4d3621f8dd
  1. 12
      src/main/java/com/example/demo/controller/coin/RateController.java
  2. 2
      src/main/java/com/example/demo/controller/coin/WorkbenchController.java
  3. 2
      src/main/java/com/example/demo/mapper/coin/RateMapper.java
  4. 4
      src/main/java/com/example/demo/mapper/coin/WorkBenchMapper.java
  5. 4
      src/main/java/com/example/demo/service/coin/RateService.java
  6. 2
      src/main/java/com/example/demo/service/coin/WorkbenchService.java
  7. 6
      src/main/java/com/example/demo/serviceImpl/coin/RateServiceImpl.java
  8. 39
      src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java
  9. 5
      src/main/resources/mapper/RateMapper.xml
  10. 4
      src/main/resources/mapper/WorkBenchMapper.xml

12
src/main/java/com/example/demo/controller/coin/RateController.java

@ -9,10 +9,12 @@ import com.example.demo.service.coin.RateService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.parameters.P;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@ -72,4 +74,14 @@ public class RateController {
return Result.success("编辑成功");
}
//查询货币名称列表
@PostMapping("/listRateName")
public Result listRateName(){
try {
List<Rate> rate= rateService.listRateName();
return Result.success(rate);
} catch (Exception e) {
return Result.error("获取货币列表失败");
}
}
}

2
src/main/java/com/example/demo/controller/coin/WorkbenchController.java

@ -96,7 +96,7 @@ public class WorkbenchController {
@PostMapping("/getTotalRevenue")
public ResponseEntity<WorkbenchCard> getTotalRevenue(@RequestBody WorkbenchCard workbench, @AuthenticationPrincipal Admin admin) {
String account = admin.getAccount();
List<String> markets = workbenchService.getAdminMarket(account);
List<String> markets = workbenchService.getRevenueMarket(account);
workbench.setMarkets(markets);
WorkbenchCard result =workbenchService.getTotalRevenue(workbench.getStartDate(),workbench.getEndDate(),workbench.getMarkets());

2
src/main/java/com/example/demo/mapper/coin/RateMapper.java

@ -15,4 +15,6 @@ public interface RateMapper {
void update(Rate rate);
void add(Rate rate);
//获取货币名称列表
List<Rate> listRateName();
}

4
src/main/java/com/example/demo/mapper/coin/WorkBenchMapper.java

@ -53,4 +53,8 @@ public interface WorkBenchMapper {
List<WorkbenchMarketGraph> getMonthStatistics(@Param("market") String market,
@Param("startDate") LocalDate startDate,
@Param("endDate") LocalDate endDate);
//获取营收信息
List<WorkbenchRevenue> getRevenue( @Param("markets") List<String> markets,
@Param("startDate") Date startDate,
@Param("endDate") Date endDate);
}

4
src/main/java/com/example/demo/service/coin/RateService.java

@ -5,6 +5,8 @@ import com.example.demo.domain.vo.coin.RateDetail;
import com.example.demo.domain.vo.coin.Result;
import com.github.pagehelper.PageInfo;
import java.util.List;
public interface RateService {
PageInfo<RateDetail> selectAll(Integer pageNum, Integer pageSize);
@ -14,4 +16,6 @@ public interface RateService {
void add(Rate rate);
Result update(Rate rate);
//获取货币列表
List<Rate> listRateName();
}

2
src/main/java/com/example/demo/service/coin/WorkbenchService.java

@ -20,6 +20,8 @@ import java.util.List;
public interface WorkbenchService {
//获取用户的地区权限列表
List<String> getAdminMarket(String account) ;
//获取用户的地区收款营收权限列表
List<String> getRevenueMarket(String account) ;
//获取用户的地区权限(字符串)
String getAdminMarket1(String account) ;
//获取不同地区的工作台统计卡片

6
src/main/java/com/example/demo/serviceImpl/coin/RateServiceImpl.java

@ -47,4 +47,10 @@ public class RateServiceImpl implements RateService {
}else {
return Result.success("编辑成功");
}}
//获取货币名称列表
@Override
public List<Rate> listRateName() {
return rateMapper.listRateName();
}
}

39
src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java

@ -90,7 +90,40 @@ public class WorkbenchServiceImpl implements WorkbenchService {
}
}
//获取用户地区权限字符串
@Override
public List<String> getRevenueMarket(String account) {
// 6 个允许出现的地区
final List<String> ALLOW_6 = Arrays.asList(
"新加坡", "马来西亚", "香港", "加拿大", "泰国", "越南HCM");
try {
String market = workBenchMapper.getAdminMarket(account);
if (market == null) { // 数据库没配
return Collections.emptyList();
}
List<String> list = Arrays.asList(market.split(","));
/* 1. 总部 or 研发部 -> 直接返回 6 个完整地区 */
if (list.contains("总部") || "研发部".equals(market)) {
return new ArrayList<>(ALLOW_6);
}
/* 2. 其余情况:只保留在 6 个地区里的 */
List<String> hit = list.stream()
.filter(ALLOW_6::contains)
.collect(Collectors.toList());
/* 3. 如果没有命中,返回空串(空列表) */
return hit.isEmpty() ? Collections.emptyList() : hit;
} catch (Exception e) {
log.error("获取地区权限异常", e);
return Collections.emptyList();
}}
//获取用户地区权限字符串
@Override
public String getAdminMarket1(String account) {
@ -412,6 +445,10 @@ public class WorkbenchServiceImpl implements WorkbenchService {
//获取总营收
@Override
public WorkbenchCard getTotalRevenue(Date startDate, Date endDate, List<String> markets) {
if (markets == null || markets.isEmpty()) {
return new WorkbenchCard(new ArrayList<>(), new ArrayList<>(), markets, startDate, endDate,0,0,new Date());
}
List<WorkbenchRevenue> list = workBenchMapper.getRevenue(markets, startDate, endDate);
return null;
}

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

@ -10,6 +10,11 @@
<select id="selectById" resultType="com.example.demo.domain.entity.Rate">
SELECT * FROM rate WHERE id= #{id}
</select>
<select id="listRateName" resultType="com.example.demo.domain.entity.Rate">
SELECT
id , rate_name rateName
FROM rate
</select>
<update id="update">

4
src/main/resources/mapper/WorkBenchMapper.xml

@ -168,4 +168,8 @@
group by month
order by month
</select>
<!--获取各地区-->
<select id="getRevenue" resultType="com.example.demo.domain.vo.coin.WorkbenchRevenue">
select cr.
</select>
</mapper>
Loading…
Cancel
Save