184 lines
6.5 KiB
Java
184 lines
6.5 KiB
Java
package com.ruoyi.system.controller;
|
||
|
||
import java.util.Arrays;
|
||
import java.util.Date;
|
||
import java.util.List;
|
||
import javax.servlet.http.HttpServletResponse;
|
||
|
||
import com.alibaba.fastjson2.JSONArray;
|
||
import com.ruoyi.system.ControllerUtil.GenerateCustomCode;
|
||
import com.ruoyi.system.domain.QuoteMaterial;
|
||
import com.ruoyi.system.domain.ServiceCate;
|
||
import com.ruoyi.system.service.IServiceCateService;
|
||
import com.ruoyi.system.service.IServiceGoodsService;
|
||
import org.springframework.security.access.prepost.PreAuthorize;
|
||
import org.springframework.beans.factory.annotation.Autowired;
|
||
import org.springframework.web.bind.annotation.GetMapping;
|
||
import org.springframework.web.bind.annotation.PostMapping;
|
||
import org.springframework.web.bind.annotation.PutMapping;
|
||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||
import org.springframework.web.bind.annotation.PathVariable;
|
||
import org.springframework.web.bind.annotation.RequestBody;
|
||
import org.springframework.web.bind.annotation.RequestMapping;
|
||
import org.springframework.web.bind.annotation.RestController;
|
||
import com.ruoyi.common.annotation.Log;
|
||
import com.ruoyi.common.core.controller.BaseController;
|
||
import com.ruoyi.common.core.domain.AjaxResult;
|
||
import com.ruoyi.common.enums.BusinessType;
|
||
import com.ruoyi.system.domain.UserSecondaryCard;
|
||
import com.ruoyi.system.service.IUserSecondaryCardService;
|
||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||
import com.ruoyi.common.core.page.TableDataInfo;
|
||
|
||
/**
|
||
* 次卡管理Controller
|
||
*
|
||
* @author ruoyi
|
||
* @date 2025-07-02
|
||
*/
|
||
@RestController
|
||
@RequestMapping("/system/UserSecondaryCard")
|
||
public class UserSecondaryCardController extends BaseController
|
||
{
|
||
@Autowired
|
||
private IUserSecondaryCardService userSecondaryCardService;
|
||
|
||
@Autowired
|
||
private IServiceGoodsService serviceGoodsService;
|
||
|
||
@Autowired
|
||
private IServiceCateService serviceCateService;
|
||
|
||
/**
|
||
* 数字转中文工具方法
|
||
*/
|
||
private String numberToChinese(Long num) {
|
||
if (num == null || num <= 0) {
|
||
return "零";
|
||
}
|
||
|
||
String[] chineseNumbers = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"};
|
||
|
||
if (num <= 10) {
|
||
return chineseNumbers[num.intValue()];
|
||
} else if (num < 20) {
|
||
return "十" + (num > 10 ? chineseNumbers[Math.toIntExact((num - 10))] : "");
|
||
} else if (num < 100) {
|
||
long tens = num / 10;
|
||
long ones = num % 10;
|
||
String result = chineseNumbers[(int)tens] + "十";
|
||
if (ones > 0) {
|
||
result += chineseNumbers[(int)ones];
|
||
}
|
||
return result;
|
||
} else {
|
||
// 对于大于100的数字,直接返回阿拉伯数字
|
||
return num.toString();
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 生成introduction字段
|
||
*/
|
||
private String generateIntroduction(Long allnum, Long num) {
|
||
if (allnum == null || num == null) {
|
||
return "";
|
||
}
|
||
|
||
String allnumChinese = numberToChinese(allnum);
|
||
String numChinese = numberToChinese(num);
|
||
|
||
return allnumChinese + "选" + numChinese;
|
||
}
|
||
|
||
/**
|
||
* 查询次卡管理列表
|
||
*/
|
||
@PreAuthorize("@ss.hasPermi('system:UserSecondaryCard:list')")
|
||
@GetMapping("/list")
|
||
public TableDataInfo list(UserSecondaryCard userSecondaryCard)
|
||
{
|
||
startPage();
|
||
List<UserSecondaryCard> list = userSecondaryCardService.selectUserSecondaryCardList(userSecondaryCard);
|
||
JSONArray jsonArray = new JSONArray();
|
||
//JSONArray.parseArray(str);
|
||
for(UserSecondaryCard t:list){
|
||
List<String> idsList = com.alibaba.fastjson2.JSONArray.parseArray(t.getGoodsids(), String.class);
|
||
t.setGoodsname(serviceGoodsService.selectTitlesJSONArrayByIds(idsList));
|
||
ServiceCate serviceCate = serviceCateService.selectServiceCateById(t.getType());
|
||
if(serviceCate!=null){
|
||
t.setTypename(serviceCate.getTitle());
|
||
}
|
||
|
||
}
|
||
return getDataTable(list);
|
||
}
|
||
|
||
/**
|
||
* 导出次卡管理列表
|
||
*/
|
||
@PreAuthorize("@ss.hasPermi('system:UserSecondaryCard:export')")
|
||
@Log(title = "次卡管理", businessType = BusinessType.EXPORT)
|
||
@PostMapping("/export")
|
||
public void export(HttpServletResponse response, UserSecondaryCard userSecondaryCard)
|
||
{
|
||
List<UserSecondaryCard> list = userSecondaryCardService.selectUserSecondaryCardList(userSecondaryCard);
|
||
ExcelUtil<UserSecondaryCard> util = new ExcelUtil<UserSecondaryCard>(UserSecondaryCard.class);
|
||
util.exportExcel(response, list, "次卡管理数据");
|
||
}
|
||
|
||
/**
|
||
* 获取次卡管理详细信息
|
||
*/
|
||
@PreAuthorize("@ss.hasPermi('system:UserSecondaryCard:query')")
|
||
@GetMapping(value = "/{id}")
|
||
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||
{
|
||
return success(userSecondaryCardService.selectUserSecondaryCardById(id));
|
||
}
|
||
|
||
/**
|
||
* 新增次卡管理
|
||
*/
|
||
@PreAuthorize("@ss.hasPermi('system:UserSecondaryCard:add')")
|
||
@Log(title = "次卡管理", businessType = BusinessType.INSERT)
|
||
@PostMapping
|
||
public AjaxResult add(@RequestBody UserSecondaryCard userSecondaryCard)
|
||
{
|
||
userSecondaryCard.setOrderid(GenerateCustomCode.generCreateOrder("CIKA"));
|
||
userSecondaryCard.setCreattime(new Date());
|
||
|
||
// 自动生成introduction字段
|
||
String introduction = generateIntroduction(userSecondaryCard.getAllnum(), userSecondaryCard.getNum());
|
||
userSecondaryCard.setIntroduction(introduction);
|
||
|
||
return toAjax(userSecondaryCardService.insertUserSecondaryCard(userSecondaryCard));
|
||
}
|
||
|
||
/**
|
||
* 修改次卡管理
|
||
*/
|
||
@PreAuthorize("@ss.hasPermi('system:UserSecondaryCard:edit')")
|
||
@Log(title = "次卡管理", businessType = BusinessType.UPDATE)
|
||
@PutMapping
|
||
public AjaxResult edit(@RequestBody UserSecondaryCard userSecondaryCard)
|
||
{
|
||
// 自动生成introduction字段
|
||
String introduction = generateIntroduction(userSecondaryCard.getAllnum(), userSecondaryCard.getNum());
|
||
userSecondaryCard.setIntroduction(introduction);
|
||
|
||
return toAjax(userSecondaryCardService.updateUserSecondaryCard(userSecondaryCard));
|
||
}
|
||
|
||
/**
|
||
* 删除次卡管理
|
||
*/
|
||
@PreAuthorize("@ss.hasPermi('system:UserSecondaryCard:remove')")
|
||
@Log(title = "次卡管理", businessType = BusinessType.DELETE)
|
||
@DeleteMapping("/{ids}")
|
||
public AjaxResult remove(@PathVariable Long[] ids)
|
||
{
|
||
return toAjax(userSecondaryCardService.deleteUserSecondaryCardByIds(ids));
|
||
}
|
||
}
|