提交 4ab56785 authored 作者: zgy's avatar zgy

新增功能

上级 5137565f
......@@ -90,7 +90,7 @@ public class TbCfStationItemController extends ApiBaseAction {
@RequestMapping("/save")
@RequiresPermissions("tbcfstationitem:save")
@ResponseBody
public R save(@RequestBody ItemDescSkus items) throws UnsupportedEncodingException {
public R save(@RequestBody ItemDescSkus items) throws UnsupportedEncodingException {
tbCfStationItemService.save(items);
return R.ok();
}
......@@ -101,7 +101,7 @@ public class TbCfStationItemController extends ApiBaseAction {
@RequestMapping("/update")
@RequiresPermissions("tbcfstationitem:update")
@ResponseBody
public R update(@RequestBody ItemDescSkus items, String itemDesc)throws UnsupportedEncodingException {
public R update(@RequestBody ItemDescSkus items, String itemDesc) throws UnsupportedEncodingException {
tbCfStationItemService.update(items, itemDesc);
return R.ok();
......@@ -167,4 +167,17 @@ public class TbCfStationItemController extends ApiBaseAction {
tbCfStationItemService.changeItemStatus(status, itemIds);
return R.ok();
}
/**
* 导出到Excel
*
* @param
* @return
*/
@RequestMapping("/exportExcel")
@ResponseBody
public R exportExcel() {
tbCfStationItemService.exportExcel();
return R.ok();
}
}
......@@ -2,9 +2,11 @@ package com.platform.dao;
import com.platform.entity.ItemDescSkus;
import com.platform.entity.TbCfStationItemEntity;
import com.platform.entity.TbCfStationItemEntityExtends;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 站点商品Dao
......@@ -14,5 +16,10 @@ import java.util.List;
*/
public interface TbCfStationItemDao extends BaseDao<TbCfStationItemEntity> {
int changeItemStatus(@Param("status") Integer status, @Param("itemIds") String[] itemIds);
List<ItemDescSkus> queryItemInfoById(String itemId);
List<TbCfStationItemEntityExtends> queryByItems();
}
......@@ -3,6 +3,7 @@ package com.platform.service;
import com.platform.entity.ItemDescSkus;
import com.platform.entity.ItemInfo;
import com.platform.entity.TbCfStationItemEntity;
import com.platform.utils.R;
import org.springframework.web.bind.annotation.RequestBody;
import java.io.UnsupportedEncodingException;
......@@ -80,4 +81,11 @@ public interface TbCfStationItemService {
* @return
*/
void changeItemStatus(Integer status,String[] itemIds);
/**
* 导出到Excel
* @param
*/
void exportExcel();
}
......@@ -4,14 +4,17 @@ import com.platform.dao.*;
import com.platform.entity.*;
import com.platform.service.TbCfStationItemService;
import com.platform.utils.IdUtil;
import com.platform.utils.excel.ExcelExport;
import com.platform.utils.util.StringUtil;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.UnsupportedEncodingException;
import java.io.*;
import java.math.BigDecimal;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -296,4 +299,62 @@ public class TbCfStationItemServiceImpl implements TbCfStationItemService {
tbCfCategoryDao.changStatusBatch(itemIds);
tbCfOptionDao.changStatusBatch(itemIds);
}
@Override
public void exportExcel() {
// if (itemIds != null) {
// itemList = tbCfStationItemDao.queryByItems(itemIds);
// } else {
List<TbCfStationItemEntityExtends> itemList = tbCfStationItemDao.queryByItems();
// }
ExcelExport excelExport = new ExcelExport();
List<Object[]> list = new ArrayList<Object[]>();
String status = null;
for (int i = 0; i < itemList.size(); i++) {
List<Object> obj = new ArrayList<Object>();
status = itemList.get(i).getEnableFlag().toString();
if ("1".equals(status)) {
status = "在线销售";
} else {
status = "已下架";
}
obj.add(itemList.get(i).getItemId() == null ? null : itemList.get(i).getItemId());
obj.add(itemList.get(i).getItemImg() == null ? null : itemList.get(i).getItemImg());
obj.add(itemList.get(i).getItemCode() == null ? null : itemList.get(i).getItemCode());
obj.add(itemList.get(i).getItemName() == null ? null : itemList.get(i).getItemName());
obj.add(itemList.get(i).getItemPrice() == null ? null : itemList.get(i).getItemPrice());
obj.add(itemList.get(i).getItemCount() == null ? null : itemList.get(i).getItemCount());
obj.add(itemList.get(i).getItemNum() == null ? null : itemList.get(i).getItemNum());
obj.add(itemList.get(i).getItemCategory() == null ? null : itemList.get(i).getItemCategory());
obj.add(itemList.get(i).getItemCategorytwo() == null ? null : itemList.get(i).getItemCategorytwo());
obj.add(itemList.get(i).getItemDescritionId() == null ? null : itemList.get(i).getItemDescritionId());
obj.add(itemList.get(i).getEnableFlag() == null ? null : status);
obj.add(itemList.get(i).getCreateTime() == null ? null : itemList.get(i).getCreateTime());
obj.add(itemList.get(i).getItemDesc() == null ? null : itemList.get(i).getItemDesc());
list.add(obj.toArray());
}
String[] header = new String[]{"商品ID", "商品图片", "商品编号", "商品名称", "商品价格", "商品库存",
"点击量", "一级分类", "二级分类", "商品品名", "状态", "创建时间", "商品详情"};
excelExport.addSheetByArray("商品信息", list, header);
OutputStream fis;
try {
fis = new FileOutputStream("D:\\product.xlsx");
excelExport.getWorkbook().write(fis);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
......@@ -52,7 +52,25 @@
from tb_cf_station_item i left join tb_cf_item_desc d on i.item_id=d.item_id
where i.item_id = #{id}
</select>
<select id="queryByItems" resultType="com.platform.entity.TbCfStationItemEntityExtends">
select
i.item_id,
`item_img`,
`item_code`,
`item_name`,
`item_price`,
`item_count`,
`item_num`,
`item_category`,
`item_categorytwo`,
`item_descrition_id`,
`enable_flag`,
i.create_time,
item_desc itemDesc
from tb_cf_station_item i left join tb_cf_item_desc d on i.item_id=d.item_id
where
i.enable_flag!=0
</select>
<select id="queryList" resultType="com.platform.entity.TbCfStationItemEntityExtends">
SELECT
i.item_id,
......
......@@ -173,7 +173,6 @@
<i-select v-model="q.status" @on-enter="query" placeholder="商品状态" style="width:160px">
<i-option value="1">在线销售</i-option>
<i-option value="2">已下架</i-option>
<i-option value="0">已删除</i-option>
</i-select>
</span>
</div>
......@@ -211,7 +210,6 @@
<i-button type="info" @click="export"><i class="fa fa-chevron-down"></i>&nbsp;导出
</i-button>
#end-->
#if($shiro.hasPermission("tbcfstationitem:delete"))
<i-button type="error" @click="changeItemStatus(0)"><i class="fa fa-trash-o"></i>&nbsp;删除</i-button>
#end
......@@ -301,7 +299,7 @@
<!-- 选项 -->
<section class="form-wrapper">
<h4>选项</h4>
<section class="default-price" >
<section class="default-price">
<h4>设置默认价格与库存
<i-switch v-model="setDefaultValue" :disabled="disabled">
<Icon type="md-checkmark"></Icon>
......
......@@ -58,7 +58,8 @@ var vm = new Vue({
if (ids == null) {
return;
}
console.log(1,ids)
console.log(2,JSON.stringify(ids))
confirm('确定要删除选中的记录?', function () {
Ajax.request({
url: "../sys/config/delete",
......
......@@ -243,10 +243,16 @@ let vm = new Vue({
},
export: function () {
let itemIds = getSelectedRows("#jqGrid");
if (itemIds == null) {
return;
}
Ajax.request({
url: "../tbcfstationitem/exportExcel/",
async: false,
type: "POST",
contentType: "application/json",
successCallback: function (resultData) {
// console.log(resultData);
iview.Message.success(resultData.success);
}
});
},
reload: function (event) {
......
......@@ -22,8 +22,10 @@
<jackson.version>2.5.0</jackson.version>
<poi.version>3.15</poi.version>
<yunpian-version>1.2.7</yunpian-version>
</properties>
<dependencies>
<!-- excel工具 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
......
package com.platform.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 自定义导出Excel数据注解
*
* @author ruoyi
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Excel
{
/**
* 导出到Excel中的名字.
*/
public String name() default "";
/**
* 日期格式, 如: yyyy-MM-dd
*/
public String dateFormat() default "";
/**
* 读取内容转表达式 (如: 0=男,1=女,2=未知)
*/
public String readConverterExp() default "";
/**
* 导出类型(0数字 1字符串)
*/
public ColumnType cellType() default ColumnType.STRING;
/**
* 导出时在excel中每个列的高度 单位为字符
*/
public double height() default 14;
/**
* 导出时在excel中每个列的宽 单位为字符
*/
public double width() default 16;
/**
* 文字后缀,如% 90 变成90%
*/
public String suffix() default "";
/**
* 当值为空时,字段的默认值
*/
public String defaultValue() default "";
/**
* 提示信息
*/
public String prompt() default "";
/**
* 设置只能选择不能输入的列内容.
*/
public String[] combo() default {};
/**
* 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写.
*/
public boolean isExport() default true;
/**
* 另一个类中的属性名称,支持多级获取,以小数点隔开
*/
public String targetAttr() default "";
/**
* 字段类型(0:导出导入;1:仅导出;2:仅导入)
*/
Type type() default Type.ALL;
public enum Type
{
ALL(0), EXPORT(1), IMPORT(2);
private final int value;
Type(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
public enum ColumnType
{
NUMERIC(0), STRING(1);
private final int value;
ColumnType(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论