javacodeadmin/ruoyi-system/src/main/java/com/ruoyi/system/controller/UserSecondaryCardController...

184 lines
6.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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